完整题目
什么是 Embedding(向量嵌入)?为什么把文字变成一串数字之后,就能计算两段话的语义相似度?
本文目录
答案要点
- Embedding(向量嵌入)是把文字转成一串固定长度数字(向量)的技术,让机器能“计算”语义
- 核心性质:意思越接近的文本,向量在空间中的位置越近——这是一切语义检索的基础
- 语义相似度最常用余弦相似度来算:看两个向量方向的夹角,值越接近 1 越相似
- 向量由专门训练的嵌入模型生成(如 BGE 系列),不是随便编码
- 它是 RAG 检索、语义搜索、推荐系统共同的地基
核心概念
Embedding(向量嵌入)是指用模型把一段文字映射成一个固定长度的数字向量(比如 1024 个小数),使得语义相近的文字在向量空间中的位置也相近。可以把它想象成给每段话发一个“语义坐标”:谈论同一件事的句子,坐标就挨得近。
比如“我想退货”和“这个商品我不要了”,字面上几乎没有重复的字,关键词搜索会认为它们无关;但嵌入模型理解语义,会把两句话映射到相近位置——这正是语义搜索超越关键词搜索的原因。
语义相似度怎么算
- 用同一个嵌入模型,分别把两段文本转成向量 A 和 B
- 计算余弦相似度:cos(A, B) = A·B / (|A| × |B|),本质是看两个向量方向的夹角有多小
- 结果越接近 1,说明方向越一致、语义越像;接近 0 则基本无关
也可以用点积、欧氏距离等度量,原理相通:把“语义像不像”的模糊问题,变成“数字算一算”的精确问题。注意:两段文本必须用同一个模型编码,不同模型的向量空间互不兼容。