通过关键词采集文章采集api(微软研究员为Azure认知搜索“加持”了语义搜索功能)
优采云 发布时间: 2022-01-24 17:20通过关键词采集文章采集api(微软研究员为Azure认知搜索“加持”了语义搜索功能)
编者按:作为云搜索服务,Azure 认知搜索集成了强大的 API 和工具,帮助开发人员构建丰富的搜索体验。不止于现状,微软研究人员还为 Azure 认知搜索的语义搜索功能“加冕”,让搜索引擎具备了语义排序、语义摘要、语义高亮、语义问答、自动拼写纠正等能力。本文将揭示这些惊人功能背后的核心技术,涉及关键词包括预训练、图网络、多任务处理等。本文编译自 Microsoft Research 博客“语义搜索背后的科学:Bing 的 AI 如何为 Azure 认知搜索提供动力”。
智能语义搜索是搜索引擎追求的终极目标。多年来,微软研究人员一直在探索实现智能语义搜索的途径,最近将相关研究成果集成到微软Azure云计算平台的认知服务——Azure认知搜索(Azure Cognitive Search)中,为所有人提供语义搜索能力。预览版中的 Azure 用户。该技术核心部分涉及的多项研究成果均来自微软亚洲研究院。
Azure 认知搜索是一种云搜索服务,它为开发人员提供 API 和工具,以基于 Web、移动和企业应用程序中的专门异构内容构建丰富的搜索体验。Azure 认知搜索具有多个组件,包括用于检索和查询的 API、通过 Azure 数据提取的无缝集成、与 Azure 认知服务的深度集成以及用户拥有的检索内容的持久存储。默认情况下,Azure 认知搜索使用 BM25 算法,该算法通常用于信息检索。
为了提高微软必应搜索的相关性,微软研究和开发人员此前通过基于 Transformer 的语言模型改进了必应搜索。这些改进让搜索引擎不仅可以匹配关键词,还可以利用词和内容背后的语义进行搜索,转化的能力就是语义搜索。
将语义搜索功能集成到 Azure 认知搜索中的效果
语义搜索显着提高了必应搜索的搜索结果质量。但微软研发团队在此过程中发现,为了最大限度发挥 AI 的威力,需要大量的专业人员来集成和部署 AI 规模的相关技术和产品,例如*敏*感*词*的基于 Transformer 的语言模型。 . 预训练、跨不同任务的多任务微调、将大型模型提炼成质量损失最小的可部署模型等。而这样的专业团队并不是每个公司都能负担得起的。微软秉承赋能每一个人、每一组织的公司理念,通过将相关研究成果整合到 Azure 认知搜索中,降低了人们使用 AI 规模技术的门槛。
Azure 认知搜索中的语义搜索功能
让我们仔细看看 Azure 认知搜索中的语义搜索功能。
语义排序:显着提高相关性。传统的搜索方式是基于关键词排序结果,基于Transformer的语义排序引擎可以理解文本背后的含义。在A/B测试中,语义搜索功能提升了搜索结果的点击率(2.0%),三个词以上的搜索结果点击率也提升了4.@ >5%。
通过语义排序提高相关性的示例(右)
语义摘要:提取关键信息。相关性只是一方面,搜索结果中的标题和片段也很重要。好的标题和摘要让用户一眼就能看出结果是否是他们想要的。
语义突出显示:机器阅读理解。语义高亮的简单理解是关注一个搜索结果并以粗体显示。通过语义高亮,用户可以直接得到他们需要的答案,或者通过快速扫描结果页面找到他们需要的文档,甚至可以直接得到摘要。使用机器阅读理解可以帮助找到段落的重点,从而大大提高阅读效率。
使用语义搜索提取摘要、语义强调的示例
语义问答:快速解答。疑问式查询是搜索引擎经常遇到的一种搜索方法,其背后用户往往希望优先考虑简短而准确的答案,而不是文档。语义搜索可以使用机器学习来读取语料库中的所有文档,然后总结并在顶部显示答案。
语义搜索提取文档亮点并提供快速答案
自动拼写更正。据统计,用于输入的句子中有10%~15%存在拼写错误,拼写错误会极大地影响搜索结果的质量,集成语义搜索的搜索引擎可以实现自动拼写纠正。
背后的技术:预训练、图网络、多任务......
上述功能的实现离不开微软研究院在NLP和语义搜索方面取得的突破性进展。研究人员与微软内部其他 AI 团队合作开发了一系列神经网络模型,不仅在 SQuAD、GLUE、SuperGLUE 等多个行业基准测试中取得了最佳成绩,而且还积极部署应用,实现了微软相关产品。性能改进。
以下是 Microsoft 用于实现语义搜索的具体技术:
统一的预训练语言模型:UniLM 和 UniLM v2
在 Azure 认知搜索中,预训练语言模型利用了微软亚洲研究院的统一预训练语言模型 UniLM(Unified Language Model Pre-training),这是第一个统一的语言理解和语言生成模型。在基准测试中表现良好的预训练模型。UniLM 涵盖了两个关键的技术创新:一是提出了统一的预训练框架,使得同一个模型可以同时支持自然语言理解和自然语言生成任务,而之前的大部分预训练模型主要是针对自然语言的。语言理解任务。第二大创新是提出了部分自回归预训练范式和伪掩码语言模型,可以更高效地训练出更好的自然语言预训练模型。
在 ICML 2020 上,来自微软亚洲研究院的研究人员还提出了一种新的训练 UniLM 的训练框架,Pseudo-Masked Language Models for Unified Language Model Pre-Training,简称“Unified Pre-training Pseudo-Mask Language Model”,简称 UniLM v2。UniLM v2 使用传统掩码通过自动编码来学习掩码标记与上下文之间的关系,并使用伪掩码通过部分自回归来学习掩码标记之间的关系。必应搜索中的技术于 2019 年初在 BERT 上实现,并通过使用 UniLM v2 提高了其搜索质量。
统一的预训练语言模型架构
机器阅读理解:一个多粒度的阅读理解框架
机器阅读理解 (MRC) 的任务是从文档中找到给定问题的简短答案(例如短语)或长答案(例如段落)。由于最大长度的限制,大多数现有的 MRC 方法在答案提取过程中将文档视为单独的段落,而没有考虑它们之间的内在关系。
为了更好地对 MRC 进行建模,微软亚洲研究院的研究人员提出了一种基于图注意力网络和预训练语言模型的多粒度阅读理解框架,并联合训练对两个粒度答案之间的联系进行建模。在这个框架中,首先根据文档的层次性质,例如段落、句子和符号,为每个文档构建一个图网络,然后使用一个图注意力网络来学习不同层次的表示,最后是一个序列的结构获得。转换后的表示被聚合到答案选择模块中以获得答案。其中,长答案和短答案的抽取任务可以一起训练,从而相互促进。
上述研究论文是《Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension》,已获得 ACL 2020 收录 的认可,并已用于 Bing Search 中的大部分问答任务。
论文链接:
多任务深度神经网络:MT-DNN
微软研究院和 Microsoft Dynamics 365 AI 团队合作提出了一种新的多任务深度神经网络模型——MT-DNN。该模型是第一个在 GLUE 排行榜上超越人类表现的 AI 模型,它结合了 BERT 的优势,并在 10 个自然语言理解任务上优于 BERT,在多个流行的基准 SOTA 结果上创造了新的基准。
MT-DNN 结合了多任务学习和语言模型预训练,用于跨多个自然语言理解任务学习语言表示。MT-DNN 不仅利用了大量的跨任务数据,而且受益于正则化效应,提高了模型的泛化能力,使其在新的任务和领域中表现出色。语义搜索中的模型利用跨各种搜索任务的多任务学习来最大化它们的性能。
研究论文“用于自然语言理解的多任务深度神经网络”发表在 ACL 2019 上。
论文链接:
深度自注意力知识蒸馏:MiniLM
*敏*感*词*预训练模型在自然语言理解和生成任务中表现良好,但庞大的参数和计算成本使其难以直接部署到在线产品中。为此,微软亚洲研究院提出了通用方法 MiniLM - Deep Self-Attention Distillation,将基于 Transformer 的预训练大模型压缩成预训练小模型。核心思想是将预训练好的Transformer模型中非常重要的Self-Attention知识最大程度的转移到小模型上。
MiniLM 在单语言和多语言模型上进行了压缩实验,取得了不错的效果。Azure Cognitive Search 的语义搜索解决方案采用了 MiniLM 技术,具有以原创大模型 20% 的成本保持 95% 准确率的效果。
MiniLM:深度自注意力蒸馏
Semantic Search 背后的 AI 模型非常强大,并且已经在基准测试和 Bing Search 上得到验证。通过将语义搜索集成到 Azure 认知搜索中,微软在普及先进的机器学习技术和让人工智能普及方面又向前迈出了一大步。