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