首页 / 专利库 / 软件 / 框架 / 使用深度学习模型的上下文相关的搜索

使用深度学习模型的上下文相关的搜索

阅读:640发布:2022-03-05

专利汇可以提供使用深度学习模型的上下文相关的搜索专利检索,专利查询,专利分析的服务。并且在本文中描述了一种用于基于上下文来提供搜索结果的 搜索引擎 ,在该上下文中已经提交了查询,如由上下文信息所表示的。搜索引擎通过基于对查询的考虑并且部分基于上下文概念向量和多个文档概念向量来进行操作,所述上下文概念向量和文档概念向量都是使用 深度学习 模型(例如, 深度神经网络 )生成的。上下文概念向量是通过使用深度学习模型将上下文信息投影到语义空间中而形成的。每个文档概念向量都是通过使用深度学习模型将与特定的文档相关联的文档信息投影到语音空间中而形成的。排序是通过提升(promote)与语义空间内的上下文相关的文档的排名,并且降低(disfavor)与语义空间内的上下文不相关的文档的排名来操作的。,下面是使用深度学习模型的上下文相关的搜索专利的具体信息内容。

1.一种用于执行搜索的方法,其由具有一个或多个计算设备的搜索引擎所实现,所述方法包括:
经由计算机网络从用户计算设备中接收查询以及相关联的查询信息;
识别与所述查询相关联的、关于在其中已提交了所述查询的上下文的上下文信息,所述上下文具有多个部分;
使用深度学习模型将所述上下文信息转换成语义空间中的多个上下文概念向量,每个上下文概念向量表示所述上下文的所述多个部分中的一个部分;
接收与文档相关联的文档信息,所述文档具有多个部分;
使用所述深度学习模型将所述文档信息转换成相同的语义空间中的多个文档概念向量,每个文档概念向量表示所述文档的所述多个部分中的一个部分;
对所述上下文概念向量与所述文档概念向量执行成对的比较以生成指示所述上下文和所述文档之间的所定义的语义关系的程度的相关性度量;
至少基于所述相关性度量而确定针对所述文档的排名分数;以及
基于所述排名分数来经由所述计算机网络向所述用户计算设备提供搜索结果,其中,所述深度学习模型是多层神经网络。
2.根据权利要求1所述的方法,还包括:
对以下操作进行重复:接收查询、识别上下文信息、转换所述上下文信息、接收文档信息或先前所生成的文档概念向量、针对多个文档进行比较并进行确定以生成针对所述文档的多个排名分数;以及
基于所述排名分数来对所述文档进行排序。
3.根据权利要求2所述的方法,还包括在初步排序操作中基于所述查询来识别所述多个文档。
4.根据权利要求1所述的方法,其中,所述文档关于实体,并且其中,所述文档信息描述所述实体的至少一个方面。
5.根据权利要求1所述的方法,其中,所述上下文信息描述在源文档内的接近于所述查询的文本内容。
6.根据权利要求1所述的方法,其中,所述上下文信息描述与已提交了所述查询的用户相关联的至少一个人口统计学特征。
7.根据权利要求1所述的方法,其中,所述上下文信息描述由已提交了所述查询的用户所展示的先前的行为。
8.根据权利要求1所述的方法,
还包括使用所述深度学习模型将所述查询信息转换成所述语义空间中的查询概念向量,
其中,针对所述文档的所述排名分数还基于所述查询概念向量。
9.根据权利要求7所述的方法,其中,所述先前的行为描述由所述用户所提交的先前的查询和/或由所述用户所进行的先前的搜索选择。
10.根据权利要求1所述的方法,其中,所述上下文信息描述已提交了所述查询的用户的当前的位置
11.根据权利要求1所述的方法,其中,所述上下文信息描述已提交所述查询的时间。
12.根据权利要求1所述的方法,其中,针对所述文档的所述排名分数也是基于所述上下文概念向量和/或所述文档概念向量而生成的。
13.根据权利要求1所述的方法,其中,将所述上下文信息转换成语义空间中的多个上下文概念向量和将所述文档信息转换成相同的语义空间中的多个文档概念向量中的每个操作都包括关于与所述上下文信息或所述文档信息相关联的输入向量的以下操作:
将所述输入向量转换成维度降低的向量;并且
使用多层神经网络将所述维度降低的向量转换成概念向量,
所述概念向量与所述上下文概念向量相关联或与所述文档概念向量相关联。
14.一种用于存储计算机可读指令的计算机可读存储介质,当由一个或多个处理设备执行时,所述计算机可读指令提供由搜索引擎所实现的排序框架,所述计算机可读指令包括:
被配置为经由计算机网络从用户计算设备中接收查询以及相关联的查询信息的逻辑;
被配置为识别与所述查询相关联的、关于在其中已提交了所述查询的上下文的上下文信息的逻辑,所述上下文具有多个部分;以及
被配置为基于多个上下文概念向量和多个文档概念向量对多个文档进行排序的逻辑,所述多个上下文概念向量中的每个上下文概念向量与使用深度学习模型的所述上下文信息的对应部分到语义空间中的投影相对应,
每个文档概念向量与使用所述深度学习模型的与特定的文档相关联的对应文档信息到所述语义空间中的投影相对应,并且,
其中,所述深度学习模型是多层神经网络。
15.实现搜索引擎的至少一个计算设备,所述计算设备包括:
被配置为通过计算机网络从用户计算设备中接收查询以及相关联的查询信息的接口
被配置为识别与所述查询相关联的、关于在其中已提交了所述查询的上下文的上下文信息的上下文识别模块,所述上下文具有多个部分;以及
被配置为基于多个上下文概念向量和多个文档概念向量对多个文档进行排序的排序模块,
所述接口模块还被配置为基于所述排序模块通过所述计算机网络对所述用户计算设备的输出来传递搜索结果,
所述多个上下文概念向量中的每一个与使用深度学习模型的所述上下文信息的对应部分到语义空间中的投影相对应,
每个文档概念向量与使用所述深度学习模型的与特定的文档相关联的对应文档信息到所述语义空间中的投影相对应,并且
其中,所述深度学习模型是深度神经网络

说明书全文

使用深度学习模型的上下文相关的搜索

背景技术

