当前位置:网站首页 > SEO服务 > 正文

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

三石哥三石哥 2022-10-24 07:58:08 192


语义搜索如何工作的以及它是为谁服务的?


什么是语义搜索(揭秘微软语义搜索背后的技术知识)

对于简单的用户查询,搜索引擎可以仅使用关键词匹配可靠地找到正确的内容。“红色烤面包机”查询会提取标题或描述中带有“烤面包机”且颜色属性为红色的所有产品。为红色添加栗色等同义词,您可以匹配更多的烤面包机。

但是事情很快就开始变得更加困难:您必须自己添加这些同义词,并且您的搜索也会带来烤面包机。这就是语义搜索的用武之地。语义搜索尝试应用用户意图以及单词和短语的含义(或语义)来查找正确的内容。

它通过使用可能不会立即出现在文本(关键词本身)中但与搜索者想要的信息密切相关的信息来超越关键词匹配。例如,查询“毛衣”甚至“更漂亮”的毛衣对于关键词搜索来说是没有问题的,而查询“保暖衣物”或“如何在冬天保持身体温暖?” 语义搜索可以更好地服务。

可以想象,试图超越文本中嵌入的表面信息是一项复杂的工作。它已经被许多人尝试过,并且包含了许多不同的组件。此外,与任何显示出巨大希望的事物一样,语义搜索是一个有时用于真正名副其实的搜索的术语。

要了解语义搜索是否适用于您的业务以及如何最好地利用它,有助于了解它的工作原理以及构成语义搜索的组件。

语义搜索的要素是什么?

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

语义搜索应用用户意图、上下文和概念含义来将用户查询与相应的内容相匹配。它使用矢量搜索和机器学习来返回旨在匹配用户查询的结果,即使没有单词匹配也是如此。

这些组件协同工作以根据含义检索和排列结果。最基本的部分之一是上下文。

语境

搜索发生的上下文对于理解搜索者试图查找的内容很重要。

上下文可以像语言环境一样简单(搜索“足球”的美国人与搜索相同事物的中国人想要不同的东西)或更复杂。

智能搜索引擎将在个人级别和组织级别上使用上下文。个人层面对结果的影响被恰当地称为个性化。

个性化将使用该个人搜索者的亲和力、先前的搜索和先前的交互来返回最适合当前查询的内容。

它适用于各种搜索,但语义搜索可以走得更远。

在组级别上,搜索引擎可以使用有关所有搜索者如何与搜索结果交互的信息(例如最常点击哪些结果,甚至某些结果比其他结果更受欢迎的季节性)对结果进行重新排名。

同样,这显示了语义搜索如何为搜索带来智能,在这种情况下,智能是通过用户行为。

语义搜索还可以利用文本中的上下文。我们已经讨论过同义词在各种搜索中都很有用,并且可以通过将查询匹配扩展到相关内容来改进关键词搜索。

但我们也知道同义词不是通用的——有时两个词在一种情况下是等价的,而在另一种情况下却不是。

当有人搜索“足球运动员”时,正确的结果是什么?美国的答案与中国肯定不同。然而,像“奶粉”这样的查询可能不需要知道搜索者的位置。

这是通过语义搜索进行查询理解的示例。

用户意图

任何搜索引擎的最终目标都是帮助用户成功完成一项任务。该任务可能是阅读新闻文章、购买衣服或查找文件。

搜索引擎需要弄清楚用户想要做什么,或者用户意图是什么。我们可以在电子商务网站上搜索时看到这一点。当用户输入查询“乔丹”时,搜索会自动过滤类别“鞋子”。这预计用户的意图是寻找鞋子,而不是约旦杏仁(将在“食品和零食”类别中)。

通过领先于用户意图,搜索引擎可以返回最相关的结果,并且不会用文本匹配但不相关的项目分散用户的注意力。在搜索顶部应用排序时,这可能更加相关,例如从最低到最高的价格。这是查询分类的一个示例。

对查询进行分类并限制结果集将确保仅显示相关结果。

