首页 / 专利库 / 专利权 / 实施例 / 部分地基于多个点进特征来排名并提供搜索结果

部分地基于多个点进特征来排名并提供搜索结果

阅读:308发布:2020-07-08

专利汇可以提供部分地基于多个点进特征来排名并提供搜索结果专利检索,专利查询,专利分析的服务。并且各 实施例 被配置成基于用户查询提供信息。在一实施例中,一种系统包括具有可用于作为查询响应的一部分来对搜索结果进行排名的排名组件的搜索组件。在一个实施例中,该排名组件包括可以使用一个或多个点进特征来对响应于查询而返回的搜索结果进行排名的排名 算法 。其他实施例也是可用的。,下面是部分地基于多个点进特征来排名并提供搜索结果专利的具体信息内容。

1.一种用于提供信息的系统,包括:
被配置成基于查询输入来定位搜索结果的搜索组件;
被配置成存储与包括一个或多个排名特征的所述查询输入相关联的信息的数据库组件,其中所述一个或多个排名特征能够与关联于所述搜索结果的用户动作或用户无动作相关联,所述用户动作或用户无动作能够相对于先前用户所执行的同一查询或类似查询的搜索结果来收集;以及
被配置成至少部分地基于排名函数和包括基于动作的特征和基于无动作的特征的所述一个或多个排名特征来对所述搜索结果进行排名的排名组件,其中在根据排名次序提供搜索结果时所述搜索组件能够使用所述搜索结果的排名。
2.如权利要求1所述的系统,其特征在于,还包括被配置成在执行与搜索索引相关联的索引操作时使用所述一个或多个经更新的排名特征的索引组件。
3.如权利要求1所述的系统,其特征在于,所述一个或多个排名特征包括从包括正文、标题、作者、生成的标题、锚文本、以及URL的组中选择的一个或多个动态排名特征。
4.如权利要求1所述的系统,其特征在于,所述一个或多个排名特征包括从包括点击距离、URL深度、文件类型、以及语言的组中选择的一个或多个静态排名特征。
5.如权利要求1所述的系统,其特征在于,所述排名函数还包括如下定义的打分函数:
分数

其中,
hj=tanh((Σi=1nxi·wij)+tj)
以及,
xi表示所述打分函数的一个或多个输入,
w2j表示隐藏节点的权重,
wij表示所述输入的权重,
tj表示阈值数,以及
tanh是双曲正切函数。
6.如权利要求1所述的系统,其特征在于,在对所述搜索结果进行排名时,所述排名组件能够使用所述一个或多个点进参数,其中所述一个或多个点进参数还包括以下一个或多个:
与所述搜索结果被点击的次数相关联的点击参数;
与所述搜索结果被跳过的次数相关联的跳过参数;
对应于与所点击的搜索结果相关联的查询串的并集的第一流参数;以及,
对应于与所跳过的搜索结果相关联的查询串的并集的第二流参数。
7.如权利要求6所述的系统,其特征在于,所述搜索组件还被配置成更新所述点进参数中的一个或多个,在更新所述点进参数中的一个或多个时包括使用与用户同所述搜索结果如何交互相关联的信息。
8.如权利要求7所述的系统,其特征在于,所述搜索组件还被配置成更新所述一个或多个点进参数,其中对所述一个或多个点进参数的更新对应于用户所选择的搜索结果或跳过的搜索结果。
9.如权利要求1所述的系统,其特征在于,所述一个或多个排名特征包括从包括正文、标题、作者、生成的标题、锚文本、以及URL的组中选择的一个或多个动态排名特征和从包括点击距离、URL深度、文件类型、以及语言的组中选择的一个或多个静态排名特征。
10.如权利要求6所述的系统,其特征在于,所述排名组件还被配置成计算与所述点击参数相关联的输入值,其中计算得到的输入被定义为:
(NcKNc+Nc-MNc)SNc.
11.如权利要求6所述的系统,其特征在于,所述搜索组件还被配置成计算与所述跳过参数相关联的输入值,其中计算得到的输入被定义为:
(NsKNs+Ns-MNs)SNs.
12.如权利要求6所述的系统,其特征在于,所述搜索组件还被配置成计算与所述第一流参数相关联的输入值,其中计算得到的输入被定义为:
((ΣtQTFtk1+TFt·log(Nnt))-M)S
以及,
TEt=(ΣpD\PcTFt,p·wp·1+bp(DLpAVDLp+bp))+TEt,pc·wpc·1+bpc(DLpcAVDLpc+bpc).
13.如权利要求6所述的系统,其特征在于,所述搜索组件还被配置成计算与所述第二流参数相关联的输入值,其中计算得到的输入被定义为:

