语义搜索的工作原理
语义搜索由矢量搜索提供支持,这使得语义搜索能够根据上下文相关性和意图相关性来提供内容和进行排序。矢量搜索会将可搜索信息的详情编码到相关术语、项目或矢量的字段中,然后比较矢量以确定哪些最相似。
支持矢量搜索的语义搜索通过同时在查询管道的两端工作来生成结果:启动查询时,搜索引擎会将查询转换为嵌入,嵌入是数据和相关上下文的数字表示。这些嵌入均以矢量形式存储。然后,kNN 算法(k 最近邻算法)将现有文档(与文本有关的语义搜索)的矢量与查询矢量进行匹配。然后,语义搜索会生成结果,并根据概念相关性对结果进行排名。
- 启动查询时,搜索引擎会将查询转换为嵌入,嵌入是数据和相关上下文的数字表示。这些嵌入均以矢量形式存储。
- 然后,kNN 算法(k 最近邻算法)将现有文档(与文本有关的语义搜索)的矢量与查询矢量进行匹配。
- 然后,语义搜索会生成结果,并根据概念相关性对结果进行排名。
上下文
在语义搜索中,上下文可以指任何附加信息,例如搜索者的地理位置、查询中单词的文本上下文,或搜索者搜索历史的上下文。
语义搜索使用上下文线索在数以百万计的示例数据集中确定单词的含义。语义搜索还能确定在类似上下文中还可使用哪些单词。
例如,搜索“football”,在美国是指“soccer”,而在英国和世界其他地区是指“football”。语义搜索将根据用户的地理位置来区分结果。
搜索者意图
语义搜索的作用是改善用户的体验。为了提供最相关的结果,它需要解读用户的意图,以理解他们的需求。他们需要信息吗?他们想买东西吗?根据查询及其上下文,语义搜索将按照相关性的顺序对结果进行排序。
语义搜索也可以通过查询分类设置进行修改或改进,例如首先生成评级最高的产品,然后再生成评级最低的产品。
相关内容:个性化用户的搜索体验
语义搜索与关键字搜索
语义搜索和关键字搜索之间的区别在于,关键字搜索会返回单词与单词、单词与同义词或单词与相似单词的匹配结果。语义搜索旨在匹配查询中单词的含义。在某些情况下,语义搜索可能不会生成直接的单词匹配结果,但会符合用户的意图。
关键字搜索引擎使用的是查询扩展或简化工具,如同义词或省略词。它们还会使用自然语言处理和理解工具,如允许拼写错误、词汇切分和规范化。另一方面,语义搜索能够通过使用矢量搜索返回与含义相匹配的查询结果。
以“chocolate milk”(巧克力牛奶)为例。 语义搜索引擎会区分“chocolate milk”(巧克力牛奶)和“milk chocolate”(牛奶巧克力)。 尽管查询中的关键字相同,但它们的书写顺序会影响含义。作为人类,我们知道“milk chocolate”(牛奶巧克力)是指各种巧克力,而“chocolate milk”(巧克力牛奶)是巧克力口味的牛奶。
超越传统搜索体验。请阅读我们的白皮书,发现将语义搜索引入应用程序的最佳方法。
为什么语义搜索很重要?
语义搜索之所以重要,是因为它有助于进行范围更广泛的搜索。由于语义搜索由矢量搜索提供支持,因此它可以提供更直观的搜索体验,根据查询的上下文和搜索意图生成匹配结果。
因为语义搜索算法可持续“学习”各种关键绩效指标 (KPI),例如转化率和跳出率,所以语义搜索有助于提高用户满意度。
深入了解 2024 年技术搜索趋势。请观看此网络研讨会,了解 2024 年的最佳实践、新兴方法以及热门趋势对开发人员的影响。
语义搜索的示例
语义搜索会根据用户的地理环境、用户以往的搜索历史和用户意图提供搜索结果。
个性化使用搜索者以前的搜索和互动来确定回复的相关性和排序。语义搜索还可以根据其他用户与它所获取的回复的互动情况,对结果进行重新排序。例如,当您在搜索引擎中键入“restaurants”(餐馆)时,它会生成您所在地区的搜索结果。
在更准确地理解用户意图的情况下,语义搜索便可对类似“Creuset vs. Staub dutch ovens”(Creuset 与 Staub dutch 烤箱对比)这样的查询做出回复,提供优先进行产品比较的内容,因为这正是用户的搜索意图所在。语义搜索会将“best Staub deals”(最优惠的 Staub)或“Creuset discounts”(Creuset 折扣)背后的意图识别为购买意图,并提供相应的回复。
另一个示例是预测文本。当您在搜索栏中键入查询时,它会使用语义搜索来补全您的查询,并根据上下文、常见搜索和过去的搜索历史来推荐相关的搜索词。
语义搜索的优势
语义搜索通过改善搜索体验,让众多公司和他们的客户都受益良多。
更易于客户使用
客户可能记不住专业术语,也想不起来具体的产品名称。借助语义搜索,客户输入模糊的搜索查询,便可获得具体的结果。客户还可以使用文字描述进行搜索,以发现相关名称。例如,您可以通过搜索所知道的歌词来发现歌曲并找到歌名。
因为语义搜索会通过考虑意图和上下文来解读搜索含义,所以客户方面的体验更像是人与人之间的互动。
概念比关键字更强大
通过匹配概念而不是关键字,语义搜索可以生成更准确的结果。通过维度嵌入,一个矢量代表一个单词的概念。“Car”(汽车)不再只与“car”(汽车)或“cars”(轿车)匹配,它还与“driver”(司机)、“insurance”(保险)、“tires”(轮胎)、“electric”(电动)、“hybrid”(混合动力)等匹配,因为这些单词都与“car”(汽车)的矢量相关联。
因此,由矢量搜索提供支持的语义搜索扩展了简单匹配由词元表示的关键字的概念。
更有利于开展业务
通过理解用户意图,语义搜索可以提升销售额和客户满意度。用户意图可以是信息性的、交易性的、导航性的,也可以是商业性的。理解意图可以让搜索引擎更好地满足客户需求。这将会增进客户与品牌的关系,从而更有利于开展业务。
利用 Elasticsearch 进行语义搜索
Elasticsearch 平台配备了 Machine Learning 和 AI 解决方案,包括一个语义搜索模型:Elastic Learned Sparse EncodeR (ELSER)。这个 NLP 模型由 Elastic 训练而成,可在易于部署的工具中实现语义搜索。
请观看本视频,了解 Elastic 的零样本编码器模型:它的工作原理,以及为什么它可以帮助您快速实现 AI 搜索应用和生成式 AI 体验的语义搜索。Elastic 的 Machine Learning 模型不需要训练,因此可节省成本和时间。
您接下来应该怎么做
当您准备好后,我们可以通过下面四种方法帮助您从业务数据中获取见解:
- 开始免费试用,并了解 Elastic 可以为贵公司提供什么帮助。
- 浏览我们的解决方案,了解 Elasticsearch 平台的运作方式,以及这些解决方案如何满足您的需求。
- 了解如何在企业中提供生成式 AI。
- 与您认识且喜欢阅读此类内容的人分享本篇文章。通过电子邮件、LinkedIn、Twitter 或 Facebook 将本篇文章分享给他们。