subword-token-algoritme
En algoritme der deler ord i underenheder (subwords) for at håndtere ukendte ord og begrænse ordforrådsstørrelse i sprogmodeller.
Kort fortalt
En metode til at dele ord op i mindre dele, så en sprogmodel kan forstå ord den ikke har set før.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
En metode til at segmentere tekst i enheder mindre end ord, typisk baseret på frekvens eller sandsynlighed, for at opnå et balanceret ordforråd mellem fleksibilitet og effektivitet.
- BERT anvender WordPiece-algoritmen til subword-tokenisering. — Devlin et al., 2019
- Subword-token-algoritmer som BPE reducerer antallet af ukendte tokens betydeligt. — Sennrich et al., 2016
Hvornår bruges det
Bruges primært i fortræning af transformer-baserede sprogmodeller som BERT og GPT for at opnå et kompakt ordforråd og håndtere sjældne ord. Algoritmen bestemmer, hvilke subwords der er mest effektive til at repræsentere teksten.
Kodeeksempel
from tokenizers import Tokenizer, models, trainers
tokenizer = Tokenizer(models.BPE())
trainer = trainers.BpeTrainer(vocab_size=30000)
tokenizer.train(["corpus.txt"], trainer)Eksempel på træning af en BPE-subword-token-algoritme med Hugging Face tokenizers.
Oprindelse
Subword-token-algoritmer vandt frem med Byte-Pair Encoding (BPE) introduceret af Sennrich et al. (2016) og senere populariseret af SentencePiece og WordPiece.
Kilder
2- Neural Machine Translation of Rare Words with Subword Units (Sennrich et al., 2016)
- BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Devlin et al., 2019)