用于搜索检索和排名的神经网络制造技术

技术编号:31774233 阅读:16 留言:0更新日期:2022-01-08 10:16
本文描述了一种用于利用神经网络标识和排名搜索结果的机制。机器学习模型是通过将包括查询

【技术实现步骤摘要】
【国外来华专利技术】用于搜索检索和排名的神经网络


[0001]本申请大体上涉及神经网络在搜索检索(search retrieval)和排名中的使用。更具体地,本申请涉及用于在信息检索系统中检索文档并且对文档排名的神经网络的改进。

技术介绍

[0002]诸如互联网搜索系统等信息检索系统以大规模操作,索引数百万个网页,以使信息可通过用户提交的查询进行搜索。这种搜索系统的目标是快速标识与用户查询相关的那些文档并且返回相关搜索结果。正确配置的神经网络已在研究环境中证明,以提高搜索结果的相关性。然而,由于这种方法在计算上是昂贵的,并且由于规模庞大且需要低时延,因此在搜索系统中使用神经网络被限于对研究环境之外的搜索结果的有限集合进行重新排名。
[0003]本实施例正是在该上下文内出现的。
附图说明
[0004]图1图示了现有技术搜索系统架构的示例。
[0005]图2图示了现有技术神经网络的示例。
[0006]图3图示了用于在搜索系统中训练神经网络的示例现有技术方法。
[0007]图4图示了根据本公开的一些方面的用于转换训练数据的示例方法。
[0008]图5图示了根据本公开的一些方面的用于训练机器学习模型的示例方法。
[0009]图6图示了根据本公开的一些方面的描绘预先计算项目(term)

文档索引的示例图。
[0010]图7图示了根据本公开的一些方面的示出预先计算的项目

文档如何被计算的示例流程图。
[0011]图8图示了根据本公开的一些方面的示出使用预先计算的项目

文档分数来计算文档排名的示例流程图。
[0012]图9图示了用于实现本文公开的系统和其他方面或者用于执行本文公开的方法的代表性架构。
具体实施方式
[0013]以下描述包括例示说明性实施例的说明性系统、方法、用户界面、技术、指令序列和计算机器程序产品。在以下描述中,出于解释的目的,若干具体细节被陈述,以便提供对本专利技术主题的各种实施例的理解。然而,将显而易见的是,对于本领域技术人员而言,本专利技术主题的实施例可以在没有这些具体细节的情况下实践。通常,众所周知的指令实例、协议、结构和技术不一定被详细示出。
[0014]概述
[0015]以下概述被提供来以简化的形式介绍对下面在描述中进一步描述的概念的选择。
该概述不旨在标识要求保护的主题的关键特征或者必要特征,也不旨在被用于限制要求保护的主题的范围。其唯一目的是以简化形式提出一些概念,作为稍后提出的更详细描述的序言。
[0016]在搜索系统中,基于机器学习的排名模型将整个查询与要被搜索的整个文档集合中的每个文档进行比较,因此仅被用于后期重新排名。每当搜索系统基于用户查询检索文档时,本公开的实施例能够应用于多种系统。本公开的实施例采用在查询项目无关构造下操作的机器学习模型。在本公开的上下文中,“查询项目”是指任何字符集合,诸如单词、子词、字节串等。“查询项目”小于整个查询字符串。因此集合中的每个文档能够被独立比较,然后各个查询项目的分数能够被组合为加权和,以得出整个查询的分数。
[0017]因为使用整个查询(或来自查询的n元语法的组合)的机器学习模型揭示并利用查询项目之间的隐藏关系,预计虽然本公开的实施例中公开的方法在计算上更有效,但是与使用整个查询的机器学习模型相比,它们的排名效率也会下降。然而,实验示出,与整个查询方法相比,在最先进的基于深度学习的排名模型上使用所公开实施例的查询项目无关方法示出最小的(或没有)排名有效性下降。
[0018]此外,本公开的查询无关方法允许使用深度学习排名模型离线地预先计算所有项目

文档分数。在搜索时,最终的查询

文档分数是通过预先计算的项目

文档分数的线性和来计算的。此外,预先计算的分数能够与倒排索引组合使用,以从web规模集合执行非常有效的检索。总而言之,这允许深度学习模型被用于大集合(例如web索引)上的检索。
[0019]此外,项目

