嵌入是通过将原始非结构化数据转换为捕获语义和关系的数值向量来实现向量搜索的基础。这些向量作为一种通用语言,允许计算机理解和比较不同的信息。 您看到的演示嵌入的典型示例是使用Word2Vec来显示单词嵌入如何捕获语义关系-例如 “king”-“man” “woman” = “queen”,或者 “Marlon_Brando” 的嵌入如何在语义上接近其他演员和他的著名电影。嵌入将复杂数据转换为一种格式,其中可以使用距离度量 (如余弦相似度或欧几里得距离) 在数学上测量相似度。这种数学表示可以有效地搜索和比较非结构化数据。
该过程通常涉及使用经过训练的机器学习模型来生成这些嵌入-例如,图像的ResNet-50或文本的BERT。由此产生的向量将语义相似的项目在高维空间中放得更近,而不相似的项目最终相距更远。这种几何特性使得矢量数据库能够使用诸如近似最近邻 (ANN) 算法之类的技术来执行有效的相似性搜索。向量搜索的质量和有用性在很大程度上取决于嵌入模型如何很好地捕获数据的相关语义特征。