智能应用中的作用 许多人工智能应用的核心功能是首先理解用户查询背后的含义,然后提供与用户问题相关的答案。随着界面和应用程序的日益先进,查询可以采用语言、图像、音频、视频或其他形式的非结构化数据。
例如,在电商平台上,用户可能会尝试搜索“徒步旅行服装”,而他们实际上想要的是“防水夹克”或“冬季袜子”相关的搜索结果。关键词搜索、全文搜索,甚至同义词搜索都无法提供此类查询的任何结果。同样,在音乐应用中,用户可能正在寻找与他们听过的音频片段听起来相似的歌曲。或者,他们可能想查找外观与他们在旅途中看到的家具相似的家具。
向量相似性如何起作用?
那么,算法如何捕捉用户查询的本质,然后发掘相关的结果?
从高层次来看,方法如下:
首先,使用深度学习模型将非结 传真列表 构化数据转 智能应用中的作用 换为数值表示,即向量。其目标是捕捉这些数据的“语义”或关键特征。
然后将这些向量连同其原始
数据的引用一起存储在向量数据库中。
当用户执行查询时,首先使用相同的模型将查询转换为其向量表示。然后使用度量进行搜索,以找到与查询向量最接近的其他向量。
返回的结果列表对应于被发现最接近的向量。
所有此类搜索的核心是向量相似性的概念,它使我们能够衡量两个数据点的相关程度、相似程度或不相似程度,或者找到其他相关的数据点。
在本文档中,我们将深入探讨向量相似性 根据一年中的事件趋势提出想法 的本质,研究向量相似性搜索在人工智能领域的应用,研究一些实际用例,并向您展示如何利用向量相似性和向量相似性搜索的强大功能来构建人工智能应用程序。
理解向量、向量空间和向量相似性
机器学习和深度学习模型需要数值数据作为输入来完成其任务。因此,在处理非数值数据时,我们首先需要将其转换为能够捕捉数据关键特征的数值表示形式。这时向量就派上用场了。
向量是一组表示数据的数字,这些数据可以是文本、图像、音频或任何多维数据。向量位于高维空间(即向量空间)中,其中每个维度捕获数据的特定方面或特征。
在职的在职的
向量的维数范围从几十、几百到几千,每个维 销售线索 度都存储为一个数组的元素。因此,向量是一个固定长度的数字数组,它们的整体编码了其所表示数据的关键特征。
向量嵌入由 AI 模型创建,这个过程称为向量化。它们随后被存储在像 Qdrant 这样的向量存储中,这些存储能够快速搜索向量空间,找到相似或不相似的向量,对它们进行聚类,找到相关的向量,甚至是完全异常的向量。
例如,在文本数据中,“外套”和“夹克”的含义相似,即使这两个词完全不同。这两个词的向量表示应该使得它们在向量空间中彼此接近。衡量它们在向量空间中的接近程度的过程就是向量相似度。
因此相似度衡量的是向
量空间中两个数据点的关联程度。它量化了两个数据点基于其各自的向量表示的相似度或差异度。
假设我们有“国王”、“王后”和“苹果” 智能应用中的作用 这几个词。给定一个模型,含义相近的词在向量空间中具有彼此接近的向量。因此,“国王”和“王后”的向量表示会比“国王”和“苹果”或“王后”和“苹果”的向量表示更接近,因为它们之间存在语义关系。向量相似度就是计算方法。
矢量极其强大的一个方面是,它们不仅限于表示文本、图像或音频。事实上,任何类型的数据都可以创建矢量表示。例如,你可以创建 3D 模型的矢量表示。或者视频片段、分子结构,甚至蛋白质序列的矢量表示。
向量化有多种方法例如,在创
建文本的向量表示时,该过程涉及使用变换模型分析文本中的语言元素。这些模型本质上是通过剖析文本的语言成分来学习捕捉文本的精髓。
如何计算向量相似度?
有几种方法可以计算两个向量之间的相似度(或距离),我们称之为度量。最流行的方法是:
点积:将向量的对应元素相乘,然后相加。点积越大,表示相似度越高。
余弦相似度:用两个向量的点积除以其幅值(范数)的乘积来计算。余弦相似度为 1 表示向量完全对齐,为 0 表示不相似。为 -1 表示它们完全相反(或不相似)。
欧氏距离:假设两个向量在向量空间中像箭头一样,欧氏距离计算连接这两个箭头头部的直线的长度。欧氏距离越小,相似度越大。
曼哈顿距离:也称为出租车距离,它是在向量空间中,如果遵循网格状路径,则计算两个向量之间的总距离。曼哈顿距离越小,相似度越高。
指标
指标
根据经验法则,最佳相似度度量的选择取决于向量的编码方式。
在这四个指标中,余弦相似度是最受欢迎的。
向量相似性的意义
向量相似度对于机器学习应用至关重要。通过将查询的向量表示与所有数据点的向量进行比较,向量相似度搜索算法可以检索出最相关的向量。这有助于构建强大的相似度搜索和推荐系统,并在图像和文本分析、自然语言处理以及其他处理高维数据的领域中拥有广泛的应用。
让我们看一下利用向量相似性的一些主要方法。
图像分析
一旦图像被转换为矢量表示,矢量相似性就可以帮助创建识别、分类和比较图像的系统。这可以实现强大的反向图像搜索、面部识别系统,或用于物体检测和分类。
文本分析
文本分析中的向量相似度有助于理解和处理语言数据。向量化文本可用于构建语义搜索系统、文档聚类或抄袭检测应用。
检索增强生成(RAG)
向量相似性有助于表示和比较语言特征,从单个单词到整个文档。这有助于构建检索增强生成 (RAG) 应用程序,其中数据是根据用户意图检索的。它还可以支持诸如情感分析、同义词检测、语言翻译等细致的语言任务。