向量搜索基础
向量搜索,也称为_相似性搜索_或_最近邻搜索_,是一种寻找与给定输入最相似项的强大技术。其应用场景包括理解用户意图的语义搜索、推荐系统(例如,音乐应用中的”您可能喜欢的其他歌曲”功能)、图像识别和欺诈检测。关于向量搜索的更多背景信息,请参阅最近邻搜索。
向量嵌入
与传统依赖精确关键词匹配的搜索方法不同,向量搜索使用_向量嵌入_——这是文本、图像或音频等数据的数值表示。这些嵌入以多维向量形式存储,捕捉了意义、上下文或结构中更深层的模式和相似性。例如,大型语言模型可以从输入文本创建向量嵌入,如下图所示。

相似性搜索
向量嵌入是高维空间中的一个向量。其位置和方向捕捉了对象之间有意义的关联。向量搜索通过比较查询向量与存储的向量,并返回最接近的匹配项,来找到最相似的结果。UDB-SX 使用 k-最近邻算法 来高效识别最相似的向量。与依赖精确词语匹配的关键词搜索不同,向量搜索基于这个高维空间中的距离来衡量相似性。
在下图中,Wild West 和 Broncos 的向量彼此更接近,而两者都与 Basketball 的向量相距较远,这反映了它们之间的语义差异。

计算相似性
向量相似性衡量两个向量在多维空间中的接近程度,有助于完成诸如最近邻搜索和按相关性排序结果等任务。UDB-SX 支持多种用于计算向量相似性的距离度量(空间):
L1(曼哈顿距离): 计算向量分量之间绝对差值的总和。
L2(欧几里得距离): 计算差值的平方和的平方根,对向量的大小敏感。
L∞(切比雪夫距离): 只考虑对应向量元素之间的最大绝对差值。
余弦相似性: 测量向量之间的夹角,关注方向而非大小。
内积: 基于向量点积确定相似性,可用于排序。
汉明距离: 计算二进制向量中不同元素的数量。
汉明位: 应用与汉明距离相同的原理,但针对二进制编码数据进行了优化。
要了解更多关于距离度量的信息,请参阅 空间。