以及,
TFt=TFt,ps·wps·1+bps(DLpsAVDLps+bps).
14.一种搜索引擎,其被配置成:
接收与一查询相关联的信息;
定位与所述查询相关联的搜索结果;
计算与点击参数和所述搜索结果相关联的第一输入;
计算与跳过参数和所述搜索结果相关联的第二输入;以及,
使用所述第一和第二输入对所述搜索结果进行排名。
15.如权利要求14所述的搜索引擎,其特征在于,还被配置成:
计算与第一流参数和所述搜索结果相关联的第三输入;
计算与第二流参数和所述搜索结果相关联的第四输入;以及,
使用所述第一、第二、第三、以及第四输入中的至少三个来对所述搜索结果进行排名。
16.如权利要求14所述的搜索引擎,其特征在于,还被配置成使用与用户同所述搜索结果的交互相关联的点击参数和跳过参数更新来更新存储。
17.如权利要求14所述的搜索引擎,其特征在于,还被配置成使用与用户同所述搜索结果的交互相关联的流参数更新来更新存储。
18.一种提供信息的方法,包括:
接收包括一个或多个关键字的查询;
部分地基于所述一个或多个关键字来搜索候选;
部分地基于所述一个或多个关键字来找到查询候选;
确定与先前用户动作和所述查询候选中的至少一个相关联的第一输入值;
确定与先前用户无动作和所述查询候选中的至少一个相关联的第二输入值;以及,
使用打分函数和所述第一和第二输入值中的一个或多个来部分地基于打分判定来对所述查询候选的集合进行排名。
19.如权利要求18所述的方法,其特征在于,还包括:
确定与文本流和用户对所述查询候选中的至少一个的选择相关联的第三输入值;以及
使用打分函数和所述第一、第二、和第三输入值中的一个或多个来部分地基于打分判定来对所述查询候选的集合进行排名。
20.如权利要求18所述的方法,其特征在于,还包括根据数字次序对文档集合进行排名。

说明书全文

背景

计算机用户具有不同的方式来定位可存储在本地或远程的信息。例如,搜索引擎可使用关键字来用于定位文档和其他文件。搜索引擎还可以用来执行基于web的查询。搜索引擎尝试基于查询返回相关结果。

概述

提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。该概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。

实施例被配置成提供信息,包括在提供搜索结果时使用一个或多个排名特征。在一实施例中,一种系统包括搜索引擎,该搜索引擎包括可被配置成基于查询使用一个或多个点进排名特征来排名并提供搜索结果的排名算法

通过阅读以下详细描述并查阅相关联的附图,这些和其他特征和优点将是显而易见的。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的本发明

附图简述

图1描绘被配置成管理信息的示例系统的框图

图2是描绘排名和查询过程的示例的流程图

图3是描绘排名和查询过程的示例的流程图。

图4是示出用于实现此处所述的各个实施例的计算环境的框图。

详细描述

各实施例被配置成提供信息,包括在提供搜索结果时使用一个或多个排名特征。在一实施例中,一种系统包括搜索引擎,该搜索引擎包括可被配置成基于查询使用一个或多个点进排名特征来排名并提供搜索结果的排名算法。在一个实施例中,一种系统包括排名组件,该排名组件可以使用点击参数、跳过参数、以及一个或多个流参数来排名并提供搜索结果。

在一个实施例中,一种系统包括搜索组件,该搜索组件包括可作为计算机可读存储介质的一部分来包括的搜索应用程序。该搜索应用程序可用来部分地基于用户查询和其他用户动作和/或无动作来提供搜索结果。例如,用户可以向该搜索应用程序输入关键字,并且该搜索应用程序可以使用该关键字来返回相关搜索结果。用户可以点击或不点击搜索结果来得到更多信息。如下所述,在排名并返回搜索结果时,搜索应用程序可以使用基于先前动作和先前无动作的信息。相应地,在返回相关搜索结果时,该搜索应用程序可以使用基于搜索结果的用户交互来提供附加焦点。例如,在基于用户查询对搜索结果进行排名并返回经排名的搜索结果时,该搜索应用程序可以使用点进信息。

图1是包括索引、搜索、以及其他功能的系统100的框图。例如,系统100可包括索引、搜索、以及可用来索引作为经索引的数据结构的一部分的信息并使用该经索引的数据结构搜索相关数据的其他应用程序。如下所述,系统100的各组件可用来至少部分地基于查询来排名并返回搜索结果。例如,系统100的各组件可被配置成提供可用来部分地基于所提交的可包括一个或多个关键字、短语、以及其他搜索项的查询来向用户浏览器返回搜索结果的基于web的搜索引擎功能。用户可以使用诸如例如浏览器或搜索窗口等用户界面103来向搜索组件102提交查询。

如在图1所示,系统100包括可被配置成部分地基于查询输入来返回结果的搜索组件102,诸如例如搜索引擎。例如,搜索组件102可用于使用一个或多个词语、短语、概念、以及其他数据来定位相关文件、文档、网页、以及其他信息。搜索组件102可用于定位信息并可由操作系统(OS)、文件系统、基于web的系统、或其他系统使用。搜索组件102还可作为内插程序组件来包括,其中搜索功能可由宿主系统或应用程序来使用。