关键词和语义搜索之间的区别

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

我们已经看到了语义搜索的智能方式,但值得更多地了解它与关键词搜索的不同之处。

虽然关键词搜索引擎还引入了自然语言处理来改进这种词对词的匹配——通过使用同义词、删除停用词等方法——但该处理仍然依赖于词对词的匹配。

但是语义搜索可以返回没有匹配文本的结果,但是任何了解该领域的人都可以看到显然有很好的匹配。

这与关键词搜索和语义搜索之间的巨大差异有关,即查询和记录之间的匹配方式。

为了简化一些事情,关键词搜索是通过匹配文本来进行的。

由于文本质量的重叠,“苹果”将始终匹配“苹果手机”或“一种水果”。更具体地说,有足够的匹配关键词告诉引擎搜索一个的用户会想要另一个。

同样的匹配也会告诉引擎查询苹果更可能匹配单词“苹果手机”而不是水果“苹果”。

基于关键词的搜索引擎还可以使用同义词、替代词或查询词删除(所有类型的查询扩展和放松)等工具来帮助完成此信息检索任务。

NLP 和 NLU 工具(如错字容错、标记化和规范化)也有助于改进检索。

虽然这些都有助于提供改进的结果,但它们可能无法提供更智能的匹配和概念匹配。

概念上的语义搜索匹配

因为语义搜索是在概念上进行匹配,所以搜索引擎不能再根据两个词共有多少个字来判断记录是否相关。或者更复杂的查询,例如“洗衣店清洁剂”、“去除衣服上的污渍”或“我如何去除牛仔布上的草渍?”您甚至可以包括图像搜索之类的内容!

与此类似的例子是客户询问员工“马桶疏通器”在哪里。除非商店明确将他们的柱塞、排水管清洁器和马桶螺旋钻称为“马桶疏通器”,否则对请求只有纯关键词式理解的员工会失败。但是,我们希望员工足够聪明,能够在各种条款之间建立联系,并将客户引导到正确的通道。(也许员工知道客户可以对任何给定产品使用的不同术语或同义词)。

总结语义搜索所做的一个简洁的方法是说语义搜索通过使用向量搜索带来了更多的智能来匹配概念而不是单词。

有了这种智能,语义搜索可以以更人性化的方式执行,就像搜索者在搜索花式时寻找礼服和西装,而看不到牛仔裤。

什么不是语义搜索?

到现在为止,语义搜索应该是一种提高搜索质量的有力方法。因此,当您得知语义搜索的含义已被越来越广泛地应用时,您应该不会感到惊讶。

通常,这些搜索体验并不总是保证名称。虽然语义搜索没有官方定义,但我们可以说它是超越传统基于关键词的搜索的搜索。它通过结合现实世界的知识来根据查询和内容的含义得出用户意图来做到这一点。

这导致了这样的结论:语义搜索不仅仅是应用 NLP 并将同义词添加到索引中。

确实,标记化确实需要一些关于语言构造的真实世界知识,并且同义词适用于对概念匹配的理解。但是,在大多数情况下,它们缺乏将搜索提升到语义级别所需的人工智能。

由矢量搜索提供支持

正是这最后一点使语义搜索既强大又困难。通常,对于术语语义搜索,有一种隐含的理解,即涉及到某种程度的机器学习。几乎同样经常,这也涉及向量搜索。

向量搜索的工作原理是将有关项目的详细信息编码为向量,然后比较向量以确定哪些最相似。

同样,即使是一个简单的例子也能有所帮助。取两个词组:“丰田普锐斯”和“牛排”。现在让我们将它们与“混合动力”进行关联。哪个更可以关联?

两者都不会在文本上匹配,但您可能会说“丰田普锐斯”是两者中更相似的一个。

您可以这样说是因为您知道“普锐斯”是一种混合动力汽车,因为您在与混合动力一词类似的上下文中看到“丰田普锐斯”,例如“丰田普锐斯是值得考虑的混合动力车”或“像丰田普锐斯这样的混合动力车”。

