Token Vocab(词汇表/词典)
Token Vocab 是 NLP(自然语言处理)和大语言模型中的核心概念,指的是分词器(Tokenizer)所使用的词汇表。
基本概念
模型不能直接理解文字,需要先把文本切分成一个个 Token,再将每个 Token 映射为一个整数 ID。Vocab 就是这张Token ↔ ID 的对照表。
"Hello, world!"
→ ["Hello", ",", " world", "!"] # 分词
→ [15496, 11, 995, 0] # 映射为 ID
Vocab 的构成方式
关键参数
Vocab Size(词汇表大小):常见值如 32K、50K、128K 等。越大覆盖越广,但模型嵌入层参数也越多。
Special Tokens:如
[PAD]、[UNK]、[BOS]、[EOS],有特殊语义。OOV(Out-of-Vocabulary):遇到词汇表之外的词,BPE/子词方法通过拆分子词来规避此问题。
实际使用示例(HuggingFace)
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
# 查看词汇表大小
print(tokenizer.vocab_size) # 30522
# 查看某个词的 ID
print(tokenizer.vocab["hello"]) # 7592
# 获取完整词汇表
vocab = tokenizer.get_vocab() # dict: token -> id
你是在哪个场景下接触到 token-vocab 的?是训练模型、调试分词器,还是其他用途?可以给你更具体的解答。