搜索组件102可被配置成提供可与诸如文档等文件相关联的搜索结果(例如,统一资源定位符(URL)),例如文件内容、虚拟内容、基于web的内容、以及其他信息。例如,搜索组件102在返回与本地文件、远程联网的文件、本地和远程文件的组合等相关联的搜索结果时可以使用文本、专有信息、和/或元数据。在一个实施例中,在提供搜索结果时,搜索组件102可以与文件系统、虚拟web、网络、或其他信息源交互。

搜索组件102包括可被配置成至少部分地基于排名算法106和一个或多个排名特征108来对搜索结果进行排名的排名组件104。在一个实施例中,排名算法106可被配置成提供可由搜索组件102出于排序目的来使用的数字或其他变量。排名特征108可被描述为在标识搜索结果的相关性时可以使用的基本输入或原始数字。排名特征108可以在数据库组件110中收集、存储、并维护。

例如,点进排名特征可以使用多个查询日志记录表来存储和维护,该表还可包含与用户查询相关联的查询信息。在一替换实施例中,排名特征108可以在包括本地、远程、以及其他存储介质的专用存储中存储和维护。排名特征108中的一个或多个可以是排名算法106的输入,并且作为排名判定的一部分,排名算法106可用于对搜索结果进行排名。如下所述,在一个实施例中,作为排名判定的一部分,排名组件104可以操纵一个或多个排名特征108。

相应地,在使用排名特征108中的一个或多个作为排名判定的一部分时,搜索组件102可以使用排名组件104和相关联的排名算法106来提供搜索结果。可以基于相关性排名或某些其他排名来提供搜索结果。例如,搜索组件102可以至少部分地基于排名组件104使用排名特征108中的一个或多个所提供的相关性判定来从最相关到最不相关呈现搜索结果。

继续参考图1,系统100还可包括可用来索引信息的索引组件112。索引组件112可用来索引并分类信息以存储在数据库组件110中。此外,在相对多个全异信息源进行索引时,索引组件102可以使用元数据、内容、和/或其他信息。例如,索引组件112可用于构建将关键字映射到文档(包括与文档相关联的URL)的倒排索引数据结构。

在根据排名组件104所提供的排名来返回相关搜索结果时,搜索组件102可以使用经索引的信息。在一个实施例中,作为搜索的一部分,搜索组件102可被配置成标识候选结果集合,诸如例如包含诸如例如关键字和短语等用户查询信息的一部分或全部的多个候选文档。例如,可以在文档正文或元数据、或与文档相关联的可存储在其他文档或数据存储(如锚文本)中的附加元数据中定位查询信息。如下所述,在搜索结果集合很大的情况下并非返回整个集合,搜索组件102可以使用排名组件104相对于相关性或某一其他准则来对候选进行排名并至少部分地基于排名判定来返回整个集合的子集。然而,在候选集合不太大的情况下,搜索组件102可用于返回整个集合。

在一实施例中,排名组件104可以使用排名算法106来预测与特定查询相关联的候选的相关性程度。例如,排名算法106可以计算与候选搜索结果相关联的排名值,其中较高的排名值对应于较相关的候选。包括一个或多个排名特征108在内的多个特征可被输入到排名算法106,排名算法106随后可以计算使搜索组件102能够通过排名或某些其他准则对候选进行排序的输出。搜索组件102可以使用排名算法106通过根据排名来限制候选集合以避免用户必须检查整个候选集合,如大量因特网候选和整个URL集合。

在一个实施例中,搜索组件102可以监视并收集基于动作和/或基于无动作的排名特征。基于动作和基于无动作的排名特征可以存储在数据库组件110中并在必要时更新。例如,在用户诸如通过点击来与搜索结果交互时,可以监视点进信息监视并将其作为一个或多个排名特征108存储在数据库组件110中。在用户不与搜索结果交互时,该信息也可被用来跟踪。例如,用户可能跳过并且未点击一个或多个搜索结果。在一替换实施例中,诸如输入检测器或其他记录组件等分开组件可被用来监视与一个或多个搜索结果相关联的用户交互。

在返回搜索结果时,搜索组件102可以使用所选数量的所收集的基于动作和基于无动作的排名特征来作为相关性判定的一部分。在一个实施例中,在基于查询返回搜索结果时,搜索组件102可以收集并使用多个基于点击的交互参数来作为相关性判定的一部分。例如,假定用户点击出于任一原因而未在结果顶部返回的搜索结果(例如,文档)。如下所述,搜索组件102可以记录并使用点击特征来在下次某一用户发起同一或类似查询时提高所点击的结果的排名。搜索组件102还可以收集并使用其他交互式特征和/或参数,如触摸输入、笔输入、以及其他肯定用户输入。

