向量搜索中的相似度通过比较多维空间中向量的“距离”或角度的数学技术来衡量。核心思想是,代表相似项目的向量(如文本、图像或用户偏好)在该空间中会彼此更接近。常用的方法包括余弦相似度、欧几里得距离和点积计算。这些技术量化了两个向量的相似程度,从而使系统能够按相关性对结果进行排序。例如,在搜索引擎中,代表文档的向量与查询向量进行比较,并返回最接近的匹配项。
最广泛使用的度量标准是余弦相似度,它衡量两个向量之间的角度,忽略其大小。当向量的方向比其长度更重要时,这尤其有用,例如在文本嵌入中,词频或 TF-IDF 值会创建稀疏的高维向量。例如,如果两篇新闻文章的向量指向相似的方向(即使其中一篇因为文本更多而更长),余弦相似度仍然会检测到主题相似性。另一种方法是欧几里得距离(L2 距离),它计算空间中向量之间的直线距离。当方向和大小都很重要时,这种方法效果很好,例如在图像嵌入中,像素强度差异很重要。第三种方法是点积,它结合了向量的大小及其角度关系。当向量被归一化(单位长度)时,点积等同于余弦相似度。例如,推荐系统经常使用点积来衡量用户偏好强度(大小)和项目匹配度(方向)。
度量标准的选择取决于数据和应用。余弦相似度适用于稀疏、高维数据(如文本),而欧几里得距离适用于密集、低维数据(如图像)。实际实现通常涉及权衡:余弦相似度避免了大小偏差,但可能需要归一化;而欧几里得距离对于大型数据集来说计算量更大。FAISS 或 Annoy 等库优化了这些计算以提高速度。例如,音乐流媒体服务可以使用余弦相似度根据流派(方向)推荐歌曲,但如果节奏(大小)是关键因素,则会切换到欧几里得距离。理解这些细微差别可确保开发人员为准确、高效的搜索选择正确的工具。