但是,您可以肯定,您无法将“牛排”和“混合动力”关联起来。

绘制向量以查找相似性

这通常也是矢量搜索的工作方式。机器学习模型从网络、书籍或其他来源获取数千或数百万个示例,然后使用这些信息进行预测。

当然,对模型进行逐个比较是不可行的(“丰田普锐斯和混合动力车经常一起出现吗?混合动力车和牛排呢?”)因此发生的情况是模型将编码模式它注意到不同的短语。

这类似于您可能会如何看待一个短语并说“这个是积极的”或“那个包含一种颜色”。除了在机器学习中,语言模型的工作方式并不那么透明(这也是语言模型难以调试的原因)。

这些编码存储在一个向量或一长串数值中。然后,向量搜索使用数学计算不同向量的相似程度。考虑向量搜索所做的相似性测量的另一种方法是想象绘制出的向量。如果您尝试将矢量绘制成数百个维度,这将非常困难。

如果你想象一个向量被绘制成三个维度,原理是一样的。这些向量在绘制时形成一条线,问题是:这些线中哪一条最接近?

“牛排”和“牛肉”的线条将比“牛排”和“轿车”的线条更接近,因此更相似。这个原理称为向量或余弦相似度。矢量相似度有很多应用。

它可以根据以前购买的产品进行推荐,找到最相似的图像,并且可以确定哪些商品与用户的查询相比在语义上最匹配。

结论

随着强大的深度学习模型和支持它们的硬件的兴起,语义搜索是搜索应用程序的强大工具。虽然我们在这里触及了许多不同的常见应用程序,但还有更多使用矢量搜索和 AI 的应用程序。甚至图像搜索或从图像中提取元数据也可能属于语义搜索。我们正处于激动人心的时刻!

然而,它的应用仍处于早期阶段,其已知的强大功能可能会导致对该术语的滥用。语义搜索管道中有许多组件,确保每个组件都正确很重要。

如果做得正确,语义搜索将使用现实世界的知识,特别是通过机器学习和矢量相似性,将用户查询与相应的内容相匹配。

“进化”的搜索方式:揭秘微软语义搜索背后的技术

编者按:作为一项云搜索服务,Azure 认知搜索集成了强大的 API 和工具,帮助开发人员构建丰富的搜索体验。不止于现状,微软的研究员们为 Azure 认知搜索“加持”了语义搜索功能,可以让搜索引擎拥有语义排序、语义摘要、语义高亮、语义问答以及自动拼写校正等能力。本文将揭晓这些神奇功能背后的核心技术,涉及关键词包括预训练、图网络、多任务等。本文编译自微软研究院博客“The science behind semantic search: How AI from Bing is powering Azure Cognitive Search”。

智能化的语义搜索是搜索引擎追求的终极目标。多年来,微软的研究人员在持续探索可以实现智能化语义搜索的方法,并于近日将相关的研究成果集成到了微软 Azure 云计算平台的认知服务中——Azure 认知搜索(Azure Cognitive Search),为预览版中的所有 Azure 用户提供了语义搜索功能。这其中技术核心部分所涉及的很多研究成果都来自于微软亚洲研究院。

Azure 认知搜索是一项云搜索服务,它为开发人员提供了 API 和工具,以便他们基于 Web、移动端和企业应用程序中的专用异类内容,构建丰富的搜索体验。Azure 认知搜索具有多个组件,包括用于检索和查询的 API、通过 Azure 数据获取实现的无缝集成、与 Azure 认知服务的深度集成,以及用户所拥有的检索内容的持久存储。Azure 认知搜索默认使用的是信息检索常用的 BM25 算法。

为了提升微软必应(Bing)搜索的相关性,微软的研究和开发人员此前就通过基于 Transformer 的语言模型对必应搜索进行了改进。这些改进让搜索引擎不仅可以用关键词进行匹配,还可以通过使用单词和内容背后的语义来进行搜索,而这种转换的能力就是语义搜索。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