在一个实施例中,搜索组件102可以使用一个或多个点进排名特征,其中该一个或多个点进排名特征可以从隐式用户反馈导出。可以在数据库组件110的多个查询日志记录表中收集并存储点进排名特征,包括经更新的特征。例如,搜索组件102可以使用诸如微软OFFICE SHAREPOINT系统等集成服务器平台的功能来收集、存储、以及更新可用作排名判定的一部分的基于交互的特征。服务器平台的功能可包括web内容管理、企业内容服务、企业搜索、共享业务过程、业务智能服务、以及其他服务。

根据该实施例,在返回搜索结果时,搜索组件102可以使用一个或多个点进排名特征来作为排名判定的一部分。在搜索组件102编译其可用来作为相关性判定的一部分来偏向排名次序的点进排名特征时,搜索组件102可以使用先前的点进信息。如下所述,一个或多个点进排名特征可用来通过利用在用户与搜索结果交互或不与其交互时该搜索结果接收到的隐式反馈来提供可自调节的排名功能。例如,搜索组件102可以提供在搜索结果页上按照相关性列出的多个搜索结果,并且可以基于用户是点击搜索结果还是跳过搜索结果来收集参数。

在排名并提供搜索结果时,搜索组件102可以使用数据库组件110中的信息,包括所存储的基于动作和/或无动作的特征。在向请求者提供相关结果的当前列表时,搜索组件102可以使用与关联于查询结果的先前用户动作或无动作相关联的查询记录和信息。例如,在基于所发起的用户查询提供参考的当前列表时,搜索组件102可以使用与其他用户对先前搜索结果(例如,文件、文档、种子等)作出如何响应相关联的信息来响应于同一或类似查询。

在一个实施例中,可以结合诸如微软OFFICE SHAREPOINT系统等服务系统的功能来使用搜索组件102,该服务系统用于记录并使用查询和/或查询串、记录并使用与搜索结果相关联的用户动作和/或无动作、以及记录并使用与相关性判定相关联的其他信息。例如,可以结合微软OFFICE SHAREPOINT系统的功能来使用搜索组件102,以记录并使用所发起的查询连同特定查询的被点击的搜索结果URL。微软OFFICE SHAREPOINT系统还可以记录所点击的URL所示出或呈现的URL列表,如在所点击的URL之上示出的多个URL。另外,微软OFFICE SHAREPOINT系统可用于基于特定查询来记录未点击的搜索结果URL。在进行相关性判定时,可以聚集并使用点进排名特征,这在以下描述。

在一个实施例中,可以如下聚集并定义多个点进排名特征:

1)点击参数Nc,其对应于搜索结果(例如,文档、文件、URL等)被点击的次数(跨所有查询)。

2)跳过参数Ns,其对应于搜索结果被跳过的次数(跨所有查询)。即,该搜索结果与其他搜索结果包括在一起,可能被用户观察到而未被点击。例如,观察到或跳过的搜索结果指的是比所点击的结果具有更高排名的搜索结果。在一个实施例中,搜索组件102可以使用用户在与搜索结果交互时从顶至底扫描搜索结果的假定。

3)第一流参数Pc,其可以表示为对应于与点击的搜索结果相关联的所有查询串的并集的文本流。在一个实施例中,该并集包括返回并点击了其结果的所有查询串。查询串的复制是可能的(即,每一单独的查询都可以用于并集操作中)。

4)第二流参数Ps,其可以表示为对应于与跳过的搜索结果相关联的所有查询串的并集的文本流。在一个实施例中,该并集包括返回并跳过了其结果的所有查询串。查询串的复制是可能的(即,每一单独的查询都可以用于并集操作中)。

以上列出的点进排名特征可以在需要时收集,如由一个或多个爬行系统在某周期性基础上收集,并且与每一搜索结果相关联。例如,点进排名特征中的一个或多个可以与搜索组件102基于用户查询所返回的文档相关联。此后,点进排名特征中的一个或多个可被输入到排名组件104并与排名算法106一起用作排名和相关性判定的一部分。在某些情况下,一些搜索结果(例如,文档、URL等)可不包括点进信息。对于丢失了点进信息的搜索结果,特定文本属性(例如,Pc和/或Ps流)可以为空并且特定静态参数(例如,Nc和Ns)可以具有0值。

在一个实施例中,点进排名特征中的一个或多个可以与排名算法106一起使用,排名算法106首先需要在爬行期间(包括完全和/或递增爬行)收集一个或多个点进聚集。例如,在收集与点进排名特征和其他数据相关联的信息时,搜索组件102可以采用可以爬行文件系统、基于web的集合、或其他储存库的爬行器。取决于一个或多个爬行目标和特定实现,可以针对一个或多个爬行来实现一个或多个爬行器。

搜索组件102可以使用所收集的信息(包括任何点进排名特征)来更新诸如多个查询日志记录表等具有在对搜索结果进行排名时可以使用的一个或多个特征的查询无关存储。例如,搜索组件102可以用包括经更新的点进信息的每一搜索结果的点击(Nc)参数和/或跳过(Ns)参数来更新多个查询日志记录表。在执行索引操作时,与经更新的查询无关存储相关联的信息也可由各种组件来使用,包括索引组件102。

