向量化与 Embedding 详解

以三句话为例,展示 Embedding 结果与余弦相似度的对比过程。

1. Embedding 的含义

Embedding 是把文本、图片等非结构化数据转换为数值向量的过程。 向量中的每一个维度都描述了语义空间中的某个特征,因此距离近的向量通常语义更相似。

文本的语义越接近,向量的方向越接近。
向量化后可以做检索、聚类、推荐、异常检测等任务。

2. 示例文本与向量

我们有三句话,这里是一个文本框:

A“我想买一台 MacBook Pro”
B“我需要一台苹果笔记本电脑”
C“今天天气很好,适合跑步”

假设通过 Embedding 模型(如 text-embedding-3-large)得到向量:

向量 文本 维度 1 维度 2 维度 3 维度 4
vA 我想买一台 MacBook Pro 0.12 0.88 -0.33 0.41
vB 我需要一台苹果笔记本电脑 0.10 0.91 -0.30 0.39
vC 今天天气很好,适合跑步 -0.72 0.05 0.66 -0.44
可输入一个自定义向量(4 维),模拟查询向量与 A/B/C 的相似度。
等待输入

3. Cosine Similarity(余弦相似度)

余弦相似度衡量两个向量的夹角,值越接近 1 越相似,接近 0 表示正交。

cos(θ) = (A · B) / (||A|| × ||B||)
A · B = Σ(Ai × Bi)
||A|| = sqrt(ΣAi²)

4. 计算结果

基于 vA、vB、vC 的余弦相似度:

vA · vB = -, ||vA|| = -, ||vB|| = -
Cosine(vA, vB) = -
vA · vC = -, ||vC|| = -
Cosine(vA, vC) = -
vB · vC = -
Cosine(vB, vC) = -

5. 结论解读

从计算结果看,vA 与 vB 的相似度最高,说明它们对应文本语义更接近; vC 与 vA、vB 的相似度为负,表示语义方向相反或差异明显。

输入自定义向量后,将在这里给出与句子 A/B/C 的相似度解释。
相似度高 → 语义接近 相似度低 → 语义差异