将语义搜索功能集成到 Azure 认知搜索中所实现的效果

语义搜索显著提高了必应搜索的搜索结果质量。但是微软的研究和开发团队在这个过程中发现要想最大限度地发挥 AI 的威力,需要大量的专业人才来集成和部署 AI 规模化的相关技术和产品,比如,对大规模基于 Transformer 的语言模型进行预训练、在不同的任务中进行多任务微调、在保证质量损失最小的情况下将大模型蒸馏成可部署的模型,等等。而这样的专业人才团队并不是每个公司都可以承担得起的。秉持着赋能每一人每一组织的公司理念,微软通过将相关研究成果集成到 Azure 认知搜索中,来降低人们使用 AI 规模化技术的门槛。

Azure 认知搜索中的语义搜索功能

下面,我们来详细了解一下 Azure 认知搜索中的语义搜索功能。

语义排序:大幅提高相关性。传统的搜索方式都是基于关键词对结果进行排序,而基于 Transformer 的语义排序引擎则能够理解文本背后的含义。在 A/B 测试中,语义搜索功能提高了对搜索结果的点击率(2.0%),对包含三个以上单词的搜索结果,其点击率也提高了4.5%。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

通过语义排序(右)来提高相关性的示例

语义摘要:提取关键信息。相关性只是一方面,搜索结果中的标题和摘要也非常重要。好的标题和摘要能够让用户“一眼”看出结果是不是自己想要的。

语义高亮:机器阅读理解。语义高亮的简单理解是:给一段搜索结果画重点,并用文字加粗的形式进行展示。通过语义高亮,用户可以直接获得所需的答案,或者通过快速扫描结果页面就可以查找到所需的文档,甚至直接获得一段摘要。使用机器阅读理解能够帮助找到一段话的重点,从而大幅度提升阅读效率。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

使用语义搜索实现提取摘要、语义强调的示例

语义问答:快速答案。疑问句查询是搜索引擎经常遇到的搜索方式,这背后用户往往想要优先获得一个简短、确切的答案,而不是文档。语义搜索可以通过机器学习阅读语料库中的所有文档,然后进行总结,并将答案置顶展示。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

语义搜索提取文档重点,展示快速答案

自动拼写校正。根据数据统计,用于输入的10%到15%的句子都存在拼写错误,错误的拼写会非常影响搜索结果的质量,而集成语义搜索的搜索引擎则可以实现自动拼写纠正。

背后的技术:预训练、图网络、多任务....

以上功能的实现,离不开微软研究院在 NLP 和语义搜索方面取得的突破性进展。研究人员和微软内部其他 AI 团队合作开发了一系列神经网络模型,不仅在 SQuAD 、GLUE 以及 SuperGLUE 等多个业界基准上获得了最好的结果,还积极布局了应用的落地,实现了微软相关产品性能的提升。

下面是微软实现语义搜索所用到的具体技术:

统一预训练语言模型:UniLM & UniLM v2

在 Azure 认知搜索中,预训练语言模型利用的是来自微软亚洲研究院的统一预训练语言模型 UniLM(Unified Language Model Pre-training),该模型是第一个统一的在语言理解和语言生成的基准上均表现优异的预训练模型。UniLM 涵盖了两大关键性的技术创新:一是,提出了统一的预训练框架,使得同一个模型可以同时支持自然语言理解和自然语言生成任务,而之前大部分的预训练模型都主要针对自然语言理解任务。第二大创新是,提出了部分自回归预训练范式和伪掩码语言模型,从而可以更高效地训练更好的自然语言预训练模型。这项研究成果的论文是“Unified Language Model Pre-training for Natural Language Understanding and Generation” ,已被 NeurIPS 2019 收录。