[0001] 搜索引擎可以使用排序算法来对关于由用户所输入的查询的文档的相关性进行排序。在许多情况下,排序算法提供强烈符合用户先前的有关搜索的行为的结果。例如,考虑这样的说明性场景,其中用户输入搜索项:“Michael Jordan”。排序算法可以提供排序结果,该排序结果强调包含著名的篮球运动员的名字Michael Jordan的那些文档。该结果反映了输入搜索项“Michael Jordan”的绝大多数用户都对访问有关篮球运动员Michael Jordan的文档感兴趣的事实。然而,输入名字“Michael Jordan”的一些用户可能对探索其他兴趣主题感兴趣,例如,由名叫Michael Jordan的建筑师所完成的作品。在那些场景中,搜索引擎可能给用户提供差的用户体验,这是因为结果将包含与用户的实际搜索目的不相关的许多文档。发明内容
[0002] 在本文中所描述的是部分地基于其中用户已经提交了查询的上下文来取回信息的搜索引擎。该搜索引擎通过使用深度学习模型将上下文信息(与上下文相关联)投影成为语义空间中的上下文概念向量来进行操作。该搜索引擎还将文档信息的多个实例(与相应的文档相关联)投影成为语义空间中的多个文档概念向量。接着,搜索引擎将上下文概念向量与每个文档概念向量进行比较,以产生多个相关性度量。每个相关性度量都反映特定的文档与查询的上下文的语义相关性的程度。接着,该搜索引擎基于该相关性度量(还可以有其他排序特征)对文档进行排序。从高级别的度来看,搜索引擎提升(promote)与语义空间内的上下文相关的文档的排名,并且降低(disfavor)与语义空间内的上下文不相关的文档的排名。总体上,该搜索引擎向已提交了查询的用户提供更有用的搜索结果。
[0003] 根据一个说明性方面,上下文信息可以描述在源文档内的与查询接近的文本、关于已提交查询的用户的人口统计学信息、提交查询的时间、提交查询的地点、已提交查询的用户的先前的有关搜索的行为等、或其任何组合。
[0004] 根据另一个说明性特征,深度学习网络可以对应于多层(深度)神经网络。
[0005] 提供了该发明内容以用简化的形式介绍概念的选择;在下文的具体实施方式中所进一步描述了这些概念。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用来限制所要求保护的主题的范围。附图说明
[0006] 图1结合与查询相关联的上下文信息示出了搜索引擎在其中处理由用户所提交的查询的说明性环境。
[0007] 图2示出了作为图1的搜索引擎的组件的排序框架的一个实现的概述。
[0008] 图3描绘了高级语义空间内的概念向量。
[0009] 图4示出了在图2中所介绍的排序框架的一个实现。
[0010] 图5示出了图2的排序框架的另一个实现。
[0011] 图6示出了图1的环境的一个实现。
[0012] 图7示出了关于图2的排序框架的进一步的细节。
[0013] 图8示出了作为图7的排序框架的组件的语义转换模的一个实现。
[0014] 图9示出了图2的排序框架的另一个实现,这里利用了图8的语义转换功能。
[0015] 图10示出了也在图1中示出的训练系统的一个实现。所述训练系统生成模型以由搜索引擎来使用。
[0016] 图11是示出了关于单个文档处理的图2的排序框架的操作的一个说明性方式的流程图
[0017] 图12是示出了关于多个文档处理的图2的排序框架的操作的一个说明性方式的流程图。
[0018] 图13是示出了图8的语义转换模块的操作的一个说明性方式的流程图。
[0019] 图14示出了可以用于实现在前述附图中所示出的特征的任何方面的说明性计算功能。
[0020] 在本公开和附图通篇中使用的相同的附图标记来指代相同的组件和特征。100系列附图标记指的是最初在图1中找到的特征、200系列附图标记指的是最初在图2中找到的特征、300系列附图标记指的是最初在图3中找到的特征,以此类推。

具体实施方式

