什么是语义搜索?

语义搜索定义

语义搜索是一种解释词语和短语含义的搜索引擎技术。语义搜索的结果将返回与查询的含义相匹配的内容,而不是与查询中的词语字面匹配的内容。

语义搜索是一组搜索引擎功能,其中包括理解搜索者的意图和搜索上下文中的词语。

这种类型的搜索旨在通过更准确地解释自然语言和上下文来提高搜索结果的质量。语义搜索通过借助诸如机器学习人工智能等技术将搜索意图与语义含义相匹配来实现这一点。

语义搜索如何工作?

语义搜索由向量搜索提供支持,这使得语义搜索能够根据上下文相关性和意图相关性来交付和排名内容。向量搜索将可搜索信息的详细信息编码为相关术语或项目(即向量)的字段,然后比较向量以确定哪些最相似。

支持向量搜索的语义搜索通过同时在查询管道的两端工作来产生结果:当启动查询时,搜索引擎会将查询转换为嵌入,嵌入是数据和相关上下文的数字表示。它们存储在向量中。然后,kNN 算法,即 k 最近邻算法,将现有文档(语义搜索涉及文本)的向量与查询向量进行匹配。然后,语义搜索会生成结果并根据概念相关性对其进行排名。

  1. 当启动查询时,搜索引擎会将查询转换为嵌入,嵌入是数据和相关上下文的数字表示。它们存储在向量中。
  2. kNN 算法,即 k 最近邻算法,然后将现有文档(语义搜索涉及文本)的向量与查询向量进行匹配。
  3. 然后,语义搜索会生成结果并根据概念相关性对其进行排名。

上下文
在语义搜索中,上下文可以指任何其他信息,例如搜索者的地理位置、查询中词语的文本上下文或搜索者搜索历史的上下文。

语义搜索使用上下文线索来确定一个词在数百万个示例的数据集中的含义。语义搜索还识别出哪些其他词语可以在类似的上下文中使用。

例如,搜索“football”在美国意味着“soccer”,而在英国和世界其他地方则意味着“football”。语义搜索会根据用户的地理位置区分结果。

搜索者意图
语义搜索的作用是改善用户的体验。为了提供最相关的结果,它会解释用户的意图以了解他们的需求。他们是想要信息吗?他们是想进行购买吗?根据查询及其上下文,语义搜索将按相关性对结果进行排名。

语义搜索也可以通过查询分类设置进行修改或改进,例如首先生成评分最高的产品,然后将评分较低的产品放在后面。

相关内容:个性化您的用户搜索体验

Diagram showing the steps of generative AI including vector representation and transforming into embedding

语义搜索 vs. 关键词搜索

语义搜索和关键词搜索之间的区别在于,关键词搜索返回与单词匹配单词、单词匹配同义词或单词匹配相似单词的结果。语义搜索旨在匹配查询中词语的含义。在某些情况下,语义搜索可能不会生成具有直接单词匹配的结果,但它会匹配用户的意图。

关键词搜索引擎使用查询扩展或松弛工具,如同义词或省略词。他们还使用自然语言处理和理解工具,如拼写错误容忍度、分词和规范化。另一方面,语义搜索能够通过使用向量搜索返回与含义匹配的查询结果。

考虑“巧克力牛奶”。语义搜索引擎会区分“巧克力牛奶”和“牛奶巧克力”。尽管查询中的关键词相同,但它们的书写顺序会影响含义。作为人类,我们理解牛奶巧克力指的是一种巧克力,而巧克力牛奶是巧克力味的牛奶。

超越传统的搜索体验。阅读我们的白皮书,了解将语义搜索引入您的应用程序的最佳方法。

为什么语义搜索很重要?

语义搜索之所以重要,是因为它促进了更广泛的搜索范围。由于它由向量搜索驱动,语义搜索能够提供更直观的搜索体验,其中查询的上下文意图都会产生结果。

由于语义搜索算法不断通过各种关键绩效指标 (KPI)(例如转化率和跳出率)进行“学习”,因此语义搜索有助于提高用户满意度。

深入了解 2024 年的技术搜索趋势。观看本次网络研讨会,了解最佳实践、新兴方法以及顶级趋势如何影响 2024 年的开发人员。

使用 Elasticsearch 进行语义搜索

Elasticsearch 平台配备了机器学习和人工智能解决方案,包括语义搜索模型:Elastic Learned Sparse EncodeR — 或 ELSER。此 NLP 模型由 Elastic 训练,可在易于部署的工具中启用语义搜索。

观看此视频,了解 Elastic 的零样本编码器模型:它是如何工作的,以及为什么它可以帮助您为 AI 搜索应用程序和生成式 AI 体验快速实现语义搜索。Elastic 的机器学习模型无需训练,因此可以节省成本和时间。

了解有关 Elasticsearch 的更多信息