跳转至

P1-13.1 把文本(text)表示为向量(vector)意味着什么

Section ID: P1-13.1 Version: v2026.07.20

在第 12 章中,我们已经看过如何通过提示词(prompt)向 LLM 给出任务条件,也看到了仅靠提示词难以保证事实性(factuality)、依据性(evidence)与最新性(recency)。

于是自然会出现下一个问题:LLM 要怎样找到可以参考的外部资料?

要进入这个问题,首先需要理解文本是如何被转换成可计算形式的。这个起点就是嵌入(embedding)。

嵌入是一种把文本转换成模型可计算的向量表示(vector representation)的方法。

这里最重要的提醒是:嵌入并不等于“意义本身”。嵌入是依据文本在数据中的使用方式,以及模型的学习目标而生成的数值表示。

Part 1 会在这里先建立 嵌入(embedding)向量(vector)向量空间(vector space)句子/段落/文档嵌入嵌入 vs 提示词 之间的基本区分。11.1 已经从语言模型的历史脉络先看过嵌入的背景,12 章又整理了提示词如何指定输入条件。这里会从服务视角把这两条线连起来,说明:为什么在检索外部资料之前,要先把文本变成向量?

P1-11.1 已经在 LLM 的历史脉络中介绍过语言模型(language model)、n-gram、分布式表示(distributed representation)、word2vec。本节不重复那段历史。

嵌入向量向量空间句子嵌入文档嵌入 属于不同层次的表示。这里先把它们的作用区分如下:

术语 极简含义 本节中的作用
嵌入 把文本变成可计算向量的表示 第 13 章的起点
向量 由多个数字组成的位置或表示 理解嵌入结果的基本单位
向量空间 向量所在的比较空间 理解接近与远离的框架
句子/段落/文档嵌入 把更长文本单位变成向量的表示 检索与 RAG 的实际输入单位
嵌入 vs 提示词 检索用表示与任务指令输入之间的区分 Part 1 后半服务流程中的关键边界

这里先把 嵌入是向量表示向量空间是比较空间它与提示词承担不同角色 作为基准线。

P1-13.1 关注的是:嵌入在现代 AI 服务流程中承担什么作用。

主题 本节要看的问题
文本表示 为什么要把句子和文档变成数字向量?
向量空间(vector space) 把文本像坐标一样放置是什么意思?
嵌入的局限 为什么把向量当成意义本身会有风险?

相似度(similarity)是如何计算的,以及如何找到接近的向量,会在 P1-13.2 说明;把检索结果接到 LLM 输入中的 RAG(retrieval-augmented generation) 会在 P1-13.3 说明。这里专注于 检索之前的表示转换阶段

把文本放入向量空间的基准

  • 把嵌入(embedding)理解为把文本转换成向量表示的方法。
  • 把向量(vector)理解为由多个数字组成、可供计算的表示。
  • 把向量空间(vector space)理解为让文本可以彼此比较的空间。
  • 区分初次理解嵌入时所需的数学与概率知识层级。
  • 区分嵌入是学习得到的表示(learned representation),而不是意义本身。
  • 为进入 P1-13.2 的相似度搜索(similarity search)做准备。

三个基准

这里不会深入嵌入公式,而是专注于理解为什么要把文本变成向量。阅读本节时,可先抓住下面三个视角。

基准 为什么重要 本节所需的理解水平
嵌入是把文本变成可计算向量的表示 这是后续向量检索与 RAG 的基本前提。 只要理解成把句子变成类似数字坐标的表示即可。
接近的位置可能代表相似的使用语境 这能帮助建立“向量空间”的直觉。 只要理解成接近的是相似用法,而不是把意义本身装进向量里。
嵌入不是意义本身,而是用于计算的表示 这能减少把向量直接等同于人类意义的误解。 只要理解成它是处理意义相关任务的数值工具即可。

计算机不会像人一样直接比较句子

人可能会觉得下面两句话很相近:

AI 有助于自动化重复性工作。
人工智能可以用来减少反复进行的任务。

这两句话用词并不完全相同。AI人工智能重复性工作反复进行的任务自动化减少 的说法不同,但整体意义接近。

简单的字符串比较并不擅长抓住这种关系。

字符串比较:
字面上有多少字符或词完全一致?

基于嵌入的比较:
在模型学习到的表示空间里,这些文本彼此有多接近?

嵌入让第二个问题变得可行。文本一旦被转换成数字向量,模型或搜索系统就能计算这些向量之间的距离。

向量是由多个数字组成的表示

向量(vector)是由多个数字构成的值。这里可以把它理解成类似坐标的表示。

1
2
3
句子 A -> [0.12, -0.44, 0.87, ...]
句子 B -> [0.10, -0.40, 0.81, ...]
句子 C -> [-0.72, 0.15, 0.03, ...]

真实的嵌入向量可能包含几百甚至几千个数字。人不需要逐个读懂这些数字的含义。关键是:模型把文本变成了可计算的位置。

文本:
人可以阅读的表达

向量:
模型和搜索系统用于计算的表达

