Embedding · 交互图解

把句子变成
一串数字,就能算像不像

关键词搜索只认「字面重合」。 Embedding 把句子变成高维向量,让「意思相近」的句子在空间里靠得更近。 这是 RAG 检索、推荐、聚类背后共用的一招。

一串浮点数
常见 256–3072 维
相似度 = 方向
常用余弦相似度
语义 ≠ 字面
「狗」≈「犬」≈ puppy

不是翻译,是「放坐标」

想象全国城市:北京、上海、杭州各有经纬度。 「北京和天津很近」可以用距离算出来,不用你心里再比较一遍文化。 Embedding 做的是同类的事——给文本一个坐标。

注意: 单独看某一维没有含义。有意义的是整体方向。 就像经纬度里「第 3 位数字」本身不重要,整对坐标才定位城市。

点两句,看相似度

下面句子的向量是预设的示意数据(二维投影到看板),相似度按余弦算。 试试:字面不同但意思像的,会不会也高分。

句子相似度实验台
点选两句 · 或点预设对
句子库(点两个)
当前选择
余弦相似度
选两句试试。

语义地图:意思近的会挤在一起

真实 embedding 有几百上千维,这里画成 2D 示意。 点任意点,和上一节选句联动。

2D 语义散点
点击高亮 · 邻近 = 更像
餐饮 交通 天气 反例

关键词搜索会漏什么

同一句查询「怎么退掉刚下的单」,两种检索方式的结果不一样。

关键词 vs 语义
切换看命中

查询:怎么退掉刚下的单

但 embedding 不是银弹: 错别字、专有型号、精确 SKU,有时关键词反而更稳。 生产里常见做法:语义召回 + 关键词/过滤条件再排。

四句话带走

  1. Embedding = 给文本发坐标,让「意思近」可以被距离度量。
  2. 比较用余弦相似度,看方向是否一致,不看向量长度。
  3. 语义搜索能捞到改写和同义,关键词容易漏。
  4. 实践常做混合检索:语义 + 字面 + 过滤,不是二选一。