因此,索引组件112可以从一个或多个独立存储周期性地获取任何改变或更新。此外,索引组件112可以周期性地更新可包括一个或多个动态及其他特征的一个或多个索引。在一个实施例中,系统100可包括搜索组件102可用来对查询进行服务的两个索引,例如主索引和辅索引。第一(主)索引可用来索引来自与网站、文件服务器、以及其他信息储存库相关联的文档正文和/或元数据的关键字。辅索引可用来索引不可直接从文档获取的附加文本和静态特征。例如,附加文本和静态特征可包括锚文本、点击距离、点击数据等。

辅索引还允许分开的更新调度。例如,在点击新文档时,为索引相关联的数据只需要部分地重新构建辅索引。因此,主索引可以保持不变并且整个文档不需要重新爬行。主索引结构可以是与倒排索引一样的结构,并且可用来将关键字映射到文档ID,但不限于此。例如,索引组件112可以使用包括经更新的点进信息的每一搜索结果的第一流参数Pc和/或第二流参数Ps来更新辅索引。此后,点进排名特征中的一个或多个以及相关联的参数可由搜索组件102应用并使用,如对排名算法106的一个或多个输入来作为与查询执行相关联的相关性判定的一部分。

如下所述,两层神经网络可以用作相关性判定的一部分。在一个实施例中,该两层神经网络的实现包括训练阶段和排名阶段来作为使用该两层神经网络的正向传播过程的一部分。在训练阶段期间,可以使用λ排名模型作为训练算法(参见C.Burges,R.Ragno,Q.V.Le,“Learning To RankWith Nonsmooth Cost Functions(学习用非平滑价值函数来进行排名)”,Platt和Hofmann(Ed.),神经信息处理系统进展19,2006会议录(MIT出版社2006)),并且神经网络正向传播模型可以用作排名判定的一部分。例如,标准神经网络正向传播模型可以用作排名阶段的一部分。在基于用户查询返回查询结果时,点进排名特征中的一个或多个可以结合两层神经网络来用作相关性判定的一部分。

在一实施例中,排名组件104利用包括两层神经网络打分函数(此后称为打分函数)的排名算法106,其包括:

分数(x1,...,xn)=(Σj=1mhj·w2j)---(1)

其中,

hj=tanh((Σi=1nxi·wij)+tj)---(1a)

其中,

hj是隐藏节点j的输出,

xi是来自输入节点i的输入值,如一个或多个排名特征输入,

w2j是要应用于隐藏节点输出的权重,

wij是隐藏节点j应用于输入值xi的权重,

tj是隐藏节点j的阈值

以及tanh是双曲正切函数:

hj=tanh((Σi=1nxi·wij)+tj)---(1c)

在一替换实施例中,以上可以使用具有与tanh函数相类似的属性和特性的其他函数。在一个实施例中,变量xi可以表示一个或多个点进参数。在排名之前,作为相关性判定的一部分,λ排名训练算法可用来训练两层神经网络打分函数。此外,在不显著影响训练准确度或训练速度的情况下,可以向该打分函数添加新特征和参数。

当基于用户查询返回搜索结果并进行相关性判定时,可以输入一个或多个排名特征108并由排名算法106使用,在该实施例中该算法是两层神经网络打分函数。在一个实施例中,在进行相关性判定来作为基于用户查询返回搜索结果的一部分时,可以输入一个或多个点进排名参数(Nc、Ns、Pc、和/或Ps)并由排名算法106使用。

Nc参数可用来产生对两层神经网络打分函数的附加输入。在一个实施例中,可以根据以下公式来计算与Nc参数相关联的输入值:

输入=

xiNc=(NcKNc+Nc-MNc)SNc---(2)

其中,

在一个实施例中,Nc参数对应于与搜索结果被点击的次数(跨所有查询和所有用户)相关联的原始参数值。

KNc是可调参数(例如,大于或等于0)。

MNc和SNc是与训练数据相关联的均值和标准差参数或归一化常数,以及,

iNc对应于输入节点的索引。

Ns参数可用来产生对两层神经网络打分函数的附加输入。在一个实施例中,可以根据以下公式来计算与Ns参数相关联的输入值:

输入=

xiNs=(NsKNs+Ns-MNs)SNs---(3)

其中,

在一个实施例中,Ns参数对应于与搜索结果被跳过的次数(跨所有查询和所有用户)相关联的原始参数值。

KNs是可调参数(例如,大于或等于0),

MNs和SNs是与训练数据相关联的均值和标准差参数或归一化常数,以及,

iNs对应于输入节点的索引。

Pc参数可以合并在以下可用来产生对两层神经网络打分函数的内容相关输入的公式(4)中。

输入=

TF′t的公式可以如下计算:

TFt=(ΣpD\PcTFt,p·wp·1+bp(DLpAVDLp+bp))+TFt,pc·wpc·1+bpc(DLpcAVDLpc+bpc)---(5)

