๐Ÿงญ Roadmap
Difficultyโญโญโญ / 5 โฑ Read time60 minutes tokenizationmultilingualunicode

๐ŸŒ Multilingual Tokenization Challenges

๐ŸŽฏ Common Challenges

1. No Word Boundaries (Chinese, Japanese, Thai)

Chinese: "ไฝ ๅฅฝไธ–็•Œ" โ†’ No spaces!
Solution: Character-level or SentencePiece

2. Right-to-Left Text (Arabic, Hebrew)

Arabic: "ู…ุฑุญุจุง" โ†’ RTL direction
Solution: Bidirectional-aware tokenizers

3. Combining Characters (Indic Scripts)

Hindi: "เคจเคฎเคธเฅเคคเฅ‡" โ†’ Complex character combinations
Solution: Unicode normalization (NFC)

๐Ÿ’ป Best Practices

import unicodedata
from transformers import AutoTokenizer

# 1. Always normalize Unicode
text = unicodedata.normalize('NFC', text)

# 2. Use multilingual tokenizers
tokenizer = AutoTokenizer.from_pretrained("xlm-roberta-base")

# 3. Test with real data
texts = ["Hello", "ไฝ ๅฅฝ", "ู…ุฑุญุจุง", "เคจเคฎเคธเฅเคคเฅ‡"]
for t in texts:
    tokens = tokenizer.tokenize(t)
    print(f"{t} โ†’ {tokens}")
๐Ÿ”— Related Concepts

Next: 01 BUILD Tokenizer - Build your own tokenizer