← 关联知识节点:Embedding 与向量化:语义检索的地基
交互工具 · 对比

语义坐标与相似度

Embedding 把文字变成语义坐标系里的点,检索就是找离查询最近的几个点。在平面上点一个查询句或拖动角度,看余弦排序怎么变:同义改写打不乱它,编号陷阱骗得过它——最后把向量路与关键词路摆上同一张桌,看两路各翻一次车、各管一块地盘。

预设 2D 单位向量,cos θ = (a·b) ÷ (|a|·|b|) 算的是真实数学:文章三对示例读数(0.8 / 0.6 / 0.1)与 E-4021 陷阱全部复现,关键词路按词面重合计分,零 API、零延迟。

意思相近的句子,在坐标系里就是相邻的点——比距离就是在比意思。下面三块实验共用一套 预设 2D 单位向量:检索排序、同义改写、向量路与关键词路对照, 每个读数都是真实余弦,没有一处拍脑袋。

语义平面 · 检索 = 找最近的几个点

查询:申请退款
申请退款申请退款怎么退款怎么退款如何退钱如何退钱钱退回来了吗钱退回来了吗退货政策是什么退货政策是什么今日天气晴今日天气晴明天会下雨吗明天会下雨吗发票怎么开发票怎么开错误码 E-4021 的含义E-4021错误码 E-4022 的含义E-4022查询

与查询的余弦降序(top-3 即检索命中):

  1. 1申请退款1.00
  2. 2怎么退款0.99
  3. 3如何退钱0.97
  4. 4钱退回来了吗0.80
  5. 5退货政策是什么0.60
  6. 6今日天气晴0.10
  7. 7明天会下雨吗0.00
  8. 8发票怎么开-0.50
  9. 9错误码 E-4022 的含义-0.99
  10. 10错误码 E-4021 的含义-0.99
查询角度 θ0°

点平面上的点或拖滑杆换查询:查询「申请退款」时读数与文章一致——「钱退回来了吗」0.80、 「退货政策」0.60、「今日天气晴」0.10;转到错误码方向读数变负(方向相反)。top-3 高亮就是检索会取回的文档。

改写实验 · 换说法,排名动不动

查询「怎么退款」改前
  1. 1钱退回来了吗?退款进度查询0.87
  2. 2退货政策是什么0.71
  3. 3今日天气晴0.24
  4. 4明天会下雨吗0.14
  5. 5发票怎么开-0.37
  6. 6错误码 E-4021 的含义-0.97
查询「如何退钱」换说法
  1. 1钱退回来了吗?退款进度查询0.93
  2. 2退货政策是什么0.79
  3. 3今日天气晴0.36
  4. 4明天会下雨吗0.26
  5. 5发票怎么开-0.26
  6. 6错误码 E-4021 的含义-0.93

「怎么退款」换成「如何退钱」,top-2 名单一模一样:意思近的点本来就挨着——语义检索靠坐标不靠字面,同义改写打不乱它。

双路对照 · 向量路与关键词路各排一次

向量检索路余弦 · 4 位小数
  1. 1E-4022:请求触发限流保护0.9998
  2. 2E-4021:上下文超过窗口上限正确答案0.9981
  3. 3发票怎么开0.6494
  4. 4今日天气晴0.0785
  5. 5怎么申请退款-0.9483

第一名:E-4022:请求触发限流保护(排错了)

关键词检索路词面重合度
  1. 1E-4021:上下文超过窗口上限正确答案0.14
  2. 2E-4022:请求触发限流保护0.00
  3. 3怎么申请退款0.00
  4. 4今日天气晴0.00
  5. 5发票怎么开0.00

第一名:E-4021:上下文超过窗口上限

向量路被长得像的编号骗了:两个错误码的向量近得危险,它把 E-4022 排在了第一——读数几乎并列,肉眼根本分不出来。关键词路靠 E-4021 的字面精确命中把它分对:型号、代码标识、错误码是关键词的地盘。
E-4021 ≠ E-4022字面只差一个数字,向量却近得危险——生产系统几乎都是双路并行:向量一路、关键词一路,结果合并再排序。

cos θ = (a·b) ÷ (|a|·|b|)——夹角越小越接近 1,垂直(无关)为 0,方向相反为负