WordPiece

WordPiece er en tokniseringsteknik, der opdeler ord i hyppige underordsekvenser ved at lære et vokabular af subword-enheder.

Kort fortalt

En metode til at opdele ord i mindre, genkendelige stykker, som maskinel indlæring bedre kan håndtere.

Kategori
teknik
Niveau
øvet
Udtale
/ˈwɜːrd piːs/

Betydninger

1
  1. 1

    En underord-tokniseringsteknik, der opdeler ord i mindre enheder ved at lære et vokabular baseret på hyppighed og sandsynlighed for subordsekvenser.

    • BERT anvender WordPiece-toknisering til at opdele 'unaffable' i ['un', '##aff', '##able'].
    • Ordet 'chatbot' tokeniseres som ['chat', '##bot'] med WordPiece.

Hvornår bruges det

WordPiece bruges typisk i præ-træning af sprogmodeller som BERT, hvor den segmenterer sjældne ord i underenheder og dermed reducerer antallet af out-of-vocabulary tokens. Den anvendes ofte sammen med en tilføjelse af specialtokens som [CLS] og [SEP].

Kodeeksempel

from tokenizers import Tokenizer
from tokenizers.models import WordPiece
from tokenizers.trainers import BpeTrainer

tokenizer = Tokenizer(WordPiece(unk_token="[UNK]"))
trainer = BpeTrainer(special_tokens=["[UNK]", "[CLS]", "[SEP]", "[PAD]", "[MASK]"])
files = ["data.txt"]
tokenizer.train(files, trainer)

Eksempel på træning af en WordPiece-tokenizer med tokenizers-biblioteket.

Oprindelse

Udviklet hos Google i 2015 til maskinoversættelse, inspireret af Byte-Pair Encoding (BPE).

Afledte ord

1

Kilder

2
  • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  • Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation