理解 AI(五):嵌入——AI 怎么理解语义

1、一个奇怪的问题

你有没有想过这个问题:

AI 是怎么知道“苹果”和“水果”意思相近的?

它当然知道,因为 AI “见过”这两个词在大量文本里一起出现。但具体是怎么做到的呢?

这就引出了今天的主题:Embedding(嵌入)

2、从文字到数字

要理解 Embedding,先要理解一个基本问题:AI 是怎么表示“苹果”这个词的?

AI 不是魔法,它本质上是数学运算。要让 AI “处理”一个词,第一步就是把词转换成数字

这个转换的过程,就是 Embedding。

2.1 简单版:One-Hot 编码

最简单的方式是 One-Hot 编码

假设我们有一个只有 5 个词的词表:[“苹果”, “香蕉”, “猫”, “狗”, “汽车”]。

那么:

  • “苹果” → [1, 0, 0, 0, 0]
  • “香蕉” → [0, 1, 0, 0, 0]
  • “猫” → [0, 0, 1, 0, 0]

每个词被表示成一个向量,词表中只有自己对应的位置是 1,其他都是 0。

2.2 问题在哪?

One-Hot 编码有两个致命问题:

  1. 维度爆炸:如果词表有 10,000 个词,每个词就是 10,000 维的向量,存储和计算都极其低效

  2. 没有语义信息

    • “苹果” = [1, 0, 0, 0, 0]
    • “水果” = [0, 0, 0, 1, 0]

    这两个向量看起来毫无关系,但它们在语义上是非常接近的。

3、Embedding 的核心思想

Embedding 要做的事:把词映射到一个稠密的向量空间,让语义相近的词,向量也相近。

这个向量空间可能是 256 维、768 维、1536 维……取决于模型的设计。

比如在某个 Embedding 空间里:

  • “苹果” → [0.2, -0.5, 0.8, …]
  • “香蕉” → [0.3, -0.4, 0.7, …]
  • “汽车” → [-0.8, 0.9, 0.1, …]

“苹果”和“香蕉”的向量很接近(都是水果),而“苹果”和“汽车”的向量很远(毫无关系)。

这就是 语义空间(Semantic Space) 的概念。

4、AI 是怎么学到这种映射的?

Embedding 不是人工设定的,而是 AI 在训练过程中自己学到的

训练的目标是什么?“相似的词,应该有相似的上下文”

比如,在大量文本中:

  • “苹果” 经常和 “水果”、“吃”、“甜” 一起出现
  • “香蕉” 经常和 “水果”、“吃”、“甜” 一起出现

AI 通过训练,发现 “苹果” 和 “香蕉” 的上下文模式很像,于是在向量空间里,把它们的向量放得很近。

这是一个无监督学习的过程——AI 不需要人工标注“苹果是水果”,它自己从语料中发现了这个规律。

5、向量相似度:怎么衡量“相近”?

当每个词都被表示成向量后,怎么衡量两个词的“相近程度”?

最常用的方法是 余弦相似度(Cosine Similarity)

cosine_similarity(A, B) = (A · B) / (|A| × |B|)

简单来说,就是计算两个向量夹角的余弦值:

  • 夹角为 0°(向量完全相同)→ 余弦值 = 1
  • 夹角为 90°(向量垂直)→ 余弦值 = 0
  • 夹角为 180°(向量相反)→ 余弦值 = -1

余弦值越接近 1,说明两个向量越“相似”。

6、Embedding 的应用

理解 Embedding 之后,很多 AI 应用就变得清晰了:

6.1 语义搜索

传统搜索是关键词匹配:搜索“苹果”,只能找到包含“苹果”这个词的文档。

语义搜索是向量匹配:把“苹果”和所有文档都转换成向量,然后在向量空间里找最接近的。

这样,即使文档里没有“苹果”这个词,但提到了“fruit apple”,也能被找到——因为它们的向量很接近。

6.2 推荐系统

推荐商品的本质是:找到和用户喜欢的商品“向量相近”的商品

如果用户喜欢“iPhone”,那么在向量空间里,“iPad”、“MacBook”、“AirPods”很可能和它很接近,所以就会被推荐。

6.3 RAG(检索增强生成)

RAG 是现在很火的 AI 应用模式:

  1. 把知识库文档切成小块,转换成向量,存入向量数据库
  2. 用户提问时,把问题也转换成向量
  3. 在向量数据库中找和问题向量最相似的文档块
  4. 把这些文档块作为上下文,让 AI 生成回答

这样,AI 就能回答“知识截止日期之后”的问题,因为它是通过检索找到最新信息的。

7、不只是词:句子和文档的 Embedding

Embedding 的思想不只适用于单词,也可以用于句子、段落甚至整篇文档

sentence-transformers 就是这样的模型:把一句话转换成一个向量。

比如:

  • “今天天气很好” → [0.1, -0.3, 0.5, …]
  • “明天阳光明媚” → [0.15, -0.28, 0.48, …]

这两句话意思相近,向量也很接近。

这种能力让 AI 可以:

  • 判断两段文本是否“说的是同一件事”
  • 在海量文档中找到“相关内容”
  • 对文本进行聚类和分类

8、本质是什么

Embedding 是把离散的符号(文字)映射到连续的向量空间的过程

在这个向量空间里,语义相近的内容,向量也相近。这个空间不是人工设定的,而是 AI 通过学习海量文本自己“发现”的——它发现了语言里的统计规律,然后把这些规律编码成了向量的几何关系。

理解 Embedding,你就理解了 AI “理解”语义的基础。它是一切语义搜索、推荐系统、RAG 的技术基石。


系列总结

从第一篇的“概率预测”,到第二篇的“Token 分词”,到第三篇的“上下文窗口”,到第四篇的“采样参数”,再到今天的“向量嵌入”——我们一起探索了 LLM 的几个核心概念。

这些概念串起来,就是现代大语言模型工作的基本逻辑:

文本 → Token → 向量(Embedding)→ 预测下一个 Token → 采样输出

理解了这个链条,你就对 AI 有了本质的认知,而不只是停留在“怎么用”的层面。

希望这个系列对你有帮助。如果你有其他想了解的话题,欢迎告诉我!

每天前进一小步,就是一个新的高度!