向量嵌入将文本、图像或用户行为等复杂数据转换为捕获语义含义的数值向量,从而支持向量搜索。这些向量代表高维空间中的数据点,相似项在该空间中距离更近。例如,“a cat sits on a mat”(一只猫坐在垫子上)和“a kitten rests on a rug”(一只小猫在地毯上休息)这两个句子会生成彼此靠近的向量嵌入,反映出它们共享的含义。向量搜索引擎使用余弦相似度或欧氏距离等距离度量来比较这些数值表示,以找到最接近的匹配项。没有向量嵌入,直接比较原始文本或图像在规模上将是计算上不切实际或不可能的。
一个关键的例子是自然语言处理 (NLP):Word2Vec 或 BERT 等工具将单词或句子转换为向量,以保留上下文关系。“car”(汽车)这个词的向量可能比“banana”(香蕉)更接近“vehicle”(交通工具),这使得搜索系统能够理解同义词或相关概念。在图像搜索中,卷积神经网络 (CNN) 生成的向量嵌入会将海滩的照片聚类在一起,与山脉的图像区分开来。Spotify 等平台使用向量嵌入来表示基于音频特征和用户收听模式的歌曲,通过查找具有相似向量配置文件的曲目来实现推荐。这些向量嵌入将非结构化数据抽象为一种针对数学比较优化的格式。
向量搜索系统利用近似最近邻 (ANN) 算法,例如 HNSW 或 IVF,来高效地查询大型数据集中的向量嵌入。当处理数百万个高维向量时,传统的精确搜索方法变得不切实际,但 ANN 技术通过将向量组织成易于搜索的结构来平衡速度和准确性。例如,一个电子商务网站可以索引产品向量嵌入,以启用“查找相似物品”功能——搜索一件夹克的向量嵌入会返回其他风格相似的夹克。向量嵌入还支持混合搜索系统,将向量相似度与结构化过滤(例如,价格范围)相结合。通过将数据转换为统一的数值格式,向量嵌入使得使用单一的可伸缩框架搜索跨不同数据类型成为可能。