什么是语义搜索?

了解是开箱即用型实施还是定制实施适合您。

语义搜索定义

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

语义搜索是一系列的搜索引擎功能,包括从搜索者的意图及其搜索上下文中理解单词。

这种类型的搜索旨在根据上下文更准确地解读自然语言来提高搜索结果的质量。语义搜索借助机器学习人工智能等技术,将搜索意图与语义相匹配,从而实现这一目标。

语义搜索的工作原理

语义搜索由向量搜索提供支持,这使得语义搜索能够根据上下文相关性和意图相关性来提供内容和进行排序。向量搜索会将可搜索信息的详情编码到相关术语、项目或向量的字段中,然后比较向量以确定哪些最相似。

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

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

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

语义搜索使用上下文线索在数以百万计的示例数据集中确定单词的含义。语义搜索还能确定在类似上下文中还可使用哪些单词。

例如,搜索“football”,在美国是指“soccer”,而在英国和世界其他地区是指“football”。语义搜索将根据用户的地理位置来区分结果。

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

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

个性化用户的搜索体验

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

语义搜索与关键字搜索

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

关键字搜索引擎使用的是查询扩展或简化工具,如同义词或省略词。它们还会使用自然语言处理和理解工具,如允许拼写错误、词汇切分和规范化。另一方面,语义搜索能够通过使用向量搜索返回与含义相匹配的查询结果。

以“chocolate milk”(巧克力牛奶)为例。 语义搜索引擎会区分“chocolate milk”(巧克力牛奶)和“milk chocolate”(牛奶巧克力)。 尽管查询中的关键字相同,但它们的书写顺序会影响含义。作为人类,我们知道“milk chocolate”(牛奶巧克力)是指各种巧克力,而“chocolate milk”(巧克力牛奶)是巧克力口味的牛奶。

为什么语义搜索很重要?

语义搜索之所以重要,是因为它有助于进行范围更广泛的搜索。由于语义搜索由向量搜索提供支持,因此它可以提供更直观的搜索体验,根据查询的上下文搜索意图生成匹配结果。

因为语义搜索算法可持续“学习”各种关键绩效指标 (KPI),例如转化率和跳出率,所以语义搜索有助于提高用户满意度。

利用 Elasticsearch 进行语义搜索

Elasticsearch 平台配备了 Machine Learning 和 AI 解决方案,包括一个语义搜索模型:Elastic Learned Sparse EncodeR (ELSER)。这个 NLP 模型由 Elastic 训练而成,可在易于部署的工具中实现语义搜索。

Elasticsearch 可以安全地存储您的数据,以实现快速搜索、微调相关性和高效扩展的强大分析功能。Elasticsearch 是 Elastic Stack(一套用于数据采集、扩充、存储、分析和可视化的免费开放工具)的核心组件。

深入了解 Elasticsearch