矢量搜索
了解矢量搜索如何通过在 NLP、可视化搜索、推荐系统等数据检索中实现语义相似性来彻底改变人工智能!
矢量搜索是一种通过将数据表示为数字矢量(称为嵌入)来查找大型数据集中相似项目的方法。它不匹配精确的关键字,而是识别语义或上下文相似的项目。这种方法是现代人工智能(AI)系统的基础,能为图像、文本和音频等复杂数据类型提供更直观、更准确的信息检索。它超越了字面查询,能够理解潜在的含义或意图,是构建复杂的搜索引擎和推荐引擎的强大工具。
矢量搜索如何工作?
矢量搜索过程包括几个关键步骤,将原始数据转化为基于意义的可搜索格式。它由深度学习模型和高效算法提供支持。
- 生成嵌入:首先,机器学习模型(如转换器或卷积神经网络 (CNN))会将数据项(如句子、图像、用户配置文件)转换为称为嵌入的高维数字向量。每个向量都能捕捉到项目的语义本质。
- 编制索引:这些生成的矢量数据会存储在专门的矢量数据库中并编制索引。这些数据库(如Pinecone或Milvus)经过优化,可有效管理和查询大量矢量数据。
- 查询:当用户提交查询(如文本短语或图片)时,会使用相同的模型将其转换为矢量。
- 相似性计算:然后,系统使用算法找出数据库中与查询向量 "最接近 "的向量。这通常使用余弦相似度或欧几里得距离等距离指标来完成。为了处理海量数据集,系统通常使用近似近邻(ANN)算法,如ScaNN或Faiss,以实现快速、可扩展的搜索,找到高度相关的匹配(即使不是完全匹配)。
实际应用
矢量搜索是许多先进人工智能功能背后的技术。它使系统能够超越简单的匹配,为各行各业提供上下文感知的结果。
- 语义图像搜索:用户可以使用描述性的自然语言短语搜索图像,而不是依赖手动标签或文件名。例如,用户可以搜索 "一辆汽车在日落时分行驶在山路上",系统就会检索出视觉上相似的图片,并根据上下文理解 "汽车"、"山 "和 "日落 "的概念。您可以通过Ultralytics 的相似性搜索指南来了解其工作原理。
- 推荐系统:电子商务和流媒体平台使用向量搜索来推荐产品或内容。如果你观看了一部科幻电影,该服务可以通过比较其矢量嵌入,找到并推荐类型、基调和情节相似的其他电影。这是零售业人工智能的核心功能,可增强用户体验和参与度。
矢量搜索与相关概念
将矢量搜索与其他相关术语区分开来,有助于理解它在人工智能生态系统中的具体作用。
- 关键词搜索:传统的关键字搜索依赖于匹配准确的单词或短语。它很难处理同义词、上下文和语言上的细微差别。相比之下,矢量搜索能理解语义关系,即使关键词不完全匹配,也能找到相关结果。
- 语义搜索:语义搜索是理解查询意图和上下文含义的广泛概念。矢量搜索是实现语义搜索的核心方法。语义搜索是 "做什么"(理解含义),而矢量搜索则是 "怎么做"(基于矢量邻近性的检索机制)。
- 嵌入 嵌入是数据的向量表示。矢量搜索是查询嵌入集合以找到最相似嵌入的过程。嵌入是数据,而矢量搜索是对数据执行的操作。
- 矢量数据库 矢量数据库是用于存储、索引和高效查询嵌入式数据的专用基础设施。Ultralytics HUB等平台可帮助管理数据集和模型,这些数据集和模型产生的嵌入信息可用于矢量搜索系统。
通过利用嵌入和复杂搜索算法的力量,矢量搜索在人类意图和数字数据之间架起了一座桥梁,使其成为从自然语言处理(NLP)到高级计算机视觉任务等许多智能应用的重要组成部分。