其中,

Q是查询串,

T是单独的查询项(例如,词语),

D是被打分的结果(例如,文档),

p是结果(例如,文档)的单独属性(例如,标题、正文、锚文本、作者等、以及要用于排名的任何其他文本属性),

N是搜索域中的结果(例如,文档)总数,

nt是包含项t的结果(例如,文档)的数量,

DLp是属性p的长度,

AVDLp是属性p的平均长度,

TFt,p是属性p中项t的频率

TFt,pc表示给定项出现在参数Pc中的次数,

DLpc对应于参数Pc的长度(例如,所包括的项的数量),

AVDLpc对应于参数Pc的平均长度,

wpc和bpc对应于可调节参数,

D\Pc对应于文档D的排除了属性Pc的属性集合(仅为清楚起见才将Pc的项排除在总和之外),

iBM25主是输入节点的索引,以及,

M和S表示均值和标准差归一化常数。

Ps参数可以合并在以下可用来产生对两层神经网络打分函数的附加输入的公式(6)中。

输入=

其中,

TFt=TFt,ps·wps·1+bps(DLpsAVDLps+bps)---(7)

以及,

TFt,ps表示给定项与Ps参数相关联的次数,

DLps表示Ps参数的长度(例如,项的数量),

AVDLps表示Ps参数的平均长度,

N表示语料库中的搜索结果(例如,文档)的数量,

Nt表示包含给定查询项的搜索结果(例如,文档)的数量,

k1″、wps、bps表示可调节参数,以及,

M和S表示均值和标准差归一化常数。

一旦如上所示计算了输入中的一个或多个,则这些输入中的一个或多个可以被输入到(1),并且可以输出分数或排名,该分数或排名其随后可在对搜索结果进行排名来作为相关性判定的一部分时使用。作为示例,x1可用来表示与Nc参数相关联的计算得到的输入,x2可用来表示与Ns参数相关联的计算得到的输入,x3可用来表示与Pc参数相关联的计算得到的输入,以及x4可用来表示与Ps参数相关联的计算得到的输入。如上所述,流还可以包括正文、标题、作者、URL、锚文本、生成的标题、和/或Pc。因此,在对搜索结果进行排名作为相关性判定的一部分时,一个或多个输入,例如x1、x2、x3、和/或x4可被输入到打分函数(1)。相应地,搜索组件102可以基于所发起的查询和一个或多个排名输入来向用户提供经排名的搜索结果。例如,搜索组件102可以返回URL集合,其中该集合中的URL可以基于排名次序来呈现给用户(例如,高相关性值到低相关性值)。

在排名并提供搜索结果时也可以使用其他特征。在一实施例中,可以使用点击距离(CD)、URL深度(UD)、文件类型或先前类型(T)、语言或先前语言(L)、和/或其他排名特征来排名并提供搜索结果。附加排名特征中的一个或多个可以用作线性排名判定、神经网络判定、或其他排名判定的一部分。例如,作为线性排名判定、神经网络判定、或其他排名判定的一部分,可以结合一个或多个动态排名特征来使用一个或多个静态排名特征。

因此,CD表示点击距离,其中CD可以被描述为测量从参考位置到达诸如页面或文档等给定目标所需的“点击”次数的查询无关排名特征。CD利用系统的分层结构,该分层结构可能遵循树结构,具有根节点(例如,主页)和从该根扩展到其他节点的后续分支。将该树看作图,CD可被表示为根(作为参考位置)与给定页面之间的最短路径。UD表示URL深度,其中UD可用来表示URL中的斜杠(“/”)的数量的计数。T表示先前类型,并且L表示先前语言。

T和L特征可被用来表示枚举的数据类型。这一数据类型的示例包括文件类型和语言类型。作为示例,对于任何给定搜索域,可能存在和/或相关联的搜索引擎可能支持文件类型的有限集。例如,企业内联网可包含文字处理文档、电子表格、HTML网页、以及其他文档。这些文件类型中的每一个可对相关联的文档的相关性具有不同的影响。示例性转换可以将文件类型值转换成二进制标志的集合,每一个所支持的文件类型都有一个对应的二进制标志。这些标志中的每一个可由神经网络独立地使用,以便对每一个标志给予分开的权重并分开处理。可以用类似的方式处理语言(编写文档的语言),使用单个不同的二进制标志来指示文档是否是用特定语言编写的。项频率的总和还可以包括正文、标题、作者、锚文本、URL显示名、所提取的标题等。

最后,用户满意度是搜索组件102的操作的最当然的测量。用户将偏好快速返回最相关结果以便用户不需要投入很多时间来调查所得候选集合的搜索组件102。例如,可以使用度量评估来确定用户满意度平。在一个实施例中,可以通过改变对排名算法106的输入或排名算法106的各方面来改进度量评估。可以对某一代表性或随机查询集合来计算度量评估。例如,可以基于对存储在数据库组件110中的查询日志中所包含的查询进行随机采样来选择代表性查询集合。对于度量评估查询中的每一个,搜索组件102可以向每一结果分配相关性标记或将每一结果与相关性标记相关联。

