定义

什么是向量搜索?

向量搜索利用机器学习 (ML) 来捕获非结构化数据(包括文本和图像)的含义和上下文,并将其转换为数字表示形式。向量搜索常用于语义搜索,它使用近似最近邻 (ANN) 算法查找相似数据。与传统的关键字搜索相比,向量搜索可以产生更相关的结果,并且执行速度更快。

Video thumbnail

为什么向量搜索很重要?

您是否经常遇到这种情况:您在寻找某个东西,但您不确定它叫什么?您可能知道它的功能或描述。但是,如果没有关键字,您就无法进行搜索。

向量搜索克服了这一限制,允许您根据您的意图进行搜索。它可以根据相似性搜索快速提供查询答案。这是因为向量嵌入捕获了文本以外的非结构化数据,例如视频、图像和音频。您可以通过将向量搜索与过滤和聚合相结合来增强搜索体验,通过实施混合搜索并将其与传统评分相结合来优化相关性。

Video thumbnail

向量搜索引擎是如何工作的?

向量搜索引擎(称为向量数据库语义搜索或余弦搜索)查找给定(向量化)查询的最近邻。

传统的搜索依赖于关键字的提及、词汇相似性和词频,而向量搜索引擎则使用嵌入空间中的距离来表示相似性。查找相关数据变成了搜索查询的最近邻。

Diagram of how a vector search engine works using vector embeddings
  • 向量嵌入

    向量嵌入是数据的数字表示形式和相关上下文,存储在高维(密集)向量中。可以根据数百万个示例训练生成嵌入的模型,以提供更相关、更准确的结果。在某些情况下,您可以收集或设计用于表示文档关键特征的数字数据作为嵌入。您只需要能够高效地进行搜索。

  • 相似度得分

    向量搜索引擎的核心思想是,如果数据和文档相似,则它们的向量也将相似。通过使用向量嵌入对查询和文档进行索引,您可以将相似文档作为查询的最近邻找到。

  • ANN 算法

    传统的最近邻算法(如 k 最近邻算法 (kNN))会导致执行时间过长,并占用大量计算资源。ANN 牺牲了完美的准确性,以换取在高维嵌入空间中大规模高效地执行。

向量搜索用例

向量搜索不仅为下一代搜索体验提供了动力,还为一系列新的可能性打开了大门。

  • 向量搜索为语义搜索或相似性搜索提供了动力。由于含义和上下文已捕获在嵌入中,因此向量搜索可以找到用户的意图,*而无需完全匹配关键字*。它适用于文本数据(文档)、图像和音频。轻松快速地找到与查询相似或相关的产品。

  • 推荐

    生成嵌入的模型可以学习识别嵌入空间中的相似文档及其向量。例如,应用程序可能会推荐购买了您所购买商品的其他用户也喜欢的电影或产品。但是,请确保嵌入是根据一定程度的流行度或喜爱度作为目标指标得出的。

    向量距离可以与其他指标相结合,以便推荐结果能够实现多个目标。例如,按满意度评分和收入潜力对产品推荐进行排名。

  • 问答

    将文档转换为文本嵌入可以与现代自然语言处理 (NLP) 相结合,以提供对问题的全文答案。这种方法使用户无需研究冗长的文档,并使您的团队能够更快地提供答案。

    “问答”转换器模型可以获取知识库文档和当前问题的文本嵌入表示,以提供最接近的匹配作为“答案”。

不要止步于语义搜索!

  • 浏览非结构化数据

    搜索任何非结构化数据。您可以为文本、图像、音频或传感器测量值创建嵌入。

  • 根据元数据过滤

    使用元数据过滤向量搜索结果。通过应用与近似最近邻 (ANN) 搜索一致的过滤器,在不牺牲速度的情况下保持召回率。

  • 对搜索结果重新排名

    向量相似度可以解释为相似度分数,您可以使用其他数据对其进行重新排名。这包括向量搜索数据库中已有的静态字段,以及通过应用机器学习模型获得的新属性。

  • 混合评分

    为了进一步优化,将向量相似度与 BM25F 分数相结合,称为混合评分。这允许您根据向量相似度对图像进行排名,同时实现 BM25F,这可以为文本提供更好的排名。

如何开始

使用 Elastic 简化向量搜索和 NLP

您无需付出巨大努力即可实现向量搜索和应用 NLP 模型。借助Elasticsearch Relevance Engine™ (ESRE),您可以获得用于构建 AI 搜索应用程序的工具包,该工具包可与生成式 AI大型语言模型 (LLM)一起使用。

借助 ESRE,您可以构建创新的搜索应用程序、生成嵌入、存储和搜索向量,以及使用 Elastic 的学习型稀疏编码器实现语义搜索。详细了解如何将 Elasticsearch 用作您的向量数据库

Video thumbnail
  • 开箱即用的语义搜索

    Elastic 学习型稀疏编码器开箱即用地提供高度相关的语义搜索,无需领域适应。在配置搜索应用程序时,只需单击一下即可使用它。该模型使用相关关键字和相关性分数扩展查询,这些关键字和相关性分数是在其训练过程中学习到的,因此您无需配置同义词,并且与密集向量嵌入不同,它们易于解释。

  • 大型语言模型

    使用您的私有数据(而不仅仅是公开训练的数据)为 LLM 提供特定于业务的信息。使用 Elasticsearch 并通过与您选择的 LLM 集成的 API 和插件访问生成式 AI。

  • 文本嵌入等

    了解如何使用 Elastic 为您的数据分配情绪和其他类别。应用命名实体识别 (NER) 以使用其他元数据改善搜索体验。