Einfach erklärt
Methoden, wie Text zerlegt wird – Tokenization zerlegt Text in kleine Bausteine (Tokens), damit ein Modell damit rechnen kann. Tokens können Wörter, Wortstücke (Subwords) oder sogar Zeichen/Bytes sein.
Kurz: Text → kleine Teile → damit rechnet das Modell.
Ganz einfache Beispiele (mit Alltagsbildern)
• Satz in Wörter schneiden: „Ich liebe Pizza.“ → [Ich] [liebe] [Pizza] [.]
Wie Wort‑Kärtchen beim Sprachenlernen.
• Lange, seltene Wörter zerbröseln (Subwords): „Hochgeschwindigkeitszug“ → [Hoch] [geschwindigkeits] [zug].
Wie ein Lego‑Set: Große Teile, die man bei Bedarf in kleinere zerlegt – so kann das Modell auch seltene Wörter verstehen.
• Zeichen/Byte‑Ebene: „café“ → [c] [a] [f] [é] oder als Bytes.
Wie Puzzleteile ganz kleiner Größe – passt immer, auch bei Emojis/Sprachen ohne Leerzeichen.
Professionelle Definition (verständlich)
Tokenization ist der Schritt, der eine Zeichenfolge in eine Folge diskreter Einheiten x = (t₁, …, tₙ) überführt, auf die das Modell Embedding‑Vektoren legt. Häufige Verfahren:
- Whitespace/Regel‑basiert: Trennung an Leerzeichen/Zeichenklassen. Einfach, aber bei Sprachen ohne Leerzeichen (Chinesisch) und bei Komposita heikel.
- Subword‑Verfahren: Balance zwischen Wort und Zeichen – reduziert Out‑of‑Vocabulary (OOV).
• BPE (Byte‑Pair Encoding): Häufige Zeichen‑/Subword‑Paare werden zusammengelegt zu größeren Einheiten.
• WordPiece: Wie BPE, aber mit wahrscheinlichkeitsbasiertem Kriterium; genutzt in BERT.
• Unigram LM (SentencePiece): Startet mit großem Vokabular und löscht Einheiten, um die Wahrscheinlichkeit der Trainingsdaten zu maximieren. - Byte‑/Char‑Level: Jedes Byte/Zeichen ist ein Token (z. B. Byte‑BPE, tiktoken). Robust gegenüber Unicode/Emoji, einfache Detokenisierung.
Normalisierung & Vorverarbeitung: Kleinschreibung, Unicode‑NFKC, Entfernen/Ersetzen spezieller Zeichen, Akzent‑Behandlung, Vor/Nach‑Leerzeichen. Tools wie SentencePiece kapseln das (selbst ohne Leerzeichen zuverlässig).
Wahl des Vokabulars: Größe (z. B. 32k–100k Tokens) beeinflusst Sequenzlänge, Speicher und OOV‑Robustheit. Multilinguale Modelle brauchen oft größere oder gemeinsame Vokabulare.
Praxis‑Tipps (einfach)
- Deutsch/Komposita: Subword‑Tokenization (BPE/WordPiece/Unigram) vermeiden OOV‑Probleme bei langen Wörtern.
- Viele Sprachen/Emoji: Byte‑/Unigram‑basierte Tokenizer (SentencePiece, Byte‑BPE) sind robust.
- Reproduzierbarkeit: Den gleichen Tokenizer + Vokabular im Training und in der Anwendung nutzen.
- Max‑Länge beachten: Token‑Grenzen bestimmen, wie lang Eingaben sein dürfen; bei zu langen Texten: Chunking (überlappende Abschnitte).
- Detokenisierung testen: Sicherstellen, dass sich Text wieder sauber zusammensetzen lässt (wichtiger für Maße wie BLEU/ROUGE oder für User‑Ausgaben).
Quellen
- Sennrich, Haddow, Birch (2016) – Neural Machine Translation of Rare Words with Subword Units (BPE)
https://arxiv.org/abs/1508.07909 - Kudo & Richardson (2018) – SentencePiece: A simple and language independent subword tokenizer
https://arxiv.org/abs/1808.06226 - Kudo (2018) – Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates
https://arxiv.org/abs/1804.10959 - Devlin et al. (2019) – BERT: Pre-training of Deep Bidirectional Transformers (WordPiece)
https://arxiv.org/abs/1810.04805 - OpenAI – tiktoken (Byte‑Level/BPE Tokenizer)
https://github.com/openai/tiktoken - Stanford CS224N – Word Vectors & Subword Models (Lecture notes)
http://web.stanford.edu/class/cs224n/