例如,度量评估可包括查询的前N(1、5、10等)个结果中的相关文档的平均计数(也被称为在1、5、10等处的精确度)。作为另一示例,可以使用更复杂的测量来评估搜索结果,如平均精确度或归一化贴现累计收益(NDCG)。NDCG可被描述为允许多级判断并针对将较不相关文档以较高排名返回而将较相关文档以较低排名返回来处罚搜索组件102的累计度量。度量可以对查询集合进行平均来确定总体准确量度。

继续NDCG示例,对于给定查询“Qi”,NDCG可以计算为:

MqΣj=1N(2r(j)-1)/log(1+j)---(8)

其中N通常是3或10。该度量可以对查询集合进行平均来确定总体准确数。

以下是基于对打分函数(1)使用Nc、Ns、以及Pc点进参数而获得的一些实验结果。实验在10分裂(10-split)查询集合(744次查询,约130K个文档)上进行,运行5重交叉确认。对于每一重,使用6分裂来进行训练,2分裂用于确认,并且2分裂用于测试。使用λ排名算法的标准版本(见上)。

因此,使用带有4个隐藏节点的2层神经网络打分函数所聚集的结果产生以下表1中所示的结果:

表1

  特征集合  1处的NDCG   3处的  NDCG   10处的  NDCG   基线(非点进特征)  62.841   60.646   62.452   合并Nc、Ns、以及  Pc  64.598 (+2.8%)   62.237  (+2.6%)   63.164  (+1.1%)

使用带有6个隐藏节点的2层神经网络打分函数所聚集的结果产生以下表2中所示的结果:

表2

  特征集合  1处的NDCG   3处的  NDCG   10处的  NDCG   基线(非点进)  62.661   60.899   62.373   合并Nc、Ns、以及  Pc  65.447 (+4.4%)   62.515  (+2.7%)   63.296  (+1.5%)

图2是示出根据一实施例的、部分地基于用户查询来提供信息的过程的流程图。在图2的描绘中使用图1的各组件,但该实施例不限于此。在200,搜索组件102接收与用户查询相关联的查询数据。例如,使用基于web的浏览器的用户可以提交包括定义用户查询的多个关键字的文本串。在202,搜索组件102可以与数据库组件110通信来检索与用户查询相关联的任何排名特征108。例如,搜索组件102可以从多个查询表检索一个或多个点进排名特征,其中该一个或多个点进排名特征与具有类似或相同关键字的先前发起的查询相关联。

在204,搜索组件102可以使用用户查询来定位一个或多个搜索结果。例如,搜索组件102可以使用文本串来定位与文件系统、数据库、基于web的集合、或某一其他信息储存库相关联的文档、文件、以及其他数据结构。在206,搜索组件102使用排名特征108中的一个或多个来对搜索结果进行排名。例如,搜索组件102可以向打分函数(1)输入一个或多个点进排名参数,该函数可为每一搜索结果提供与排名相关联的输出。

在208,搜索组件102可以使用排名来以经排名的次序向用户提供搜索结果。例如,搜索组件102可以向用户提供多个检索到的文档,其中可以根据数字排名次序(例如,降序、升序等)来将检索到的文档呈现给用户。在210,搜索组件102可以使用与搜索结果相关联的用户动作或无动作来更新可存储在数据库组件110中的一个或多个排名特征108。例如,如果用户点击或跳过一URL搜索结果,则搜索组件102可以将点进数据(点击数据或跳过数据)推送到数据库组件110的多个查询日志记录表中。此后,索引组件112可用于将经更新的排名特征用于各个索引操作,包括与更新经索引的信息类别相关联的索引操作。

图3是示出根据一实施例的、部分地基于用户查询来提供信息的过程的流程图。同样,在图3的描绘中使用图1的各组件,但该实施例不限于此。图3的过程在搜索组件102从用户界面103接收所发起的用户查询之后,其中搜索组件102定位了满足该用户查询的多个文档。例如,作为基于web的搜索的一部分,搜索组件102可以使用多个提交的关键字来定位文档。

在300,搜索组件102获得满足用户查询的下一文档。在302,如果搜索组件102定位了所有文档,则该流程前进至316,其中搜索组件102可以根据排名对所定位的文档进行排序。在302,如果尚未定位所有文档,则该流程前进至304并且搜索组件102从数据库组件110检索任何点进特征,其中检索到的点进特征与搜索组件102所定位的当前文档相关联。

在306,作为排名判定的一部分,搜索组件102可以计算供打分函数(1)使用的与Pc参数相关联的输入。例如,搜索组件102可以将Pc参数输入到公式(4)来计算与该Pc参数相关联的输入。在308,作为排名判定的一部分,搜索组件102可以计算供打分函数(1)使用的与Nc参数相关联的第二输入。例如,搜索组件102可以将Nc参数输入到公式(2)来计算与该Nc参数相关联的输入。