文档分数的预先计算允许在诸如移动或其他客户端侧设备等计算有限的环境中部署深度学习搜索能力。这开辟了全新的场景,其中最先进的排名和检索模型能够在它们当前无法被部署的环境中使用。因此,本公开的实施例相对于当前方法具有效率、存储和隐私益处。
[0020]描述
[0021]基础搜索系统架构
[0022]图1图示了现有技术搜索系统架构的示例100。图1的架构的简化之处在于它没有讨论所有的实现细节。然而,它提供了足够的细节以允许本实施例的上下文被设置,并且它覆盖了与本公开相关的方面。
[0023]针对web规模的搜索系统(例如搜索数百万个文档的搜索系统),该系统首先提取关于要被搜索的文档的信息,并且构建能够针对用户查询进行搜索以标识相关文档的一个或多个索引。因此,一个或多个爬行器104标识文档集合,这些文档将表示搜索将在其上执行的语料库。web搜索系统中的文档集合是驻留在互联网102上的文档。因此,爬行器104爬行web,并且提取关于驻留在web上的文档的信息。在该上下文中,文档包括在互联网上可访问的任何信息,诸如网页、图像、其他类型的文档等。
[0024]所提取的信息由存储管理器106管理,该存储管理器106对信息进行去重(deduplicate),并且将信息存储在一个或多个页面存储库108中。一个或多个索引器110从页面存储库108中的信息创建文档索引112和/或具体类型信息114的索引。
[0025]当用户经由用户机器116提交搜索查询时,它由查询引擎接收,该查询引擎搜索索引112、114并且标识与搜索查询相关的文档集合。文档集合被排名120,并且最终结果集合响应于对用户机器116的查询返回。
[0026]文档通常通过多层排名器112、124进行排名,以便得到将被返回给用户的搜索结果的最终集合。多个层被用于计算效率。第一排名层122通常采用在计算上非常有效的方法来将文档集合快速缩小到可能与搜索查询相关的文档集合。后期排名层124通常采用更复杂但在计算上不太有效的方法,这些方法能够以更高的计算成本更好地将相关文档与非相关文档区分开来。因此,上层的目标是快速缩小考虑中的文档集合,而下层的目标是标识各个文档的相对相关性。
[0027]由于深度学习方法在计算上是昂贵的,但是能够更好地确定相对排名,它们通常仅被用于系统的后期排名阶段,因此被限于重新排名数据集而不是初始文档选择。
[0028]虽然以上描述是参照文档进行的,但是搜索结果通常不包括文档本身,而是包括文档可能所在的位置的链接。然而,本公开的实施例能够返回包括到文档的链接、文档本身和/或其组合的搜索结果。因此,本描述不区分返回搜索结果中的文档和返回到搜索结果中的文档的链接,并且返回文档应该包括返回文档、到文档的链接及其组合。
[0029]示例神经网络架构
[0030]图2图示了现有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于信息检索的方法,包括:提供对预先计算的项目

文档索引的访问,所述预先计算的项目

文档索引中的每个排名分数由机器学习模型提供,所述机器学习模型使用训练数据集而被训练,所述训练数据集包括查询项目

文档对;接收查询;将所述查询拆分为所述查询的组成查询项目;针对每个组成查询项目:基于来自所述预先计算的项目

文档索引的所述组成查询项目,为文档集合中的每个文档检索对应的排名分数;以及通过文档聚合所述组成查询项目的所述排名分数;通过对应的聚合排名分数对所述文档集合进行排名;选择已排名的所述文档集合的子集作为搜索结果集合;以及响应于所述查询返回所述搜索结果集合。2.根据权利要求1所述的方法,其中所述预先计算的项目

文档索引是使用包括以下步骤的方法而被创建的:标识查询集合;针对所述查询集合中的每个查询:将考虑中的查询拆分为所述查询的组成查询项目;以及针对每个组成查询项目:使用经训练的所述机器学习模型为所述文档集合中的每个文档计算所述排名分数;以及将所述排名分数存储在所述预先计算的项目

文档索引中。3.根据权利要求1所述的方法,其中所述预先计算的项目

文档索引是从另一系统被接收的。4.根据权利要求1所述的方法,其中所述预先计算的项目

文档索引是在执行所述方法的系统上被计算的。5.根据权利要求1所述的方法,其中所述机器学习模型是使用包括以下步骤的方法而被训练的:标识包括查询

文档对集合的第一训练数据;将每个查询

文档对拆分为查询项目

文档对集合,从而创建第二训练数据;标识与查询项目无关的损失函数;通过针对所述第二训练数据最小化所述与查询项目无关的损失函数,来训练所述机器学习模型。6.根据权利要求5所述的方法,其中所述与查询项目无关的损失函数是项目

文档分数的加权和。7.根据权利要求5所述的方法,其中所述与查询项目无关的损失函数是正文档示例的项目

文档分数与负文档示例的项目

文档分数的差异的加权和的函数。8.根据权利要求5所述的方法,其中每个项目

文档对包括:来自查询

文档对的查询项目;以及
来自所述查询
‑<...

【专利技术属性】
技术研发人员:C
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1