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. 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

4

Kilder

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)