[0021] 该公开组织如下。A部分描述了用于通过应用深度学习模型、基于与所提交的查询相关联的上下文信息来执行搜索的说明性功能。B部分阐述了解释了A部分中的功能的操作的说明性方法。C部分描述了可以用于实现在A部分和B部分中所描述的特征的任何方面的说明性计算功能。
[0022] 作为初步内容,附图中的一些附图在不同地被称为功能、模块、特征、元件等的一个或多个结构组件的上下文中描述了概念。可以由任何物理的或有形的机制(例如,由在计算机设备上运行的软件硬件(例如,芯片实现的逻辑功能)等、和/或其任何组合)以任何方式来实现在附图中所示出的各种组件。在一种情况下,所示出的将附图中的各种组件分成不同的单元可以反映在实际实现中使用对应的不同的物理和有形组件。可替代地或另外地,可以由多个实际物理组件来实现在附图中所示出的任何单个组件。可替代地或另外地,在附图中描绘的任何两个或更多个分隔的组件可以反映由单个实际物理组件所执行的不同的功能。进而待描述的图14提供关于在附图中所示出的功能的一个说明性物理实现的额外的细节。
[0023] 其他附图以流程图的形式描述了概念。在该形式中,将某些操作描述为组成以一定顺序执行的不同的块。这样的实现时说明性的而非限制性的。可以将在本文中所描述的某些块分组在一起并且在单个操作中执行、可以将某些块分割成多个组件块、并且可以以不同于在本文中所示出的顺序的顺序(包括执行块的并行的方式)来执行某些块。可以由任何物理和有形机制(例如,由在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等、和/或其任何组合)以任何方式来实现在流程图中所示出的块。
[0024] 关于术语,短语“被配置为”包含任何类型的物理的和有形的功能可以被理解为执行所标识的操作的任何方式。功能可以被配置为使用例如在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等、和/或其任何组合来执行操作。
[0025] 术语“逻辑”包含用于执行任务的任何物理的和有形的功能。例如,在流程图中所示出的每个操作都对应于用于执行该操作的逻辑组件。可以使用例如在计算机设备上运行的软件、硬件(例如,芯片实现的逻辑功能)等、和/或其任何组合来执行操作。当由计算设备实现时,逻辑组件表示作为计算系统的一部分的电气组件,无论以何种方式实现。
[0026] 以下的说明可以将一个或多个特征标识为“可选的”。该类型的声明不应当被解释为对可以被认为是可选的特征的详尽的指示;即,尽管没有在文本中明确地标识,但其他特征可以被认为是可选的。此外,对单个实体的任何描述不旨在排除对多个这样的实体的使用;类似地,对多个实体的描述不旨在排除对单个实体的使用。最后,术语“示例性的”或者“说明性地”是指在潜在的许多实现中的一个实现。
[0027] A、说明性的基于上下文的搜索机制
[0028] A、1、概述
[0029] 图1示出了包括用于生成深度学习模型106的训练系统104的环境102。深度学习模型106(在下文中简称为“模型”)是指表达输入语言项的底层的语义内容的任何模型。在一个实现中,模型106可以对应于多层神经网络,也被称为深度神经网络(DNN)。子部分A.2(下文)提供了关于模型106的一个实现的进一步的细节。训练系统104基于保存在数据存储108中的训练数据来生成模型106。(在本文中的所有情况下,术语“数据存储”可以对应于在单个地点提供的或者在多个地点上分布的一个或多个底层的物理存储机制。)数据收集模块110基于任何数据收集技术来提供训练数据。子部分A.3(下文)提供了关于训练系统104的一个实现的进一步的细节。
[0030] 搜索引擎112可以使用模型106(以及还有在下文中所描述的其他排序框架)来基于输入查询以及描述了其中已提交了查询的环境的上下文而对文档进行选择并排序。在一种情况下,本地计算设备使用搜索引擎112来从文档的本地(和/或远程)仓库中取回文档;在该场景中,搜索引擎112可以更适当地被称为取回引擎。在另一种情况下,远程处理系统使用搜索引擎搜索引擎112来从文档的远程仓库中取回文档。用户可以经由本地计算设备来与远程处理系统进行交互。在其他情况下,与搜索引擎112相关联的功能可以分布在每个本地计算设备和远程处理系统之间。在图6的说明的上下文中,将在下文中描述关于搜索引擎112的一个实现的进一步的细节。
[0031] 如在本文中所使用的术语,查询指的是由用户所指定的具有取回一个或多个文档的意图的任何信息。查询传达查询信息。查询信息可以例如对应于由进行查询的用户所指定的项。
[0032] 文档是指查询与其进行比较的任何承载内容的项。在一种情况下,文档对应于由任何创建文档的工具所生成的不同的承载文本的内容项,所述内容项对应于任何主题,并且以任何格式来表达。例如,文档可以对应于由文字处理程序所生成的文本文档、由电子邮件程序所生成的电子邮件消息、具有文本标签或注释的图像、网页或其他可以通过互联网访问的内容项等。在另一种情况下,文档可以对应于任何类型的数据结构中的任何记录、或者记录的任何非结构化的仓库中的任何记录。例如,文档可以对应于表格内的条目、与知识图相关联的节点等。例如,在一种情况下,文档可以关于由企业图所标识的个人;进而,该个人可以与诸如由个人授权和/或由个人消费的内容(例如,电子邮件消息等)之类的承载文本的内容相关联。搜索引擎112可以可选地依赖于用于在给定指定的搜索项的情况下取回文档的索引机制(未示出)。
[0033] 在一种特定的情况下,文档具体地关于实体。这样的文档可以被称为实体文档。进而,特定的实体关于任何兴趣焦点,例如,个人、地点、位置、产品等。实体文档可以包括描述与其相关的实体的不同的特性的各种实体组件。例如,所述实体组件可以描述实体的标题、与实体相关联的属性值、与实体文档相关联的其他文档、用户已经提交以访问实体文档的查询等。
[0034] 上下文描述了在其中用户已提交了查询的环境,如由上下文信息所表示的。例如,在一种情况下,用户可以通过选择在一些源文档(例如,网页、电子邮件等)内出现的一个或多个搜索项来输入查询。即,所选择的项组成查询。针对该查询的上下文信息可以对应于在源文档的内与查询接近地出现的词语。更加具体而言,针对查询的上下文信息可以对应于在源文档中在查询之前出现的n个词语、以及在源文档中在查询之后出现的m个词语(其中,在一些情况下n=m,在其他情况下n≠m)。
[0035] 可替代地或另外地,上下文信息可以描述已经提交了查询的用户的任何人口统计学特性。例如,内容信息可以描述用户的年龄、性别、教育等级、职业、兴趣等。可替代地或另外地,上下文信息可以描述用户的先前的行为。例如,上下文信息可以对应于由用户在一些时间窗口内所提交的先前的查询、和/或通过一些数量的先前的用户会话所提交的先前的查询等。上下文信息还可以描述由用户在一些时间窗口内和/或通过一些数量的先前的用户会话所进行的选择(例如,点击)。如在本文中所使用的,“点击”描述了用户可以表达对文档的兴趣的任何方式。例如,在一些情况下,用户可以通过使用鼠标设备等明确地对文档进行点击、或者在触摸感应的用户界面演示上对文档进行触摸等来在搜索结果页面中选择该文档。在其他情况下,用户可以通过使用任何输入设备在文档上悬停来选择该文档。在其他情况下,用户可以通过执行关于文档的一些事务(例如,通过填写问卷调查、购买对应的产品等)来选择该文档。会话是指用户与任何用户计算设备、和/或任何程序(例如,浏览器程序)的交互,所述交互通过登入/登出事件、事件、和/或任何其他因素来区分。
[0036] 可替代地或另外地,上下文信息可以描述与用户相关联的社交联系人。搜索引擎112可以从任何源中提取信息,例如,由用户使用社交网络服务所保存的联系人信息等。
[0037] 可替代地或另外地,上下文信息可以描述用户已提交了查询的地点。搜索引擎112可以基于诸如基于卫星的机制(例如,GPS机制)、三角测量机制、航线推算机制等之类的位置确定机制来确定用户的地点。可替代地或另外地,上下文信息可以描述用户已提交了查询的时间。
[0038] 上下文信息可以描述关于查询的提交的其他环境。作为示例而非限制引用了上文中的上下文信息的示例。与其相关联地,搜索引擎112可以应用合适的保护措施来确保与用户相关联的任何个人数据都是以合适的方式处理的,如在C部分中所阐述的。
[0039] 更加一般性的术语“语言项”对应于组成一个或多个词语和/或其他符号的序列的、以任何自然语言和/或其他符号化框架所表达的任何承载信息的项。例如,语言项可以对应于文档、查询、上下文等。语言项可以具有传达不同的相应的信息片段的两个或更多个部分(或组件)。例如,文档可以具有标题部分、关键字部分、以及正文部分。上下文也可以具有在上文中所阐述的各种组件。
[0040] 如在图1中所示的,搜索引擎112可以包括用于与至少一个用户计算设备116进行交互的搜索引擎接口模块114。在一种情况中,搜索引擎112是由与用户计算设备116相比单独的计算设备来实现的。在另一种情况下,搜索引擎112是由用户计算设备116自身实现的。
[0041] 上下文标识模块118提取与在其中已提交了查询的上下文相关联的上下文信息。上下文标识模块118可以针对不同的相应的类型的上下文信息来以不同的方式执行该任务。例如,在一种情况下,上下文标识模块118可以提取源文档内的、在具体的上下文窗口内的查询之前或之后的词语。在另一种情况下,上下文标识模块118可以从位置确定机制接收地点信息、从时钟机制接收时间信息、诸如此类。
[0042] 排序框架120接收与查询相关联的查询信息以及与查询的上下文相关联的上下文信息。基于该信息,排序框架利用模型106来对在多个数据存储122中所提供的多个文档进行排序。接着,排序框架120生成并传递搜索结果。搜索结果传达由排序框架120所执行的排序的结果。
[0043] 在一种情况下,可以在关于用户的远程地点处提供数据存储122中的至少一些。例如,数据存储122中的至少一些可以对应于经由广域网(例如,互联网)可访问的分布式存储资源。可替代地或另外地,数据存储122中的至少一些可以对应于由存储机制所提供的存储资源。可替代地或另外地,数据存储122中的至少一些可以对应于由用户计算设备116所提供的本地存储资源。
[0044] 图2示出了图1的排序框架120的至少一部分的一个实现。排序框架120被描绘为包括语义转换模块(简称为“转换模块”)的两个或更多个实例,例如,第一转换模块202和第二转换模块204等。每个转换模块使用模块106的实例化以将输入向量映射成输出概念向量。输入向量表示特定的语言项,例如,查询、上下文、文档等。概念向量在语义空间中被表达,并且揭示关于其所源自的对应的语言项的语义信息。更加一般性地,如在本文中所使用的术语“向量”宽泛地对应于与相应的向量维度相关联的、具有两个或更多个元素的任何信息。
[0045] 在一种情况下,排序框架120可以实际上提供转换功能的两个或更多个单独实例以实现在图2中所示出的多个转换模块(202、204)。例如,排序框架120可以提供与转换功能的不同的实例相关联的两个或更多个物理处理组件。可替代地或另外地,排序框架120可以提供转换功能的不同的软件实现的独立实例。可替代地或另外地,排序框架120可以使用转换功能的单个实例来顺序地处理单独的输入语言项,例如通过将一组文档一个接一个地投影到语义域中。
[0046] 在图2的特定的情况下,第一转换模块202使用模块106的第一实例来将上下文信息投影成为语义空间中的上下文概念向量yC。如上所述,上下文信息描述了在其中用户已提交查询的上下文。更加具体而言,第一转换模块202可以处理上下文信息的特定的组件,例如,源文档中的查询周围的文本的窗口。在该示例中,上下文概念向量yC传达该文本的窗口内的词语的意义,并且因此可以更加具体地被记为 其他转换模块(未示出)可以处理上下文信息的其他组件。例如,另一个转换模块(未示出)可以基于由用户所提交的先前的查询来生成上下文概念向量 另一个转换模块可以基于用户的兴趣来生
成上下文概念向量 以此类推。可替代地或另外地,排序框架120可以通过以下方
式来生成有关上下文的输入向量:将与上下文信息的单独的组件分别对应的输入信息的两个或更多个单独的实例连结在一起。例如,排序框架120可以将用户的查询周围的窗口中的文本附加至与用户的最后v个查询等相关联的文本。该聚合结果可以接着用于生成供应至第一转换模块202的单个输入向量,以生成单个上下文概念向量 然而,为了便
于说明,该上下文概念向量将从此以通用的方式简单地被称为yC,其可以对应于以在上文中所描述的任何方式所生成的上下文概念向量。
[0047] 第二转换模块204对与查询进行比较的无论何种候选项进行操作。例如,第二转换模块204可以使用模块106的第二实例来将文档信息投影为文档概念向量yD。文档信息描述特定的文档的文本内容。进而,文档概念向量yD在与文档概念向量yC相同的语义空间中传达文档的意义。
[0048] 像上下文一样,文档可以包括不同的部分,例如,文档的标题、文档的正文、与文档相关联的关键字等。尽管没有在图2中明确地示出,但不同的转换模块可以对不同的相应的文档部分进行操作以生成有关文档的不同的概念向量。例如,转换模块204可以仅仅对文档的标题进行操作以生成文档标题概念向量 另一个转换模块(未示出)可以对文档的正文进行操作以生成正文概念向量 以此类推。可替代地或另外地,排序框架120
可以通过将单个文档的两个或更多个部分连结在一起来生成聚合的有关文档的输入向量。
例如,排序框架120可以将文档的标题附加至与文档相关联的关键字以生成单个输入向量,可以接着由转换模块204来处理该单个输入向量以生成单个文档概念向量 等。
然而,为了便于说明,该文档概念向量将以通用地方式简单地被称为yD,其可以对应于以在上文中所描述的任何方式所生成的上下文概念向量。
[0049] 尽管没有在图2中明确地示出,但排序框架102可以使用多个其他转换模块来处理与其他相应的文档相对应的文档信息的其他实例。由此,排序框架120可以生成与上下文信息相关联的至少一个上下文概念向量yC、以及与在考虑之中的多个候选文档相关联的多个文档概念向量。
[0050] 比较模块206可以将每个上下文概念向量yC与每个文档概念向量yD进行比较以生成相关性度量。该相关性度量提供对两个概念向量之间的语义关系的程度的指示。可以以特定于环境的方式来定义相关性;例如,在一种情况下,相关性度量描述上下文概念向量yC与文档概念向量yD在语义空间中多接近。换句话说,在一种情况下,相关性度量指示查询的上下文(与上下文信息相关联)与在考虑之中的文档(与文档信息相关联)的概念上的相关程度。在语义空间中紧挨在一起的两个向量与相同或有关的概念相关。在语义空间中离得很远的两个向量指的是不相似的概念。
[0051] 排序模块208可以针对文档而生成表达关于用户的查询和与该用户的查询相关联的上下文的文档的相关性的排序分数。接着,排序模块208可以基于该排序分数来对文档进行排序,例如,从最相关到最不相关、或者相反。排序模块208基于特征的集合来执行其排序操作。所述特征可以部分地包括由比较模块206所生成的相关性度量。可替代地或另外地,所述特征可以包括由转换模块(202、204、……)所生成的原始概念向量;图2通过从转换模块(202、204、……)指向排序模块208的虚线示出了将概念向量作为特征的可选的使用。所述特征还可以包括传达不关于由转换模块(202、204、……)所执行的语义分析的用户的搜索的其他方面。例如,排序模块208还可以基于在查询和/或在考虑之中的文档等中所表达的项的流行度来执行排序。
[0052] 在一种情况下,排序模块208可以基于排序模型(RM)来执行其排序操作。离线操作可以以任何方式(例如,基于任何机器学习技术)来生成排序模型(RM)。
[0053] 图3是具有任何数量的维度的语义空间302的一部分的高级描绘。空间302示出了上下文概念向量yC 304以及与在考虑之中的两个相应的文档(文档A和文档B)相对应的至少两个文档概念向量(ydocA和ydocB)。相比于文档概念向量ydocB,上下文概念向量yC 304更接近于文档概念向量ydocA。基于这一观点,排序模块208可以总结,与文档B相比,文档A更相关于与在其中用户已提交他或她的查询的环境相关联的上下文。
[0054] 考虑具体的示例以进一步说明图3的示例。假设用户已经在阅读描述在考虑之中的特定的建筑的上下文中选择了查询“Michael Jordan”。在该查询周围的文本有可能关于建筑的主题。例如,文本可以包括诸如“蓝图”、“建筑面积”、“屋顶线”等之类的词语。假设第一候选文档关于建筑师Michael Jordan,而第二候选文档描述了篮球运动员Michael Jordan。可以预期,与第二文档概念向量ydocB相比,上下文概念向量yC更加接近于第一文档概念向量ydocA。排序模块208可以利用该发现来降低第二文档的相关度的排名并且提升第一文档的相关度的排名。与之相反,基于流行度的特征将投票支持选择第二文档而不是第一文档。训练过程可以将针对环境的权重附加至每个排序特征,以建立影响在考虑之中的候选文档的整体排序分数的特征的程度。
[0055] 在另一个示例中,执行搜索的用户可以他或她自己就是建筑师,这是由社交网站、专业网站等上的用户所提供的信息所反映的。排序框架120可以利用以上的知识来提升第一文档(关于建筑师“Michael Jordan”)的排名超过第二文档(关于同名的篮球运动员)的排名。在另一种情况下,用户可以已经执行了关于建筑主题的几个最近的搜索。再一次,排序框架120可以应用以上的知识来偏向于关于假想的建筑师“Michael Jordan”的文档。
[0056] 更加具体而言,特定的上下文可以具有g个不同的部分或组件(例如,临近的文本、查询历史、地点、时间等)。同样,在考虑之中的特定的候选文档可以具有h个不同的部分或组件(标题、关键字、正文等)。排序框架120可以针对上下文信息的每个维度以及文档信息的每个维度来生成概念向量。接着,比较模块206可以生成反映上下文信息的任何组件与文档信息的任何组件的比较的相关性度量;总共,比较模块206可以生成g×h个这样的相关性度量。排序模块208可以使用这g×h个这样的相关性度量中的任何一个或全部来作为排序特征而评估候选文档关于特定的上下文(和查询)的合适性。关于在考虑中的整组的文档D,排序模块208可以基于对D×g×h个相关性度量(以及其他特征)的考虑来执行分析。
[0057] 不同的排序架构可以利用在图3中所示出的方法。例如,图4示出了排序框架120的实现402,其中包括第一转换模块404、第二转换模块406、比较模块408、以及排序模块410(出于将在下文中明确的原因而被称为“第二排序模块”)。这些模块(404、406、408、410)执行与关于图2所描述的同名的模块(202、204、206、208)相同的功能。图4通过说明用于得出作为对第二转换模块406的输入而提供的文档信息的一种技术来对图2进行补充。
[0058] 更加具体而言,第一排序模块412接收用户的查询。接着,第一排序模块412将反映文档关于查询的相关性的排序分数分配至第一数据存储414中的多个文档中。基于这些排序分数,第一排序模块412接着以相关性的次序对文档进行排序,并且选择k个最相关的文档的集合。第一排序模块412可以将该k个文档的集合存储在第二数据存储416中,或者引用该k个文档的集合。
[0059] 接着,实现402继续以将上下文信息和与在第二数据存储416中所标识的每个文档相关联的文档信息的每个实例进行比较。实现402可以通过以下方式来执行该任务:顺序地将文档信息的不同的实例供应给第二转换模块406、或者使用多个并行的转换模块(未示出)来处理文档信息的多个实例。
[0060] 在执行上述功能时,第一排序模块412可以应用任何类型的排序模块(RM1)。在一个实现中,该排序模型没有将在其中用户已经提交查询的上下文考虑在内。相反,实现402依靠第二排序模块410以基于由比较模块408所提供的相关性度量来对k个文档的集合中的文档重新排序。通向排序模块412中的虚线指示排序模块412可以另外地或可替代地基于由转换模块(404、406)向其供应的上下文概念向量和/或文档概念向量来执行其排序。
[0061] 在视图2的实现402的一个变型中,存储在第一数据存储414中的文档对应于实体文档。每个实体文档关于特定的实体,例如,个人、产品、地点等。并且如在上文中所描述的,每个实体文档可以具有描述该实体的不同的组件。例如,关于特定的电影的实体可以具有描述该电影的标题、该电影的类型、该电影的流行度、提及该电影的网站、在该电影中出现的演员、该电影的导演等的属性值。
[0062] 在该变型中,数据存储416中的该k个文档的集合对应于与用户的查询相匹配的k个实体的集合,而没有将上下文信息考虑在内。实现402可以使用转换模块406将实体文档的任何组件投影到语音空间中,例如通过形成描述与实体相关联的标题等的输入向量。第二排序模块410的最终输出对应于现在将上下文信息考虑在内的实体的经重新排序的集合。
[0063] 图5示出了排序框架120的另一个实现502。这里,第一转换模块504接收与由用户所输入的查询相关联的查询信息。第一转换模块504使用模块106的第一实例来将查询信息投影成为语义空间中的查询概念向量yQ。第二转换模块506接收与在其中用户已经提交了查询的上下文相关联的上下文信息。第二转换模块506使用模块106的第二实例来将上下文信息转换成上下文查询向量yC。第三转换模块508接收描述了存储在数据存储510中的待考虑的这样的文档的集合中的候选文档的文档信息。第三转换模块508使用模块106的第三实例将文档信息转换成文档概念向量yD。
[0064] 比较模块512可以基于上述概念向量而形成针对每个文档的多个相关性度量。例如,第一比较模块516可以生成反映查询概念向量yQ与文档概念向量yD的概念相关性的相关性度量。第二比较模块516可以生成反映文档概念向量yD与上下文概念向量yC的概念相关性的相关性度量。尽管未在
[0065] 图5中示出,但可替代地或另外地,比较模块也可以基于对全部三个概念向量yQ、yD、和yC的联合分析而形成相关性度量。接着,排序模块518可以基于多个特征对多个候选文档进行排序,该多个特征包括由比较模块512向其供应的、针对每个文档的相关性度量。通向排序模块518中的虚线指示排序模块518可以另外地或可替代地基于原始概念向量(例如,yQ、yC、和yD)来执行其排序。
[0066] 概括而言,可以将图2的排序框架120应用至任何类型的语言项、这些语言项的任何组件、以及任何排序架构。例如,一些多级或级联排序架构可以在排序操作的任何级(例如,在图4中所例证的次级阶段)使用深度学习模型106。其他排序架构可以在单个包含性的排序操作(例如,在图5中所例证的)中应用深度学习模型106。其他排序架构可以在排序架构内的多个地点/阶段应用深度学习模型106。此外,如在本文中广泛使用的术语排序包含过滤操作。在过滤操作中,排序架构可以使用深度学习模型106来从进一步的考虑中排除候选文档。
[0067] 图6示出了图1的环境102的一个实现。环境可以包括经由计算机网络606耦合至本地用户计算设备604的远程处理系统602。在该实现中,远程处理系统602包括实现在图1中所描述的搜索引擎112的所有方面的远程搜索引擎608。用户可以例如通过与由远程搜索引擎608所托管的搜索接口页面进行交互而经由本地计算设备604来与远程搜索引擎608进行交互。
[0068] 在另一种情况下,用户可以与托管本地搜索引擎612的另一个用户计算设备610进行交互;在该情况下,搜索引擎612可以可替代地被称为取回引擎。在另一种情况下,图1的搜索引擎112的方面可以以任何方式分布在本地用户计算设备与远程处理系统之间。
[0069] 任何本地计算设备可以对应于例如:个人台式计算设备、膝上型计算设备、游戏控制台设备、机顶盒设备、平板类计算设备、智能电话、便携式音乐播放设备、电子书阅读器设备、可穿戴计算设备等。远程处理系统608可以被实现为与一个或多个数据存储相结合的一个或多个服务器计算设备。计算机网络606可以对应于广域网(例如,互联网)、局域网、一个或多个点对点链路等、或任何其组合。
[0070] A、2、语义转换模型
[0071] 图7示出了关于在图2中所示出的排序框架120的额外的细节。为了重新访问先前的说明,排序框架120可以包括两个转换模块(202、204),第一转换模块用于将上下文信息转换成上下文概念向量yC,而第二转换模块用于将文档信息转换成文档概念向量yD。比较模块206将上下文概念向量yC与文档概念向量yD进行比较以生成相关性度量。
[0072] 第一转换模块202包括维度降低模块(DRM)702和深度结构化语义模块(DSSM)704。类似地,第二转换模块204包括DRM 706和DSSM 708。DSSM基于深度学习模型106的相应的实例来执行其功能。
[0073] 每个DRM接收表示语言项的输入向量。例如,DRM 702接收表示上下文信息的输入向量,而DRM 706接收描述与特定的文档相对应的文档信息的输入向量。第一DRM 702生成第一维度降低的向量,而第二DRM 706生成第二维度降低的向量。维度降低的向量具有关于其对应的输入向量的降低的维度,但仍然表示与在输入向量中所表达的相同的信息。
[0074] 考虑DRM 702的操作;其他DRM以相同的方式进行操作。在一个实现中,DRM 702使用n元哈希技术来降低其输入向量的维度。例如,假设上下文对应于短语“汽车车身商店”,进而,其可以对应于接近输入查询的短语。排序框架120可以一开始将该短语表示为具有维度(条目)数等于可以以自然语言表达的所有可能的词语(包括词语“汽车”、“车身”、和“商店”)的输入向量。排序框架120可以针对输入向量中的条目“汽车”、“车身”、和“商店”而设置值1,并且针对向量中的所有其他条目而设置值0。如果在输入短语中一个词语多次出现,则针对该词语的条目将反映该词语出现的次数。换句话说,在上文中所描述的输入向量提供输入短语的词语袋表示;此外,输入向量被非常稀疏地填充。
[0075] DRM 702通过在考虑之中的输入短语的开端和结尾处的首先附加虚拟令牌(例如,令牌“#”)来降低输入向量的维度,例如,生成“#automotivebodyshop#”。接着,DRM 702可以对输入短语运行n-字母的窗口以生成n元的序列。例如,如果n=3,则DRM 702生成以下三元组的序列,“#au”、“aut”、“uto”、“tom”、“omo”等,直到到达最终的虚拟字符为止。接着,DRM 702可以形成具有维度的数量对应于特定的语言中的所有可能的三元组(其中,有可能排除一些不感兴趣的(uninteresting)三元组)的维度降低的向量。在该向量中,DRM 702可以针对在输入短语中出现的三元组条目而设置值1,例如,通针对“#au”而设置值1、针对“aut”而设置值1、并且针对其他条目而设置值0。如果短语包括多次出现的相同的三元组,则维度降低的向量中的对应的条目将指示三元组出现的次数。整体而言,存在与语言中独特的词语相比较不独特的三元组,因此维度降低的向量将具有与输入向量相比小得多的维度。
[0076] 在另一个实现中,DRM 702可以首先将输入短语转换成其语音表示(例如,通过将“cat”表达为“kat”),并且接着对输入短语的该语音表示来执行上述操作。例如,DRM 702可以对输入短语的语音版本执行n-字母窗口,并且接着基于在短语的语音表示中出现的三元组而形成维度降低的向量。
[0077] 概括而言,出于以更加时间高效和资源高效的方式来执行模型106的训练(在操作的离线阶段)的目的,期望降低输入向量的维度。通过使用维度降低的向量,排序框架120的实时操作也可以更加高效地进行操作。在其他情况下,排序框架120可以使用其他技术(除了上文中的n元维度降低的向量之外)来降低输入向量的维度,例如随机投影技术。在其他情况下,排序框架120可以完全省略对DRM的使用,这意味着其对原始未压缩的输入向量进行操作。
[0078] 每个DSSM使用模型106将维度降低的输入向量投影成概念向量。更加具体而言,前进至图8,该图示出了图7的DSSM 704的一个实现。第二转换模块204的DSSM 708具有类似的结构和操作方式,但是从图8中省略以便于说明。
[0079] 可以将DSSM 704实现为由多个层802组成的深度神经网络(DNN)。图8具体地示出了DSSM 704包括4层,但是,更加一般地,DSSM 704可以包括任何数量的层。进而,每一层都包括被称为神经元的多个元素。在给定的层中,每个神经元还连接至紧接着的前面一层中的零个、一个、或多个神经元(如果有的话),以及紧接着的后面一层中的零个、一个、或多个神经元(如果有的话)。这里“前面”和“后面”指的是关于信息流过DNN的方向的临接的层,在图8中该方向是从下至上的。即,关于给定的层,前面的层表示较低的层,而后面的层表示较高的层。
[0080] 层802包括用于存储值的最底层804,统一由向量z1来标记。更加具体而言,层804表示到DSSM 704的输入,并且因此存储与由DRM 702所提供的维度降低的向量相关联的值。下一层806存储与向量z1相关联的、具有从第一层中的值所得出的值的向量z2。下一层808存储与向量z2相关联的、具有从层806中的值所得出的值的向量z3。最终的输出层810存储与向量z3相关联的、具有从层808中的值所得出的值的概念向量y。
[0081] 图8还将各种层(804、806、808、810)表示为具有相应的不同的长度的方框,以指示不同的层具有相应的不同的维度。在没有限制的情况下,在一个实现中,供应至DRM 702的输入向量x具有500K的维度,这指示在所标识的词汇中存在500K个可能的词语。层804具有30K的维度。例如,如果使用三元组哈希技术来生成维度降低的向量,则层804的维度意味着在500K个词语的原始的语料库内存在30K个独特的三元组(其中有可能排除了一些不感兴趣的三元组)。层806和层808每个都具有300个元素的维度。并且层810具有128个元素的维度。然而,再一次,DSSM 704的另一个实现可以应用任何数量的层,每层都具有任意大小。
[0082] 更加正式而言,在一个实现中,可以将层804中的向量z1表达为z1=W1x,其中W1表示由DRM 702用来生成较低维的向量的无论何种转换。可以将层806和808中的向量zi表达为zi=f(Wizi-1+bi),其中,i=2,…,N-1。并且可以将层810中的向量y表达为y=f(WNzN-1+bN),其中,在图8的具体的示例中,N=4。符号Wi表示由(图1的)训练系统104所生成的第i个加权矩阵,而符号bi指的是也是由训练系统104所提供的可选的第i个偏项。被称为激活函数的函数f(x)可以以多种方式配成,例如,以下的tanh函数:
[0083]
[0084] 图9示出了对图8的排序框架120的应用。如图9所示,第一转换模块902生成表达与查询(Q)相关联的上下文(C)的语义空间中的上下文概念向量yC。第二转换模块904生成表示文档(D1)的相同的语义空间中的实体概念向量 第三转换模块906生成表示文档(Dn)的相同的语义空间中的实体概念向量 以此类推。
[0085] 更加具体而言,可以由不同的物理组件或软件实例来实现这三个(或更多个)转换模块(902、904、…、906)。或者,可以由单个物理组件或软件实例来实现这三个(或更多个)转换模块(902、904、…、906),该单个物理组件或软件实例一个接一个地按顺序处理语言项。此外,转换模块(902、904、…、906)中的任何一个转换模块可以可选地对其输入语言项(例如,对候选的文档D1、…、Dn)执行其处理操作以作为在用户提交查询Q之前的离线过程。
[0086] 第一比较模块908确定在语义空间中上下文C与文档D1之间的语义关系(例如,相似度)的程度,而第二比较模块910确定在语义空间中上下文C与实体文档Dn之间的语义关系(例如,相似度)。在一个实现中,每个比较模块可以通过如下的余弦相似度度量来计算上下文C与文档D之间的语义关系:
[0087]
[0088] 可以代替余弦相似度确定技术而使用其他比较技术,例如,Manhattan距离确定技术。
[0089] 排序模块912可以接收由比较模块(908、…、910)所生成的相关性度量。接着,排序模块916可以基于该相关性度量以及任何其他特征而将排序分数分配至每个候选实体文档。
[0090] A、3、训练系统
[0091] 图10示出了图1的训练系统104的一个实现。在一种说明性而非限制性的情况下,训练系统104处理(在数据存储108中所提供的)点击-浏览(click-through)数据的语料库以生成模型106。模型106表示在图8中所示出的加权矩阵(Wi)和偏差因子(bi)的集合。统一地,与模型106相关联的参数值涉及使用符号Λ。
[0092] 点击-浏览数据通常包括:(1)由实际的用户在一定的时间跨度内所提交的查询;(2)对用户所点击的文档和用户在提交了那些查询之后没有点击的文档的指示;以及(3)描述与相应的查询相关联的上下文的信息。在这里,再一次,术语“点击”旨在具有宽泛的内涵。其可以描述用户照字面地使用鼠标来点击搜索结果内的条目、或者一些其他选项的演示的情况。但是,术语点击还包含用户以任何其他方式显示出对文档感兴趣的情况。
[0093] 然而,所形成的点击-浏览数据包含训练数据的多个实例,每个实例组成训练示例。每个示例包括与所提交的特定的查询(Q)相关联的上下文(C)、用户响应于该查询而选择的文档(D+)(及其相关联的上下文)、以及用户响应于该查询而没有选择的至少一个文档(D-)(及其相关联的上下文)。在一种情况下,数据收集模块110可以从搜索引擎的档案中挖掘该信息。在该情况下,训练实例的未点击的文档(D-)可以对应于响应于查询而提供给用户,但用户拒绝选择的实际的文档。在其他情况下,收集模块可以从文档的语料库中随机地选择任何文档,只要用户响应于查询而没有实际地选择该文档。但是在后者的情况下,不要求将该文档D-实际地呈现给用户。无论如何,图10示出了包括四个未点击的文档的训练示例,但是训练示例可以包括任何数量的这样的文档。所述
文档可以对应于在数据存储中所提供的文档、任何数据结构中的记录(例如,有关实体的记录等)等。
[0094] 通过迭代地改变模型Λ的参数值,训练系统104通过使用迭代求解机制1002来迭代地达到由目标函数1004所定义的目标而运行。当迭代过程完成之后,最终的参数值组成经训练的模型Λ。进而,当被完全训练之后,目标函数1004数学地表达模型Λ想要达到的目标。在本情况下,在给定相应的上下文(与查询相关联)的情况下,目标函数刺激最大化所点击的文档的条件似然(conditional likelihood),并且在给定上下文的情况下,降低未点击的文档的条件似然。换言之,目标函数试图使得点击的文档的所评估的相关性尽可能高,而同时使得未点击的文档的所评估的相关性尽可能低。
[0095] 为了数学地得出目标函数,首先应当注意,给定查询上下文C的情况下,在训练示例中的点击的文档的概率P(D|C)可以首先被表达为以下的softmax函数:
[0096]
[0097] 项RΛ(C,D+)表示对于与模型Λ相关联的参数的给定的当前选择,在语义空间中查询上下文C与点击的文档D+之间的语义关系(相似度)。项D表示训练实例中的五个文档的集合,包括D+和四个未点击的文档,尽管如上所述,但训练实例可以包括任何数量的未点击的文档。项RΛ(C,D′)表示在语义空间中查询上下文C与训练实例中的文档(D′)中的一个文档之间的语义关系(相似度)。符号ψ表示通过经验得出的平滑因子(例如,其可以通过分析训练示例的留存的数据集来生成)。针对该个体训练示例,目标函数将表达尝试,该尝试使RΛ(C,D+)尽可能高而使每个RΛ(C,D-)尽可能低,以整体上使P(D+|C)尽可能高而使每个P(D-|C)尽可能低。
[0098] 整体而言,当将点击-浏览数据的语料库中的训练实例中的全部实例考虑在内时,目标函数涉及尝试在给定对应的查询的情况下最大化所点击的文档的条件似然,或者等同地,最小化以下的损失方程:
[0099]
[0100] 换句话说,目标是关于经验性的点击-浏览数据中的示例中的全部数据、或其一些子集而得出使得以上的方程最小的一组参数值。
[0101] 在一种方法中,迭代求解机制1002使用基于梯度的数字优化算法(例如,梯度下降技术)来解决以上的问题。迭代求解机制1002例如可以应用以下的更新规则来执行优化:
[0102]
[0103] 这里,Λt和Λt-1分别是在第t次和第t-1次迭代处的模型,而∈t是学习率参数。从高级别的角度来看,每当模型Λ每次迭代改变相对较大的量时,迭代求解机制1002对模型Λ进行大的改变,而每当模型Λ改变相对较小的量时使得模型Λ进行较小的改变。
[0104] 更加具体而言,假设在点击-浏览数据中有M个训练实例。第m个训练示例是其对应于响应于查询及其上下文已经被点击的查询上下文(Cm)与文档 的
特定的对。针对该个体的训练实例的损失函数是:
[0105]
[0106] 因此,损失函数的导数作为整体可以被表达为:
[0107]
[0108] 项 可以如下得出。为了简化标记,下文中将省略下标m。首先,在上文中所得出的损失函数可以被表达如下:
[0109] L(Λ)=log(1+∑jexp(-ψΔj))  (8),
[0110] 其中, 关于第N个加权矩阵WN的损失函数的梯度为:
[0111]
[0112] 其中:
[0113]
[0114] 并且,
[0115]
[0116] 现在,使得zi,C和zi,D分别指代在隐藏层i中针对查询内容C和文档D的激活。并且让yC和yD分别指示针对查询上下文C和文档D对输出层810的输出激活。此外,为了简化以下的标记,让a、b、c分别对应于 1/||yC||、1/||yD||。最后,假设由模型所使用的激活函数对应于在上文中在方程(1)中所描述的tanh函数。利用这些定义,可以使用以下的方程来针对所述对(C,D)来计算方程(10)的右手边的每一项:
[0117]
[0118] 其中,
[0119]
[0120] 并且,
[0121]
[0122] 在上述方程中,操作°是元件级的乘法(即,Hadamard乘)。
[0123] 可以通过如下的后投影(back projection)来计算针对以图8的方向向下移动通过DNN的每个连续的隐藏层的值{δ}:
[0124]
[0125] 以及
[0126]
[0127] 对应地,关于中间加权矩阵Wi,i=2,…,N-1的损失函数的梯度可以计算为:
[0128]
[0129] 其中, 等于:
[0130]
[0131] 迭代求解机制1002可以在分析的连续的反向和正向阶段中应用以上的方程,直到DNN在期望的宽容度内精确地建模出在点击-浏览数据中所表达的行为。可以使用与在上文中所描述的相同的方式来得出偏差因子bi。
[0132] 训练系统104可以使用并行处理资源1006来执行上述处理。可以以任何方式来实现并行处理资源1006,例如,使用硬件单元、软件单元、或其组合来实现。例如,训练系统104可以使用类似于在图9中所示出的架构。无论以何种方式实现的每个独立的处理单元都可以包括:用于计算与文档D相关联的维度降低的向量的维度降低模块(DRM)、用于在语义空间中生成文档概念向量yD的深度结构化语义模块(DSSM)、用于生成相关性度量R(C,D)的比较模块、以及用于生成P(C|D)的softmax模块。另一个处理单元可以在语义空间中生成查询C的表示yC。
[0133] 在以上的描述中,为了简化说明,上下文C和每个候选的文档D指的是一般性的意义。但是如在上文中所解释的,上下文C可以具有多个部分,并且文档D可以具有多个部分。排序框架120可以针对这些部分而生成独立的概念向量,并且接着基于这些概念向量的任何成对的比较而形成特征。为了支持该功能,训练系统104可以关于特定的上下文组件与特定的文档组件的每个对来执行上述训练操作。例如,训练系统104可以生成被配置为将用户的查询周围的文本(在源文档中)与每个候选文档的标题进行比较的第一DNN。训练系统104可以生成被配置为将关于用户的人口统计学信息与和每个候选的文档相关联的正文进行比较的第二DNN。在操作的实时阶段,排序框架120可以并行地应用所有这样的DNN,并且基于由这些DNN所提供的特征来执行排序。
[0134] 训练系统104还可以使用在上文中所描述的方程以生成可以用于比较查询与文档的概念相关性的至少一个DNN。可以修改方程以通过用Q(关于查询)来替代每个出现的C(关于上下文)来执行该训练任务。
[0135] 最后,可以在其他信息(即,不同于从点击日志中所挖掘的点击-浏览数据)中展示上下文与文档之间的关系。在其他实现中,收集模块110可以收集这样的信息以生成训练数据,并且训练系统104可以代替点击-浏览数据或者除了点击-浏览数据之外而对该训练数据进行操作。
[0136] B、说明性过程
[0137] 图11-13以流程图的形式解释了图1的环境102。由于已经在A部分中描述了以环境102的操作的基础原理,因此将在该部分中以概要的方式提出某些操作。
[0138] 从图11开始,该图示出了解释了图1的排序框架的操作的一种方式的过程1102。尽管被顺序地表示,但可以并行地执行在图11中所示出的一些操作。此外,在接收到查询之前,可以以离线方式执行一些操作。最后,图11示出了对(与已经提交的查询相关联的)上下文与候选文档的单个对所执行的过程。排序框架120可以关于全部候选的文档来执行这些操作。
[0139] 在框1104中,排序框架120接收与查询信息相对应的查询。在框1106中,排序框架120识别与查询相关联的上下文信息。上下文信息描述在其中已经提交了查询的上下文;或者,更加具体而言,上下文信息描述了该上下文的特定的组件或方面。在框1108中,排序框架使用深度学习模型106将上下文信息转换成高级语义空间中的上下文概念向量。在框
1110中,排序框架120接收与待考虑的候选文档相关联的文档信息;或者,更加具体而言,文档信息描述文档的特定的组件或方面,例如,其标题。接着,排序框架120使用深度学习模型
106将文档信息转换成语义空间中的文档概念向量。可替代地,每个文档概念向量可以作为离线处理的一部分被提前计算,并且接着和与其相关的文档一起存储、并且适当地被索引以允许之后取回。在操作的实时阶段中,在提交了查询之后,排序框架120可以取回先前存储的在考虑之中的文档的文档概念向量而不重新对其进行计算。在框1112中,排序框架120将上下文概念向量与文档概念向量进行比较以生成反映上下文与候选的文档之间的经定义的语义关系(例如,相似度)的程度的相关性度量。在框1114中,排序框架120至少基于相关性度量来确定针对候选的文档的排序分数。在框1116中,排序框架120基于该排序分数来提供搜索结果(例如,在所有其他候选的文档已经以类似于在上文中所描述的方式被处理之后)。
[0140] 图12示出了以另一种方式解释了排序框架120的操作的过程1202,在这里该过程关于对多个文档的处理。在框1204中,排序框架120接收查询及其相关联的查询信息。在框1206中,排序框架120识别与查询相关联的、与在其中已经提交了查询的上下文有关的上下文信息。在方框1208中,排序框架120基于上下文概念向量和多个文档概念向量而对多个候选的文档进行排序。上下文概念向量对应于使用深度学习模型的、上下文信息到高级语义空间中的投影。每个文档概念向量对应于使用深度学习模型的、与特定的候选文档相关联的文档信息到高级语义空间中的投影。
[0141] 图13示出了表示图7的转换模块202的操作的一种方式的过程1302;转换框架120中的其他转换模块以相同或相似的方式进行操作。在框1304中,维度降低模块(DRM)702接收表示语言信息(例如,上下文信息)的输入向量。在框1306中,DRM 702例如通过执行n元哈希、随机投影、或一些其他技术来将输入项转换成维度降低的向量。在框1308中,深度结构化语义模块(DSSM)704使用模型106将维度降低的项投影成为在语义空间中所表达的概念向量。
[0142] C、代表性计算功能
[0143] 图14示出了可以用于实现图1的环境102的任何方面的计算功能1402。例如,在图14中所示出的类型的计算功能可以用于实现训练系统104、和/或搜索引擎112的任何组件、和/或用户计算设备116等。在所有情况下,计算功能1402表示一个或多个物理的和有形的处理机制。
[0144] 计算功能1402可以包括一个或多个处理设备1404,例如一个或多个中央处理单元(CPU)、和/或一个或多个图形处理单元(GPU)等。
[0145] 计算功能1402还可以包括用于存储任何类型的信息(例如,代码、设置、数据等)的任何存储资源。例如,在没有限制的情况下,存储资源1406可以包括以下中的任何一项:任何类型的RAM、任何类型的ROM、闪存设备、硬盘、光盘等。更加一般地,任何存储资源可以使用用于存储信息的任何技术。此外,任何存储资源可以提供对信息的易失性或非易失性的保留。此外,任何存储资源可以表示计算功能1402的固定的或可移动的组件。当处理设备1404执行存储在任何存储资源或存储资源的组合中的指令时,计算功能1402可以执行在上文中所描述的功能中的任何功能。
[0146] 关于术语,存储资源1406中的任何存储资源、或存储资源1406的任何组合可以被视为计算机可读介质。在许多情况下,计算机可读介质表示一些形式的物理的和有形的实体。术语计算机可读介质还包含传播的信号,例如,经由物理导管和/或空气或其他无线介质等所发送和接收的信号。然而,具体的术语“计算机可读存储介质”和“计算机可读介质设备”明确地排除传播的信号本身,而包括所有其他形式的计算机可读介质。
[0147] 计算功能1402还包括用于与任何存储资源进行交互的一个或多个驱动机制1408,例如,硬盘驱动机制、光盘驱动机制等。
[0148] 计算功能1402还包括用于接收(经由输入设备1412)各种输入并且用于提供(经由输出设备1414)各种输出的输入/输出模块1410。说明性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化板、一个或多个视频摄像头、一个或多个深度相机、自由空间手势识别机制、一个或多个麦克语音识别机制、任何运动检测机制(例如,加速度计、螺旋仪等)等。一个特定的输出机制可以包括呈现设备1416和相关联的图形用户界面(GUI)1418。其他输入设备包括打印机、模型生成机制、触觉输出机制、归档机制(用于存储输出信息)等。计算功能1402还可以包括用于经由一个或多个通信导管1422与其他设备交换数据的一个或多个网络接口1420。一个或多个通信总线1424通信地将上述组件耦合在一起。
[0149] 可以以多种方式来实现通信导管1422,例如,通过局域网、广域网(例如,互联网)、点对点连接等、或其组合来实现。通信导管1422可以包括由任何协议或协议的组合所管理的硬接线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
[0150] 可替代地或另外地,可以至少部分地由一个或多个硬件逻辑组件来执行在前述部分中所描述的功能中的任何功能。例如,在没有限制的情况下,可以使用以下项中的一个或多个来实现计算功能1402,包括:现场可编程阵列(FPGA);专用集成电路(ASIC);专用标准产品(ASSP);片上系统(SOC);复杂可编程逻辑器件(CPLD)等。
[0151] 最后,在本文中所描述的功能可以应用各种机制来确保任何用户数据都是以符合可应用法律、社会规范、以及个体用户的期望和偏好的方式来处理的。例如,功能可以允许用户明确地选择进入(并且接着明确地选择退出)功能的规定。功能还可以提供合适的安全机制来确保用户数据的隐私性(例如,数据净化机制、加密机制、密码保护机制等)。
[0152] 此外,该说明书可以已经在说明性的挑战或问题的上下文中描述了各种概念。该方式的说明不表示其它人已经以在本文中所指定方式理解和/或明确地表达了挑战或问题。此外,所要求保护的主题不限于解决了所述挑战/问题中的任何或全部挑战/问题的实现。
[0153] 更加一般性地,尽管已经用特定于结构特征和/或方法行为的语言描述了本主题,但应当理解的是,在所附权利要求中所定义的主题不一定限于在上文中所描述的具体的特征或行为。相反,在上文中所描述的具体的特征和行为是作为实现权利要求的示例的形式而公开的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