我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。
首先我們先匯入文本,下面程式載入一個包含法國哲學家、科學家和數學家笛卡爾所寫內容的檔案:
!curl -L https://raw.githubusercontent.com/Denis2054/Transformers-for-NLP-and-Computer-Vision-3rd-Edition/master/Chapter11/Descartes.txt --output "Descartes.txt"
然後我們讀取檔案並替換換行控制符 \n,得到一個連續的字串:
with open('Descartes.txt', 'r', encoding = 'utf-8') as file:
descartes_book = file.read().replace('\n', '')
我們將使用 Word Tokenizer,Byte-Level Tokenizer 在 Bytes 層級上運行,而 NLTK 中的 word_tokenize 函數將 Text 為 Word,兩種方法都有不同的目的,並在不同的語言粒度級別上運行:
from nltk.tokenize import word_tokenize
import nltk
nltk.download('punkt_tab')
tokens = word_tokenize(descartes_book)