我们刚刚提到了嵌入向量,那它到底是什么? 用最浅显的话来讲:嵌入模型接收文本,再把文本转换成能够代表语义的一组数字。 比如句子「办公室允许携带狗狗」,会被转化成一串数字,这串数字就叫做向量。 当你把 “办公室允许带狗狗” 这句话输入模型时,模型不只是单纯识别里面的字词,而是去理解这句话真正的内涵: 这句话讲的是动物吗?是办公规章制度吗?还是权限许可相关内容? 随后模型会生成一组数字,把上述所有不同层面的语义特征全部封装进去。 每一个数字,都对应模型在训练过程中学到的一种语言特征。 比如第一个数值代表文本和动物的关联程度,第二个数值代表和办公场景的关联度,以此类推。 我们可以把这些数字对应到坐标系里可视化: “狗狗” 对应的数值是 0.00005597,会落在图表里代表动物、宠物的区域,同类词汇都会归集在这一块;但 “远程(办公)” 就不会出现在这个区域。同理,“办公室” 会归到办公场景分区。 所以第一句话的向量落点会靠近办公分区;第二句话因为同样和工作相关,落点也在这里;最后一句只要和办公场景有关,也会落在同一片区域。 接下来我们计算这些坐标点彼此之间的距离:两点距离越短,代表两句话语义越相近。 最后对比就能发现,前两句话语义高度相似。以上就是极简版的相似度检索原理。 不过刚才这个可视化讲解,只适用于二维向量。现实中绝大多数向量维度极高,根本无法直观想象、绘图展示。 咱们之前用到的模型输出的就是 384 维向量,这种高维空间没办法画图直观呈现。那该怎么计算向量间的相似度? 这就要靠数学算法来实现了,也是嵌入技术最巧妙的地方。
大白话完整梳理:嵌入向量到底是什么、怎么用
一、一句话核心定义
嵌入向量 = 把文字翻译成一长串数字密码,这串密码自带文字的 “意思”,机器能看懂、能对比语义。
二、拆开讲,举生活化例子
1. 为什么非要转成数字?
机器不认识汉字、句子,它只会算数字。 直接对比两段文字 “长得像不像”(只看字词)很笨:
- 句子 A:办公室可以带小狗
- 句子 B:办公区域允许携带宠物 字面字词不一样,但意思几乎一样;只匹配文字会判定完全无关。 嵌入模型会读懂背后语义,统一转成数字向量,靠数字判断意思相近。
2. 每个数字藏着一种 “语义属性”
以 384 维向量举例,一共 384 个小数,每一位对应一个模型自学出来的特征:
- 第 1 位:和宠物、小动物相关程度
- 第 2 位:职场办公场景相关程度
- 第 3 位:规则许可、允许类语义权重
- ……
- 第 384 位:抽象场景、特殊限定语义
一句话的全部含义,压缩进这 384 个数字里,这一整组数字就是嵌入向量。
3. 空间逻辑(二维好理解,高维同理)
- 把每组向量看作空间里一个坐标点;
- 意思接近的文字,坐标会挨在一起;意思完全不搭边,点离得很远:
- “办公室能带狗”、“办公区允许宠物” 两个点几乎贴在一起
- “今天下雨” 这个点会跑到空间另一边,距离很远
- 判断语义相似度,本质就是算两个点的远近。
4. 高维没法画图,靠数学算距离
现实业务里基本都是几十、几百维向量(比如 384 维),画不出图,但数学有成熟算法: 最常用余弦相似度,专门衡量两个高维向量的夹角:
- 夹角越小、余弦值越接近 1 → 语义高度相似
- 夹角接近 90 度、余弦趋近 0 → 完全不相关 不用可视化图表,纯数字计算就能批量对比海量文本。
三、总结嵌入向量的完整工作流程
- 输入文本(词 / 句子 / 段落);
- 嵌入模型读懂深层语义,提取所有特征;
- 输出固定长度一串小数 = 嵌入向量;
- 用余弦相似度计算向量间距;
- 根据数值高低,判断文本语义相似度,完成检索、匹配、分类。
四、极简类比方便记忆
把每段文字想象成一个人,向量就是这个人的384 项特征档案:身高、职业、爱好、生活场景、权限偏好等。 两个人档案匹配度越高,代表两人特征越像;两段文字向量数值越接近,代表语义越相似。这份档案,就是嵌入向量。