Natural Language Processing · free preview
Subword Tokenization with Byte-Pair Encoding
Why vocabularies settle between words and characters, how Unicode text becomes bytes, and how byte-pair encoding learns merges and encodes new words.
1. Subword Tokenization with Byte-Pair Encoding
Subword Tokenization with Byte-Pair Encoding
2. BPE learns merges from counted pairs
BPE learns merges from counted pairs
3. Training and applying a BPE tokenizer
Training and applying a BPE tokenizer
4. The first BPE merge
A BPE trainer runs on this word-frequency corpus (each word ends with the end-of-word marker _): hared (x2), hars (x4), tideed (x2), tides (x6).
Which adjacent symbol pair is merged first?
5. UTF-8 byte length
How many bytes does UTF-8 use to encode the single character 日?
6. Effect of the first merge
Starting from the same corpus (hared (x2), hars (x4), tideed (x2), tides (x6), with the end-of-word marker _), the trainer performs the first merge s+_. After this merge, across all words in the corpus, in how many token positions does the new symbol s_ occur? (Weight each word by its frequency.)
7. Encoding after early merges
BPE is trained on (hared (x2), hars (x4), tideed (x2), tides (x6), end-of-word marker _) for exactly 5 merges, producing the ordered merge list ['s+_', 't+i', 'ti+d', 'tid+e', 'h+a'].
Encoding replays the merges in order. Write the resulting tokenization of the word "tides" as symbols joined with + (include the end-of-word marker _ as its own symbol if it stands alone).
8. Encoding an unseen word
With the same trained merge list ['s+_', 't+i', 'ti+d', 'tid+e', 'h+a'], encode the word "harnt", which never appeared in the training corpus.
Practice this interactively
Free account · instant grading · spaced review that schedules itself.
Start this course for free