11.2.1 表示学习路线图:用向量表达语义
表示学习关心的是:文本如何变成带语义的数字,而不仅仅是编号。
表示方法为什么不断演进
Section titled “表示方法为什么不断演进”文本表示的历史可以理解为:从“认出词是谁”,逐步走向“理解词在当前语境里是什么意思”。
| 表示阶段 | 能解决什么 | 主要局限 |
|---|---|---|
| one-hot / 词表 id | 区分不同 token 的身份 | 看不出相似词接近 |
| BoW / TF-IDF | 把文本变成传统模型可用特征,突出区分性词 | 顺序和上下文弱 |
| 静态词向量 | 相似词距离更近,适合相似度和迁移 | 一词多义处理差 |
| 上下文化表示 | 同一个词在不同句子里可以有不同向量 | 需要更大模型和更多计算 |
| 语言模型表示 | 用预测任务学习更广泛语言模式 | 仍要配合任务定义、评估和安全边界 |
这就是为什么本节不只讲“怎么把文本转数字”,还要比较每种表示保留了什么、丢掉了什么。表示方式一变,分类、检索、RAG 和抽取的效果都会跟着变。
先看表示路径
Section titled “先看表示路径”


这条路径从稀疏词身份,到词向量,到上下文向量,再到学习更广泛语言模式的语言模型。
跑一个相似度检查
Section titled “跑一个相似度检查”vectors = { "cat": [1.0, 0.8], "dog": [0.9, 0.7], "car": [0.1, 0.2],}
def dot(a, b): return sum(x * y for x, y in zip(a, b))
print("cat_dog:", round(dot(vectors["cat"], vectors["dog"]), 2))print("cat_car:", round(dot(vectors["cat"], vectors["car"]), 2))预期输出:
cat_dog: 1.46cat_car: 0.26这是玩具分数,但体现了核心思想:语义接近的文本,应该更容易被模型比较。
按这个顺序学
Section titled “按这个顺序学”| 步骤 | 阅读 | 实操产出 |
|---|---|---|
| 1 | 词向量 | 解释语义接近等于向量接近 |
| 2 | 上下文化表示 | 解释同一个词为什么会有不同含义 |
| 3 | 语言模型 | 把表示学习连接到 next-token 或 masked prediction |
如果你能比较稀疏特征、词向量和上下文向量,并解释表示质量为什么影响分类、检索和 RAG,就通过了本章。
检查思路与讲解
- 合格答案要从文本单元和输出类型说起:token、span、句子标签、序列、embedding 或生成文本。
- 证据应包含小样本、模型或 pipeline 选择、评价指标,以及至少一个被检查过的错误案例。
- 自检时要能区分预处理问题和模型问题,例如分词错误、标签歧义、数据不平衡或生成幻觉。
学完这一页,至少保留这张证据卡:
- 表示
- BoW、TF-IDF、静态 embedding、上下文 embedding,或语言模型分数
- 比较
- 最近文本、相似度分数或下一 token/log-prob 风格输出
- 解释
- 该表示捕捉了什么,以及遗漏了什么
- 失败检查
- 一词多义、领域不匹配、文本过短、分词问题或语义漂移
- 期望产出
- 至少有一个意外结果的小型对比表