在310,作为排名判定的一部分,搜索组件102可以计算供打分函数(1)使用的与Ns参数相关联的第三输入。例如,搜索组件102可以将Ns参数输入到公式(3)来计算与该Ns参数相关联的输入。在312,作为排名判定的一部分,搜索组件102可以计算供打分函数(1)使用的与Ps参数相关联的第四输入。例如,搜索组件102可以将Ps参数输入到公式(6)来计算与该Ps参数相关联的输入。

在314,搜索组件102可用于将计算得到的输入中的一个或多个输入到打分函数(1)来计算当前文档的排名。在替换实施例中,搜索组件102可以改为计算与所选参数相关联的输入值,而非计算每一点进参数的输入。如果不存在要进行排名的其余文档,则在316,搜索组件102根据排名对文档进行排序。例如,搜索组件102可以用以具有最高排名值的文档开始并以具有最低排名值的文档结尾来根据降序排名次序对文档进行排序。搜索组件102还可以将排名用作截止值来限制呈现给用户的结果的数量。例如,在提供搜索结果时,搜索组件102可只呈现具有大于X的排名的文档。此后,搜索组件102可以向用户提供经排序的文档以供进一步动作或无动作。尽管参考图2和3描述了特定次序,但该次序可以根据所需实现而改变。

此处描述的各实施例和示例不旨在是限制性的,并且其他实施例也是可用的。此外,上述各组件可被实现为联网、分布式或其他计算机实现环境的一部分。这些组件可以经由有线、无线、和/或通信网络的组合来通信。包括台式计算机、膝上型计算机、手持式设备、或其他智能设备在内的多个客户机计算设备可以与系统100交互和/或作为系统100的一部分来包括。

在替换实施例中,各组件可以根据所需实现来组合和/或配置。例如,索引组件112可以与搜索组件102一起作为单个组件来包括以用于提供索引和搜索功能。作为附加示例,神经网络可以用硬件软件来实现。尽管特定实施例包括软件实现,但它们不限于此并且它们涵盖硬件或混合硬件/软件解决方案。其他实施例和配置是可用的。

示例性操作环境

现在参看图4,以下讨论旨在提供对在其中可以实现本发明的各实施例的合适计算环境的简要、概括描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他类型的计算系统和程序模块实现。

一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。而且,本领域的技术人员可以理解,本发明方法可以使用其他计算机系统配置来实现,包括手持式设备、多处理器、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等。本发明也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。

现在参考图4,将描述用于本发明的各实施例的示例性操作环境。如图4所示,计算机2包括通用台式计算机、膝上型计算机、手持式计算机、或能执行一个或多个应用程序的其他类型的计算机。计算机2包括至少一个中央处理单元8(“CPU”)、包括随机存取存储器18(“RAM”)和只读存储器(“ROM”)20的系统存储器12、以及将存储器耦合至CPU 8的系统总线10。基本输入/输出系统存储在ROM 20中,它包含帮助在诸如启动期间在计算机内元件之间传递信息的基本例程。计算机2还包括用于储存操作系统32、应用程序、以及其他程序模块的大容量存储设备14。

大容量存储设备14通过连接至总线10的大容量存储控制器(未示出)连接到CPU 8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应理解,计算机可读介质可以是可由计算机2访问或利用的任何可用介质。

作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以存储如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算设备2访问的任何其他介质。

根据本发明的各个实施例,计算机2可使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线10的网络接口单元16来连接到网络4。应理解,网络接口单元16也可用于连接至其他类型的网络和远程计算机系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自多个其他设备,包括键盘鼠标等(未示出)的输入。类似地,输入/输出控制器22可以为显示屏、打印机或其他类型的输出设备提供输出。

如前简述的一样,多个程序模块和数据文件可以存储在计算机2的大容量存储设备14和RAM 18内,包括适于控制联网的个人计算机操作的操作系统32,如华盛顿州雷蒙德市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM 18还可以存储一个或多个程序模块。具体地,大容量存储设备14和RAM 18可存储应用程序,诸如搜索应用程序24、文字处理应用程序28、电子表格应用程序30、电子邮件应用程序34、绘图应用程序等。

应当了解,各种实施例的逻辑操作可被实现为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,以及/或者(2)计算机系统内互连的机器逻辑电路或电路模块。该实现是取决于实现本发明的计算机系统的性能要求来选择的。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑、及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。

尽管已结合各个示例性实施例描述了本发明,但本领域普通技术人员将理解,可在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。

相关申请

本申请以美国微软公司的名义作为PCT国际专利申请在2008年10月17日提交,并要求在2008年10月18日提交的美国专利申请第11/874,579号的优先权,美国微软公司被指定为除美国之外的所有国家的申请人且美国公民Dmitriy Meyerzon、白俄罗斯公民Yauhen Shnitko、英国公民MichaelJ.Taylor被指定为美国申请人。

高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