这样转换之后,文本之间就能被比较。例如,可以计算某个文档是否接近一个问题,或者几句话是否在讨论相近主题。

这个地方可能会让人觉得数学负担变重,但理解 P1-13.1 并不要求先掌握线性代数(linear algebra)或概率(probability)公式。

知识 本节所需水平
向量(vector) 直觉上理解为由多个数字组成的表示
维度(dimension) 直觉上理解为数字被分成许多位置
距离(distance) 直觉上理解为两个表示可以近也可以远
概率(probability) 直觉上理解为模型会从数据中学习模式

真正的数学会在后面讲相似度(similarity)、点积(dot product)、余弦相似度(cosine similarity)时逐步出现。现在更重要的是先抓住这个流程:把文本变成多数字的位置,再利用这些位置去找接近的文本

嵌入会把文本放进向量空间

向量空间(vector space)是向量所在的空间。它不像二维地图那样容易直接画出来,但直觉是相似的。

接近的位置:
模型认为表达方式相似的文本

远离的位置:
模型认为表达方式不同的文本

例如,可以想下面这些句子:

句子 直觉主题
AI 可以帮助总结文档。 AI 应用
LLM 可以把长文档压缩成摘要。 AI 应用
咖啡豆会因烘焙程度不同而改变味道。 咖啡

如果嵌入模型训练得足够合适,也适用于当前任务,那么前两句话更有可能彼此靠近,而不是靠近第三句。

但这里的“更有可能”很重要。嵌入并不是绝对的意义地图(meaning map)。它的表现会受训练数据、学习目标、使用语言与领域影响。

单词、句子、文档都可以变成向量

P1-11.1 主要看的是单词嵌入(word embedding)。但在实际服务里,句子、段落、文档也都会被表示成向量。

单位 例子 用途
单词(word) 人工智能 单词关系、语言模型输入
token 工智能 或更细的子词 LLM 内部输入单位
句子(sentence) AI 可以帮助总结文档。 语义搜索、重复检测
段落(paragraph) 多句组成的说明 文档检索、问答
文档(document) 长文章或文件 资料分类、检索候选生成

长文档也可以一次变成一个向量,但实际检索中常会把文档切成更小的片段(chunk)。这样更容易找到和问题直接相关的部分。

长文档
-> 拆成较小的段落或片段(chunk)
-> 把每个片段转换成嵌入向量
-> 找出与问题向量接近的片段

怎样切分片段并不简单。切得太小会缺少上下文,切得太大又会把无关内容混在一起。这个问题会在后面的 P1-13.3 RAG 流程,以及 Part 5 的 P5-12.2 检索结果与生成的结合中再次出现。

嵌入不是意义本身

讲嵌入时最需要小心的误解是:

误解:
嵌入把句子的真实意义完美地存进数字里。

更安全的说明:
嵌入是模型依据学习到的标准,
把文本表示成可计算向量的方式。

嵌入很有用,但也有局限。

局限 说明
上下文损失 一个短向量很难装下长文档的全部意义。
多义词问题 同一个词会随上下文改变含义。
领域差异 用通用数据训练出的表示,在专业领域可能较弱。
语言差异 中文、韩文、英文或混合表达中的质量可能不同。
最新性问题 嵌入本身并不保证事实是最新的。

因此,更安全的看法是:嵌入不是“完全理解了意义”的结果,而是对检索与比较有用的表示。

提示词与嵌入承担不同角色

提示词(prompt)负责把当前任务条件交给 LLM。嵌入(embedding)负责把文本转换成向量,使比较与检索成为可能。

区分 作用
提示词(prompt) 给模型输入指示、上下文、示例与约束。
嵌入(embedding) 把文本变成向量,用于检索与比较。

例如,假设用户提问:

提示词的局限是什么?

如果只有提示词,LLM 会依据已有训练和当前对话上下文回答。但如果希望答案引用本书的特定章节,就必须先找到相关文档。这时,嵌入就可以用来寻找与问题接近的文档片段。

问题文本
-> 问题嵌入
-> 与文档片段嵌入比较
-> 选出接近的片段作为候选
-> 把选中的内容放进 LLM 输入

这条流程会在 P1-13.2 与 P1-13.3 继续展开。

检查清单

  • 能把嵌入(embedding)解释为把文本变成向量表示的方法。
  • 能把向量(vector)解释为由多个数字组成的可计算表示。
  • 能把向量空间(vector space)解释为让文本可以彼此比较的空间。
  • 能说明理解本节不需要先掌握复杂数学,而只要抓住“位置”和“接近”的直觉。
  • 能说明嵌入不是意义本身,而是学习得到的表示。
  • 能区分提示词(prompt)与嵌入(embedding)承担不同角色。
  • 能说明这一节会自然连到 P1-13.2 的相似度搜索(similarity search)。
  • 能说明为什么问题和文档要通过可计算表示来比较,而不能只停留在原始字符串上。
  • 能区分 把文本变成向量比较这些向量提示词负责给任务条件

来源与参考资料