NLP入门:分词化与词表映射详解

分词化(Tokenization )与词表映射

一、什么是分词化?

Tokenization 是 NLP 中将文本切分为最小处理单元(token)的过程,是所有语言模型的第一步。

🌰 示例:

  • 原始句子:I want to study ACA.
  • 分词后:['I', 'want', 'to', 'study', 'ACA', '.']

二、三种主流分词粒度

类型 说明 适用场景 优点 缺点
词粒度(Word-Level) 按完整单词切分 英文等空格分隔语言 精确、直观 词汇表大,无法处理未登录词(OOV)
字符粒度(Character-Level) 按单个字符切分 中文、日文等无空格语言 无需分词器,支持任意字符 信息冗余,序列过长
子词粒度(Subword-Level) 按词根/前缀/后缀切分 多语言通用,尤其适合新词 平衡灵活性与效率,支持 OOV 切分规则复杂(如 BPE、WordPiece)

💡 当前主流大模型(如 GPT、BERT、Qwen)都使用 Subword-Level 分词(如 Byte Pair Encoding, BPE)。


三、词表映射(Token → ID)

  • 每个 token 通过 预定义词表(Vocabulary) 映射为唯一的 token ID
  • 例如:
    • 'I'40
    • 'ACA'64938
    • '.'13
  • 最终输入模型的是一个整数列表(ID 序列),而不是原始文本

✅ 这一步是 从自然语言到数学向量的桥梁


四、为什么需要分词化?

  1. 标准化输入:统一格式,便于模型处理
  2. 降低维度:避免直接处理海量字符
  3. 支持泛化:子词方法能处理新词(如 "AI"、"ChatGPT")
  4. 提升效率:减少训练和推理时间

五、常见分词算法

算法 特点
BPE(Byte Pair Encoding) 从字符开始,逐步合并常见字符对,形成子词
WordPiece Google 提出,类似 BPE,但优先选择概率更高的组合
SentencePiece 支持无空格语言(如中文),可同时处理中英文

🌐 Qwen、GPT、LLaMA 等模型均采用基于 BPE 或 WordPiece 的分词器。


六、图示解读

  • 左侧:展示分词后的 token 列表
  • 右侧:展示每个 token 对应的 ID(来自预训练词表)
  • 关键点:同一个 token 在不同模型中可能对应不同 ID

✅ 总结:分词化的意义

分词化 = 把人类语言变成机器能理解的"数字代码"

它是 NLP 的"第一步",决定了模型能否准确理解文本。

大语言模型生成文本的过程

一、核心原理:自回归生成(Autoregressive Generation)

"一步一步来" ------ 每次只生成一个 token,将其加入上下文,再生成下一个。

✅ 流程图解:


二、关键概念详解

概念 说明
Token 文本的基本单位(如单词、子词)
概率分布 模型为每个可能的 next token 计算出现的概率
采样策略 如何从概率分布中选择 token: • 贪心搜索(Greedy Search)→ 总选最高概率 • 拓展采样(Sampling)→ 按概率随机选 • Top-k / Top-p(Nucleus Sampling)→ 限制候选范围
(End of Sentence) 特殊 token,表示句子结束,触发停止生成
最大长度(Max Length) 设置输出的最大 token 数,防止无限生成

三、为什么叫"自回归"?

"自" = 自己;"回归" = 回溯

即:模型不断用自己之前生成的内容作为输入,来推断下一步

✅ 类比:就像写作文,你先写一句,再根据这句话想下一句,一直写下去。


四、模型内部机制(以 Transformer 为例)

  1. 输入编码:将 token 转为 embedding 向量
  2. 位置编码:加入顺序信息(因为 Transformer 无顺序感知)
  3. 自注意力机制:关注所有历史 token 的相关性
  4. 输出层:生成每个 token 的概率分布

💡 这个过程在训练时也一样:模型学习"给定前面的词,下一个词是什么"。


五、实际应用中的控制参数

参数 作用
temperature 控制随机性: • 低(0.1)→ 更确定,保守 • 高(1.0)→ 更创意,可能离谱
top_k 仅从概率最高的 k 个 token 中采样
top_p 累计概率超过 p 的 token 才参与采样(核采样)
max_tokens 最大生成长度

🛠 示例:temperature=0.7, top_p=0.9 是常见平衡设置


六、图示解读

  • 第一步 :模型看到 very,推测接下来可能是"informative"(50%),所以加进去。
  • 第二步 :现在有 informative,推测接下来是"course"(73%),继续添加。
  • 循环 :持续进行,直到遇到 <EOS> 或长度超限。

✅ 总结:大语言模型是如何"思考"的?

大模型不是一次性生成整句话,而是像人一样"逐字思考"

它不断地问:"在已有内容的基础上,下一个最可能的词是什么?"

然后一步步拼出完整的回答。

相关推荐
2501_9449347331 分钟前
大专大数据管理与应用专业,怎么自学数据治理相关知识?
人工智能
芷栀夏32 分钟前
CANN ops-math:从矩阵运算到数值计算的全维度硬件适配与效率提升实践
人工智能·神经网络·线性代数·矩阵·cann
Yuer202540 分钟前
为什么说在真正的合规体系里,“智能”是最不重要的指标之一。
人工智能·edca os·可控ai
一切尽在,你来41 分钟前
1.4 LangChain 1.2.7 核心架构概览
人工智能·langchain·ai编程
爱吃大芒果44 分钟前
CANN ops-nn 算子开发指南:NPU 端神经网络计算加速实战
人工智能·深度学习·神经网络
聆风吟º1 小时前
CANN ops-nn 实战指南:异构计算场景中神经网络算子的调用、调优与扩展技巧
人工智能·深度学习·神经网络·cann
2601_949593651 小时前
CANN加速人脸检测推理:多尺度特征金字塔与锚框优化
人工智能
小刘的大模型笔记1 小时前
大模型LoRA微调全实战:普通电脑落地,附避坑手册
人工智能·电脑
乾元1 小时前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构
happyprince1 小时前
2026年02月07日全球AI前沿动态
人工智能