微软亚洲研究院的研究员在 ICML 2020 上还提出了一种新的训练 UniLM 的训练框架 Pseudo-Masked Language Models for Unified Language Model Pre-Training,“统一预训练伪掩码语言模型”,简称 UniLM v2。UniLM v2 使用传统的掩码通过自编码方式,学习被掩 token 与上下文的关系,并且使用伪掩码通过部分自回归方式,去学习被掩 token 之间的关系。必应搜索中的技术在2019年初是基于 BERT 来实现的,目前已经通过使用 UniLM v2 来提高其搜索质量。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

统一预训练语言模型架构

机器阅读理解:多粒度阅读理解框架

机器阅读理解的任务(MRC)是从文档 中找到给定问题的简短答案(如短语)或长答案(如段落)。由于最大长度的限制,所以大多数现有的 MRC 方法在答案提取的过程中将文档视为了单独的段落,而没有考虑它们之间的内在关系。

为了更好地为 MRC 建模,微软亚洲研究院的研究员们提出了基于图注意力网络和预训练语言模型的多粒度阅读理解框架,并且通过联合训练来建模两个粒度答案之间的联系。在这个框架中,首先会根据文档的层次性质,例如,段落、句子和符号等,为每个文档构建一个图网络,之后使用图注意力网络来学习不同层次的表示,最后会得到一系列结构化的表示,并汇总到答案选择模块得到答案。其中,长答案和短答案的提取任务可以一起训练,从而相互促进。

以上研究的论文为“Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension” ,已被 ACL 2020 收录,并且已经用于必应搜索的大部分问题回答任务。

多任务深度神经网络:MT-DNN

微软研究院和 Microsoft Dynamics 365 AI 团队合作提出了一个新的多任务深度神经网络模型——MT-DNN。此模型是第一个在 GLUE 排行榜上超过人类表现的 AI 模型,它集合了 BERT 的优点,并在10大自然语言理解任务上超越了 BERT,在多个流行的基准测试中创造了新的 SOTA 结果。

MT-DNN 结合了多任务学习和语言模型预训练,用于跨多个自然语言理解任务学习语言表示。MT-DNN 不仅利用了大量的跨任务数据,而且还受益于正则化效应(regularization effect ),这种正则化效应提高了模型的泛化能力,使其在面对新任务和领域时表现优异。语义搜索中的模型就是利用了跨各种搜索任务的多任务学习来最大化其性能。

深度自注意力知识蒸馏:MiniLM

大规模预训练模型在自然语言理解和生成任务中表现优异,但巨大的参数量和计算成本让其很难直接部署到线上产品中。为此,微软亚洲研究院提出了一种将基于 Transformer 的预训练大模型压缩成预训练小模型的通用方法 MiniLM ——深度自注意力知识蒸馏(Deep Self-Attention Distillation)。其核心思想是最大程度上将预训练 Transformer 模型中非常重要的自注意力(Self-Attention)知识迁移给小模型。

MiniLM 在单语言和多语言模型上进行了压缩实验,均取得了不错的效果。Azure 认知搜索的语义搜索解决方案使用了 MiniLM 技术,其效果是,只需原来大模型20%的成本,就可保持95%的准确率。

什么是语义搜索(揭秘微软语义搜索背后的技术知识)

MiniLM:深度自注意力知识蒸馏(Deep Self-Attention Distillation)


语义搜索背后的人工智能模型非常强大,并且已经在基准测试和必应搜索上得到了验证。通过将语义搜索集成到 Azure 认知搜索中,微软在普及高级机器学习技术,将 AI 普及化的道路上又迈出了重要一步。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3561739510@qq.com 举报,一经查实,本站将立刻删除。

转载请注明来自专注SEO技术,教程,推广 - 8848SEO,本文标题:《什么是语义搜索(揭秘微软语义搜索背后的技术知识)》

标签:

关于我

关注微信送SEO教程

搜索
最新文章
热门文章
热门tag
抖音优化提升网站排名百度SEO优化网站优化提高网站排名抖音小店SEO优化技巧SEO优化网站排名网站SEO优化seo优化seo网站优化关键词优化百度SEO排名seo小红书SEO优化排名关键词排名搜索引擎优化
友情链接