余弦相似度 使用指南
输入两个向量,计算余弦相似度以衡量方向一致性,适用于文本语义匹配、推荐召回与嵌入向量比对。
计算公式与原理
cos θ = (Σaᵢbᵢ) / (√Σaᵢ² · √Σbᵢ²)
余弦相似度取值范围 [−1,1],1 为同向、0 为正交、−1 为反向。因为做了模长归一化,它对向量整体缩放不敏感,适合比较长度差异很大的文本或特征向量;若需要同时反映模长差异应改回欧氏距离。
使用步骤
- 填写「向量A1」。
- 填写「A2」。
- 填写「A3」。
- 填写「向量B1」。
- 填写「B2」。
- 填写「B3」。
- 结果区会即时更新;可一键复制结果用于记录或汇报。
典型使用场景
- cos(x,y)=Σxᵢyᵢ/(‖x‖·‖y‖),取值 [−1,1],1 为同方向、0 正交、−1 反向。
- 对向量归一化后,余弦等价于内积,计算更快且利于检索索引。
- 文本/图像嵌入比对几乎都用余弦,因模长常受频率或亮度干扰不代表语义。
算例参考
- 两向量夹角:x=(1,2,2), y=(2,4,4):‖x‖=3,‖y‖=6,内积=2+8+8=18 → cos=18/(3×6)=1,两向量同向(实际 y=2x),完全相似。
注意事项
结果为按上述公式得到的理论估算值,实际表现受数据分布、实现细节与运行环境影响,落地决策请以实测为准;本工具纯前端运行,输入不上传服务器。
- 余弦为负说明什么?
- 说明两向量夹角大于 90°,语义倾向相反(如反义句、对立情感)。多数相似度场景只取非负区间,需按业务决定是否保留负值。
- 为什么先归一化?
- 归一化后模长均为 1,余弦=内积,便于用内积加速检索(如 FAISS);且消除向量长度对相似度的影响,聚焦方向。