Subword-tokenisering
Subword-tokenisering er en metode til at opdele ord i mindre meningsfulde enheder, så modellen kan håndtere ord, den ikke har set før.
Kort fortalt
I stedet for at have et ord for hvert ord, lærer modellen at genkende dele af ord, så den kan forstå nye ord ved at sætte delene sammen.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Teknik inden for naturlig sprogbehandling, hvor ord opdeles i mindre enheder (subwords) for at håndtere ukendte ord og reducere vokabularstørrelsen. Almindelige algoritmer omfatter BPE, WordPiece, Unigram og SentencePiece.
- Subword-tokenisering med BPE-algoritmen opdeler ord som 'løbende' i ['løb', 'ende'].
Hvornår bruges det
Subword-tokenisering anvendes i moderne sprogmodeller som GPT, BERT og T5 for at opnå et kompakt vokabular samtidig med at sjældne og ukendte ord dækkes. Det er standard i de fleste neural netværksbaserede NLP-systemer.
Kodeeksempel
from tokenizers import Tokenizer, models
# Initialize a BPE tokenizer
tokenizer = Tokenizer(models.BPE())
# Train on a list of texts
tokenizer.train(["Hello, how are you?", "I'm fine, thanks."])
# Encode a sentence
output = tokenizer.encode("Hello, world!")
print(output.tokens())Træning af en BPE-tokenizer med tokenizers-biblioteket og encode af en sætning.
Oprindelse
Fra engelsk 'subword tokenization', sammensat af 'sub-' (under-) og 'word' (ord) samt 'tokenization' (tokenisering).
Afledte ord
4Kilder
3- BPE: Neural Machine Translation of Rare Words with Subword Units (Sennrich et al., 2016)
- WordPiece: Japanese and Korean Voice Search (Schuster & Nakajima, 2012)
- SentencePiece: A simple and language independent subword tokenizer and detokenizer (Kudo & Richardson, 2018)