用于机器学习文档相关性函数的方法与装置的制作方法

文档序号:6487282阅读:115来源:国知局
专利名称:用于机器学习文档相关性函数的方法与装置的制作方法
技术领域
本发明一般地涉及在数据库中定位文档的搜索引擎领域,例如在被耦合到因特网或在内联网中的服务器上存储的文档的索引,具体而言,本发明涉及用于确定文档相关性函数的方法与装置,所述文档相关性函数用于估计数据库中的文档关于查询的相关性分数。
背景技术
对能够对大量不同的文档集合作索引而仅响应于查询向用户返回简短的相关结果文档列表的搜索引擎的开发,长久以来被认为是个难题。目前含有在世界范围内的宿主计算机上存储的数十亿文档的因特网,代表了尤为众多的文档集合。搜索引擎的用户一般向搜索引擎提供简短的查询,该查询包含几个术语(例如“有毒废品”或“乡村音乐”),并且希望搜索引擎返回相关文档的列表。实际上,尽管搜索引擎可以返回上千文档的列表,但是大多数用户可能只浏览搜索引擎所返回的列表中的最高三两个文档。因此,为了对用户有帮助,在给定用户已经提交的查询的情况下,搜索引擎必须能够从数十亿的文档中确定人类用户最感兴趣的两三个文档。过去,搜索引擎设计者曾尝试构建相关性函数,其采用查询和文档作为它的输入,并且返回相关性值。例如,相关性值可以用于创建被搜索引擎编入索引的文档列表,该列表按照与查询的相关性的顺序来对文档排序,以满足上述需要。为了让该列表中的最高两个或三个文档对用户来说有用,下层的相关性函数必须能够准确且快速地确定给定文档对查询的相关性。
用户对真实相关性的认知受多种因素影响,许多因素是非常主观性的。这些偏好通常难以在用于定义相关性函数的算法规则集中体现。而且,这些主观性因素可能随着时间而改变,例如对于当前事件与特定查询项目相关联的情形。作为另一示例,在因特网上可得到的文档的总内容随着时间而改变,这也可能改变用户对给定文档与特定查询的相对相关性的认知。如果用户从搜索引擎接收的返回列表包含他不认为是非常相关的文档,用户将很快变得失望,进而放弃使用该搜索引擎。
基于上述背景,希望设计一种确定文档排名函数的方法,该文档排名函数反映了一个或多个人类用户对文档与查询的相关性的认知,但仍能被方便地实现为计算机上的算法。此外,希望设计一种能够快速适应数据库中的下层文档的改变以及用户兴趣随时间的改变两者的方法。

发明内容
本发明提供了一种确定文档相关性函数的方法,其中文档相关性函数用于估计数据库中的文档关于查询的相关性分数。首先,对于多个测试查询中的每个,从数据库中收集相应的结果文档集。然后,对于每个测试查询,选择所述相应结果集中的文档子集,并且训练相关性分数集被分配给该子集中的文档。最后,基于所述多个测试查询、所述文档子集以及所述训练相关性分数集,确定相关性函数。
一些实施例还提供了一种在每个查询的相应结果文档集中选择文档子集的方法。首先,从所述相应结果集中选择文档,其次,确定将所选文档与当前查询相关的代理(surrogate)相关性分数。再次,基于所确定的代理相关性分数,所选文档被分配给多个相关性等级(tier)中的至少一个相关性等级。随后重复所述选择、确定和分配,直到达到终止条件。终止条件可以是每个相关性等级至少包含相应预定义数量的文档,或者最高相关性等级至少包含预定义数量的文档。也可以使用其它终止条件。
这些实施例中的一些实施例还提供了一种将训练相关性分数集分配到从每个查询的相应结果文档集选择的文档子集中的文档的方法。首先,来自结果集的文档子集的第一多个文档被提交给相应多个人类主观认识(human subject)。第一多个文档中的文档具有预定义范围内的代理相关性分数。一个或多个人类主观认识确定所提交的文档关于查询的个体相关性分数。然后,基于人类主观认识所确定的个体相关性分数,训练相关性分数被分配给关于所述查询的每个所提交的文档。
在一些实施例中,为了确定相关性函数,首先构建特征集,该特征集在构建相关性函数的过程中将被用作预测变量。所述集中的每个特征可以是相应文档、相应查询或两者的一个或多个属性的函数。然后,相关性函数根据有限参数(例如,系数)集和基础函数而被参数化表示。该相关性函数采用特征集作为它的输入,并且返回相关性值作为它的输出。类似地,每个基础函数采用特征子集作为它的输入,并且输出一个值。然后,在文档排名函数被应用于关于特定查询的给定文档时,定义部分误差,以将该给定文档关于特定查询的训练相关性分数与文档排名函数产生的值相关。然后对于多个给定文档和多个特定查询,重复定义部分误差,以便产生部分误差集。然后选择参数以便使总误差最小化,所述总误差是部分误差集的函数。最后,确定相关性函数,该相关性函数对于给定的文档和查询,产生相关性值。可选地,基于相关性函数来确定文档排名函数。对于给定的查询和多个文档,文档排名函数产生文档的有序列表,其中列表中的文档的相关性值单调下降。
本发明的另一方面提供了一种与计算机系统结合使用的计算机程序产品。该计算机程序产品包括计算机可读存储介质和该介质上存储的计算机程序机制。该计算机程序机制包括(a)收集模块,用于为多个测试查询中的每个测试查询从数据库收集相应的结果文档集;(b)采样模块,用于对于所述多个测试查询中的每个测试查询,选择所述相应结果集中的文档子集;(c)计分模块,用于将训练相关性分数集分配到每个所选子集中的文档;以及(d)相关性函数产生模块,用于基于所述多个测试查询、所述文档子集以及所述训练相关性分数集来确定相关性函数。


当结合附图对本发明的优选实施例进行详细说明时,本发明的前述特征和优点及其附加特征和优点将在下文被更清楚地理解。
图1图示了向搜索引擎提交查询的客户计算机,该搜索引擎使用由相关性函数确定系统所确定的文档相关性函数。
图2A图示了含有一个或多个项目的示例性查询。
图2B图示了测试查询集、测试查询集向搜索引擎的提交,进而产生结果文档集。
图3图示了结果文档集以及用于分配给文档子集的多个相关性等级。
图4是相关性函数确定方法的流程图。
图5是示例性基础函数的框图,在本例中基础函数是二叉分类树。
图6是相关性函数确定系统的框图。
在附图的若干示图中,相似的标号指示对应的部分。
具体实施例方式
参考图1,计算机网络100包括连接到网络105的一个或多个客户计算机104。网络105可以是因特网,或者在其它实施例中可以是内联网。在网络105是因特网的实施例中,通称为万维网102的文档103的集合可以被客户计算机通过网络105所获取。在因特网上,文档被统一资源定位符(例如,“http://www.av.com”)定位。通过将URL提供给文档服务器(未示出),与URL相对应的文档103可以被访问。
除了文档和客户计算机之外,计算机网络100包括搜索引擎。因特网上可用的搜索引擎示例包括但不限于Alta Vista(URL为http://www.av.com),Google(URL为http://www.google.com)和Yahoo!(URL为http://www.yahoo.com)。搜索引擎一般包括数据库,数据库对万维网上的文档作索引。想要获取与特定主题相关的文档但又不确定或不知晓这样文档的URL的客户计算机104-1的用户一般通过网络105向搜索引擎提交查询112。搜索引擎106在接收到查询112之后,检查文档数据库以试图找到用户将认为与所提交的查询112高度相关的那些文档。
一些实施例提供了一种确定文档相关性函数的方法,该相关性函数由搜索引擎106使用并且由相关性函数确定系统108所确定。相关性函数确定系统108在一些实施例中可以在与实现搜索引擎106的计算机系统不同的计算机系统上实现。在其它实施例中,单个计算机系统可以用来实现搜索引擎的功能以及相关性函数确定系统108的功能。
相关性函数确定系统108的实施例收集用于多个测试查询的结果文档集。在一些实施例中,所述多个测试查询是至少部分基于客户计算机104的用户提交到搜索引擎106的查询日志而确定的。在一些实施例中,所述结果文档集是通过向一个或多个搜索引擎106提交测试查询并从其接收响应(一般是URL的列表)而确定的。相关性函数确定系统可选地耦合到网络105,并且因而可以获取结果集中的一个或多个文档。相关性函数确定系统的一般实施例包括对一个或多个人类主观认识110的访问。人类主观认识可以被用来提供结果集中的文档相对于所述多个测试查询中的一个或多个查询的训练相关性分数集。
参考图2A,一般查询112包括一个或多个项目202。例如,所示出的查询包括三个项目。这样的查询被称为“三项”查询。类似地,仅含有一个项目的查询被称为“一项”查询,而含有两个项目的查询被称为“二项”查询。各个项目在被用户提交时可以由空格区划界,也可以由某些其它手段划界。
参考图2B,多个测试查询204包括一个或多个查询112。在一些实施例中,所述多个测试查询204包括至少一个一项查询112-1和至少一个二项查询112-2。在其它实施例中,所述多个测试查询204可以只包括一项查询、只包括二项查询、只包括三项查询、或者包括多个查询类型的任意组合,并且可以包括具有多于三个项目的查询。
在一个实施例中,所述多个测试查询204是通过从搜索引擎106所存储的用户提交到该搜索引擎的查询112的一个或多个日志中对查询采样而确定的。首先从日志中采样初步查询串集。然后去除与被确定为在用户的知识范围之外的主题有关的查询。最后,初步集中的剩余查询被分配给所述多个测试查询204。
在另一实施例中,通过从单个词条目的词典(lexicon)中采样词(word)并将如此采样得到的每个词分配给所述多个测试查询,来选择所述多个测试查询。可以从中采样词的词典示例包括字典,例如Merriam-Webster公司的第10版(1998)Merriam-Webster’s Collegiate字典。在其它实施例中,从词典采样两个或更多词的组合,并且该组合被分配给所述多个测试查询204。
一旦确定了所述多个测试查询204,就收集来自数据库的多个208相应结果文档集304。在一些实施例中,所述多个测试查询204中的每个测试查询112被提交给搜索引擎106。如上所述,在一些实施例中,数据库是从万维网获取的文档的索引。在这些实施例中,结果文档集有时是通过下述步骤收集的将每个测试查询提交给搜索引擎,从搜索引擎接收万维网上的包含测试查询中的一个或多个项目的文档的列表,并将文档列表中的一个或多个文档添加到相应的结果集。搜索引擎通过返回文档列表(通常由它们的URL标引)来作出响应,每个文档包含有测试查询112中的至少一个项目。这样,每个相应的结果集304包含一个或多个文档210,并且每个文档210与一个或多个测试查询112相关联。每个相应的结果集304优选地仅存储文档210的识别信息(例如,每个文档的URL、文档的标题或部分标题、以及一小部分文档,其可能包含一个或多个查询项目)而不存储文档的完整内容。
在其它实施例中,每个测试查询112的相应结果集304是通过将来自所述多个测试查询204的每个查询112提交到对万维网上的文档作索引的两个或更多搜索引擎而被收集的。例如,在一些实施例中,测试查询被提交到AltaVista的搜索引擎(URL为http://www.av.com)和第二搜索引擎。在一些实施例中,第二搜索引擎是Google的搜索引擎(URL为http://www.google.com)。随后接收每个搜索引擎所确定的排名最高的200个文档(排名为1到200)的URL。然后,被AltaVista的搜索引擎排在1-5位置(对应于与所提交查询的最高相关性)的五个文档被添加到相应的结果集中。此外,从排名中的6-200位置中选择具有随机选定位置的五个文档,这些文档被添加到相应的结果集。然后,由第二搜索引擎排名在1-5位置的五个文档被添加到相应的结果集208。此外,由第二搜索引擎排名在五个随机选定位置的文档被添加到相应的结果集。对于第二搜索引擎返回的URL列表中的每个文档,如果在添加来自第二搜索引擎所返回的URL列表的文档之前,相应的结果集已经含有了该文档,则检查处于下一个最高位置(位置的排名等于当前位置的值加1)的文档,而如果它还没有在相应的结果集中,则将它添加到相应的结果集。相反,如果文档再次已经在相应结果集中找到,则检查处于下一个最高位置处的文档,直到到达文档列表的末端。如果可能的话,这一过程将重复,直到10个来自由第二搜索引擎所返回的URL列表的文档已经被添加到相应的结果集。因此,在一些实施例中,相应的结果集可能包括20个文档。
已经描述了一种方法,通过该方法可以收集来自数据库的文档的结果集,现在描述从结果集或一个或多个相应结果集选择文档子集的方法。在本申请文件中,术语“子集”被用于表示集合的一部分,可以包括集合中的所有项目。一般而言,多个208相应结果集304中的文档数目庞大,这妨碍了将准确的训练相关性分数向所有这些文档的经济型分配。而且,在一些实施例中,由于有限的计算资源(例如图1中的相关性函数确定系统108的存储器容量和处理速度),确定文档排名函数仅在相对小量的文档已分配训练相关性分数的条件下可行。在上下文中,相对小量指的是总数的1%或更少。例如,在优选实施例中,多个208相应结果集304包括多于4000个文档,而所选择的要分配相关性训练分数的文档子集仅包括40个文档。在另一实施例中,相关性训练分数被分配给数量在40到200之间的文档。
参考图3,一个或多个相应结果集304每个包括参考多个测试查询中的相应一个而获取的文档。在一些实施例中,将每个文档与含有该文档的相应结果集的查询相关的代理相关性分数被首先确定。代理相关性分数可以通过下述步骤来确定将相应结果集的查询提交到搜索引擎,并确定该文档的代理相关性分数作为文档在搜索引擎所返回的列表中的位置的函数。例如,图3中的查询1被提交给搜索引擎,并且代理相关性分数被分配给文档306-1,该代理相关性分数作为文档306-1在搜索引擎响应于查询1的提交而提供的列表上的位置的函数。
然后,对于每个相应的结果集304,建立相关性等级集308。每个相关性等级集308包括一个或多个相关性等级310。在一些实施例中,每个相关性等级310与最小代理相关性分数相关联,并且可选地与最大代理相关性分数相关联。在一些实施例中,相应结果集304中的一个或多个文档以这样的方式被分配给每个相关性等级310,该方式使得该文档的代理相关性分数大于或等于与该相关性等级相关联的最小代理相关性分数。可以通过多种方式来选择相应结果集304中的一个或多个文档,例如通过从相应结果集304的文档中随机采样。分配文档的示例由文档306-1来图示,其可以具有代理相关性分数10。与相关性等级310-11相关联的最小相关性代理分数可以是8。这样,文档306-1被分配给等级310-11。其它用于从相应结果集304选择文档并将文档分配给相关性等级310的方法也是可行的。相关性等级一般包括代表具有低代理相关性分数的结果的文档。
在一些实施例中,每个相关性等级310还具有关联的最大代理相关性分数。例如,等级310-N2可以具有关联的最小相关性分数4和关联的最大相关性分数8。相关性等级310-N1可以具有关联的最大相关性分数100和关联的最小相关性分数8。在这些实施例中,如果文档的代理相关性分数小于与给定相关性等级相关联的最大代理相关性分数而大于或等于与该等级相关联的最小相关性代理分数,则该文档被分配给该等级。例如,文档306-2可以具有代理相关性分数5。因此,文档306-2被分配给相关性等级310-N2,而没有被分配给相关性等级310-N1。在这些实施例中的某些实施例中,与每个等级的最大分数和最小分数相关联的相关性分数的范围被选定,使得这些范围没有重叠。在另一实施例中,例如由于每个等级具有分配的最小分数而没有分配的最大分数,而使得这些范围相互重叠。
在一些实施例中,将来自相应结果集304的文档分配给相关性等级310的过程被重复,直到每个相关性等级310至少包含相应预定义数量的文档。例如,在一些实施例中,所述分配过程被重复,直到至少10个文档被分配给每个相关性等级。在另一实施例中,每个等级所要求的最小文档数可以不同。例如,等级1、2和3所要求的最小文档数可以分别是10、40和100。
已经描述了选择文档子集的方法,现在描述将相关性训练分数分配给子集中的文档的方法。在一些实施例中,来自相关性等级310的第一多个文档被提交给一个或多个人类主观认识(图1中的元件110)。例如,第一多个文档可以包括只来自与多个测试查询中的每个查询相关联的第一(即,最高)相关性等级310-11,...,310-N1。人类主观认识检查提交给它们的每个文档以及关联的查询,并且确定将该文档与该查询相关的个体相关性分数。在一些实施例中,使用了大量(例如,50个)人类主观认识来评价每个文档,进而提供统计上可靠的个体相关性分数集。
在一些实施例中,每个人类主观认识具有许多文档-查询对以及包括下述语句的陈述·设想你处于你喜爱的搜索网站。你正在搜索<查询>,因为<与该查询有关的文章>。例如,你正在搜索“银河系中的行星”,因为你想找到银河系中的行星的名字。
·在你喜爱的搜索引擎所传送的许多查询结果中,具有下述URL<文档的URL>。点击该URL,读取其中的文档,并且在你已经评价了该文档之后,通过给该文档打分来指明该文档与该查询的相关性,其中分数来自下列数字1、2、3、4、5、6、7、8、9、10。请使用数字10来指示最高的可能相关性,并用数字1来指示最低的可能相关性。
这样,在这些实施例中,人类主观认识分配来自数字1-10(10指示最高相关性,1指示最低相关性)之一的个体相关性分数。在一些实施例中,确定个体分数的算术平均值,并且该平均值被用作文档的训练相关性分数。确定文档的训练相关性分数的其它方法也是可行的,包括但不限于使用个体相关性分数的中值,以及使用所选择的具有低于预定阈值的方差的个体相关性分数样本的算术平均值。
在一些实施例中,训练分数被分配给从子集中的文档选择的第二多个文档中的文档。第二多个文档可以包括子集中没有被作为第一多个文档的一部分提交给人类用户的所有文档。在一些实施例中,第二子集中的文档被分配预定的低相关性训练分数。例如,来自最低相应相关性等级310-M1、310-M2(用于第二查询,未示出)的文档可以被分配预定的相关性分数0。在一些实施例中,来自每个查询的下一个最低相应相关性等级的文档可以被分配预定相关性分数1.5,并且对于具有第二子集中的文档的其它等级依此类推。这样,相关性等级310中的所有文档可以被分配训练相关性分数,而无需将所有文档提交给人类主观认识。从人类主观认识获得用于相关性等级310中的所有文档的个体相关性分数可能代价高昂。而且,一般从被人类主观认识分配给文档的低个体相关性分数获得很少的信息。
已经描述了将训练相关性分数分配给文档的方法,现在描述基于文档子集、所分配的训练相关性分数和多个测试查询来确定相关性函数的方法。在一些实施例中,机器学习技术被用于这个目的。机器学习技术,除了最小化与训练相关性分数和相关性函数产生的相关性分数相关联的误差之外,还通过这样的方式来确定相关性函数,该方式使得如果文档在相关性等级中且查询在测试集中,则为新查询(没有包含在查询测试集中)或新文档(没有在相关性等级中)产生的相关性分数接近已经确定的相对于查询的文档的训练相关性分数。在一些实施例中,逻辑回归被用作确定相关性函数的机器学习技术。已经利用回溯实验论证了逻辑回归能够改善信息获取环境中的相关性排名。例如参见Gey,F.C.“Inferring the Probabilityof Relevance Using the Method of Logistic Regression”,SIGIR 1994222-231,该文章的全部内容作为参考在这里被引入。
参考图4,在用于确定相关性函数的方法400中,在步骤402中,首先确定将被用作预测变量的特征集。特征集将在构建相关性函数的过程中用作预测变量。特征,如本申请文件和权利要求所意味的那样,是量化查询与文档的关系的一方面或者量化文档自身的一方面的工具。对于给定的文档和可能的查询,特征返回值。仅仅基于文档自身的内容返回值的特征被称作独立于查询的特征。独立于查询的特征可以取决于文档自身的属性。此外,独立于查询的特征可以取决于文档所处的服务器的属性,并且可能取决于该服务器与万维网上的其它服务器之间的关系属性。需要文档和查询两者来返回一个或多个值的特征被称为依赖于查询的特征。在本申请文件中,被选择用来相关文档与查询的第i个特征被标为zi。为了符号上的方便,所选择的特征集(包括一个或多个个体特征)被标为z,其中z={z1,z2,...,zF},F是如此选择的特征数量。
可以包括在特征集中的独立于查询的特征示例包括但不限于·本征排名,(Eigenrank,ER)一个或多个与从万维网的关联矩阵导出的随机矩阵的特征向量元素相关联的值,其中链接(link)被当作有向图的边。见Page L.,Brin S.,Motwani R.,和WinogradT.,“The PageRank citation rankingBringing order to the Web,”http://citeseer.nj.nec.com/page98pagerank.html,网站最后访问时间是2003年4月10日。这里其全部内容作为参考而被引入;·HUB与万维网的关联矩阵的连通性有关的值,具体而言,是所谓的对图的奇异值分解的Kleinberg(克莱能柏格)应用,参见Kleinberg L.,“Authoritative sources in a hyperlinked environment,”inproceeding of the Nineth Annual ACM-SIAM Symposium on DiscreteAlgorithms,1998,这里其全部内容作为参考而被引入;·URL深度(Depth)代表为获取信息所需对网站遍历的深度,其至少部分基于URL中的“/”的数量来确定;·质量分数(Quality Score)代表文档权限的值,被确定为文档其它特征的函数;·垃圾索引(Spam Index)指示文档是否很可能是“垃圾文档”的值,例如当文档含有过多重复的项目时为值“1”,该值指示该文档已被人为设计来提高含有该项目的查询的相关性。
·家庭友好度(Family Friendliness)用来指示文档是否含有面向家庭的用户可能厌恶的内容,例如当文档含有一个或多个某些色情项目列表时为值“1”,其它情况下为值“0”;·文档长度(Document Length)文档中的个体项目的数量,以整数表示。
可以包括在特征集中的依赖于查询的特征示例包括但不限于·锚定文本分数(Anchor Text Score)代表包含到当前文档的链接和当前查询中的一个或多个项目两者的文档的数量的值;·匹配位置(Match Location)位于文档中,是指示来自查询的项目是否能够在文档的题目或正文中找到的值,如果项目在正文而非题目中找到,则是指示在正文的多深处找到该项目的值;·匹配频率(Match Frequency)指示在文档中找到多少次来自查询的项目的值,例如来自查询的任何项目在文档中被找到的次数;·项目权重(Term Weight)信息获取(IR)领域中的标准特征,例如来自查询的项目在文档的数据库中被发现的次数的反对数,表示为总数据库大小的一小部分;以及·邻近度(Proximity)对于多项目查询,是指示查询中的项目是否可以在文档中彼此邻近地被发现的值。
在一些实施例中,所选择的特征集包括上面描述的所有特征。因此,在这些实施例中,z={本征排名(ER),Hub,URL深度,质量分数,垃圾索引,家庭友好度,文档长度,锚定文本分数,匹配位置,匹配频率,项目权重,和邻近度}。在其它实施例中,可以选择这些特征的子集。在其它实施例中,除上面列出的特征之外,特征集中还可以包括其它特征,例如本身是上面的特征子集的函数的导出特征。
再次参考图4,确定文档相关性函数的方法400中的下一步骤是步骤404。在步骤404中,相关性函数根据有限系数集和基础函数而被参数化表示。在一些实施例中,排名功能被参数化表示为特征的线性函数,p(z)=Σr=1Rcrzr]]>其中R是系数的数量,R一旦被确定,就根据R个特征z来定义相关性函数p(z)。在其它实施例中,相关性函数的参数化可以涉及更为复杂的特征函数,例如p(z)=Σr=1Rcrar(z)]]>其中每个基础函数ar(z)采用特征集的子集作为输入(该子集可能包括特征集中的所有特征),并且输出值。基础函数可以包括特征集中一些特征的二次函数,例如,a1(z)=z1z3,a2(z)=z22,或者a3(z)=z2z3。基础函数还可以包括特征集中的多个特征的更多一般非线性函数,例如a4(z)=z1,]]>a5(z)=|z2|,或者a6(z)=z3/z1。
在一些实施例中,基础函数自身被系数参数化表示。例如,基础函数可以包括小波函数,其中每个小波函数例如通过膨胀、平移过程或其它可能的过程与母小波相关,准确的关系由其它的系数来确定。在一些实施例中,基础函数可以包括神经网络。在基础函数自身取决于系数的实施例中,相关性函数以下述方式参数化p(z)=Σr=1Rcrar(z;d1,...,dJr)]]>其中与每个基础函数ar相关联的系数数量Jr对于每个基础函数来说可以不同。在一些实施例中,相关性函数是系数与基础函数的一般非线性函数,p(z)=P(Σr=1Rcrar(z;d1,...,dJr)).]]>在一些实施例中,基础函数包括决策树。例如,基础学习者可以是二叉分类树500,如图5所示。参考图5,框502-1中的二叉分类树检查第一“分裂变量(splitting variable)”x1,并且将其值与“分裂地点”b1相比较。例如,分裂变量等于特征之一的值x1=z1。在另一示例中,分裂变量是所选特征集中的一个或多个特征的线性或非线性函数。取决于框502-1中执行的比较的结果,树的流程前进到框502-2或502-3。每个框502与分裂变量和分裂地点相关联。这样,分裂变量(例如508-1)和分裂地点(例如508-2)是确定树400表示的基础函数所需要的系数508。
最后,基于框502中进行的比较,树的流程前进到四个终端节点506之一。在每个终端节点中,终端值(例如,508-3)被分配为基础函数的值。在图5中,树400是二叉分类器,终端值仅采取值“-1”或“1”,其对应于树400将文档分类成的一个或两个类别。终端值(例如,508-3)也是确定树400表示的基础函数所需要的系数508。
在其它实施例中,基础函数包括分类与回归树(CART)。CART树可以用来对相关性函数自身参数化,或者在一些实施例中,对相关性函数相对于参数子集的梯度参数化。为了完整说明CART树,包括说明选择CART树的参数来最小化误差的方法,参见L.Breiman,J.H.Friedman,R.A.Olshen,和C.J.Stone,Classification and Regression Tress,Belmont,CAWadsworth,1984,其全部内容在这里作为参考而被引入。
在基础函数是二叉分类树的某些实施例中,相关性函数被确定为从每个基础函数的应用返回到选定特征集的终端值的线性组合的函数。为了确定这些实施例情形中的相关性函数,首先构建主分类器。主分类器可以表示为基础函数的线性组合的结果的“票数(vote)”,M(z)=sign[Σr=1Rcrar(z;d1,...,dJr)],]]>其中每个基础函数(树)表示为ar,基础函数的参数(分裂变量、分裂地点和终端值)表示为d1,...,dJr,基础函数的组合的参数表示为cr,并且sign()用作“票数”,这是通过当主分类器的自变量是正数或零时将值“1”分配给主分类器而在其它情况下将值“-1”分配给主分类器而实现的。在这些实施例中,相关性函数是基础函数的加权和的反对数变换p(y=1|z)=exp(S(z))1+exp(S(z))]]>其中S(z)=Σr=1Rcrar(z;d1,...,dJr)]]>和exp()表示指数函数。y=1指示,对于给定特征,测量该文档属于与值“1”相关联的类别的可能性的概率。如下文结合步骤406所讨论的那样,在这些实施例中,与值“1”相关联的类别是被认为与查询高度相关的文档类别。因此,该概率值本身被用作文档对查询的相关性的估计。
在描述确定相关性函数的方法400(图4)中的下一步骤406的细节之前,进一步描述所确定的相关性函数和训练相关性分数之间的关系。参考图3,相关性等级310包含一个或多个文档,每个文档被分配了训练相关性分数,该训练相关性分数将文档与关联于该文档所源自的相应结果集304的查询相关。为了符号上的方便,在与第n个查询相关联的第m个相关性等级中的第j个文档的训练相关性分数被表示为ynmj。特征的值也可能取决于查询和文档,从而与和第n个查询相关联的第m个相关性等级中的第j个文档相关联的特征值类似地被表示为znmj。机器学习技术(诸如这里所公开的那些机器学习技术)基于与相关性等级中的特征值和训练相关性分数相关联的部分误差来确定文档相关性函数。相关性等级中的文档代表在例如使用相关性函数来相对于未在查询测试集中的查询表征来自万维网的文档时将遇到的小部分(通常,小于1%)文档。因此,机器学习技术还必须试图控制“泛化误差(generalization error)”,即,与相关性函数所产生的相关性分数以及用户为未在测试查询集中的查询或未在相关性等级中的文档确定的相关性分数相关联的误差。
在一些实施例中,方法400的步骤406包括将与第n个查询和第m个相关性文档中的第j个文档相关联的部分误差enmj定义为用于该文档与查询的训练相关性分数与相关性函数所产生的值之间的差的平方的函数,enmj=(ynmj-p(znmj))2在其它实施例中,误差被定义为训练相关性分数和相关性函数所产生的值之间的差的绝对值的函数,enmj=|ynmj-p(znmj)|在其它实施例中,首先定义训练分类函数,分类函数至少部分基于文档的训练相关性分数而将文档分配到多个类别中的至少一个类别。例如,再次参考图3,可以定义训练分类函数,使得来自与每个测试查询相关联的最高相关性等级310-11、...和310-N1的所有文档被分配给第一类别。该类别中的成员资格可以与值“1”相关联。未被分类为第一类别成员的相关性等级310中的文档可以被分配到第二类别。第二类别的成员资格可以与值“-1”相关联。在一些实施例中,可以以类似的方式定义多于两个类别。
在训练分类函数是二叉分类器的实施例中,在将文档分配到两个类别之一时,定义部分误差enmj=exp(-ynmjp^(znmj))]]>其中 是相关性函数的对数变换,即,p^(znmj)=12log(p(znmj)1-p(znmj))]]>参考图4,确定相关性函数的方法400重复定义部分误差的步骤406一次或多次。步骤408确定是否要确定更多部分误差。在一些实施例中,由步骤406重复定义部分误差,直到已经为每个相应查询的每个相关性等级(图3中的310)中的每个文档定义了部分误差。方法400的步骤410随后选择相关性函数的系数以便最小化总误差。在一些实施例中,总误差只是与多个测试查询中的每个查询相关联的每个相关性等级中的所有文档的部分误差的总和etot=ΣnΣiΣjenmj]]>在其它实施例中,总误差可以是部分误差的更复杂函数,例如是部分误差的加权和或部分误差的平方和。
对于相关性函数的任意参数化,确定相关性函数的参数(例如,系数)以便最小化总误差。在一些实施例中,也可以利用推进(boost)过程来实现用于最小化总误差的参数选择。例如,推进过程的一个版本,AdaBoost(其伪代码可从下文得到Schapire,R.E.“The Boosting Approachto Machine LearningAn Overview”,in MSRI Workshop on NonlinearEstimation and Classification,2002,其全部内容在这里作为参考而被引入)可以被用来确定权重集的序列,这些权重集被用于确定作为部分误差的加权和的总误差。对于每个权重集,确定相关性函数的参数,以便最小化利用该权重集所确定的总误差。例如参见上述的Schapire。作为另一示例,可以使用梯度推进算法(GradientBoost)的实现方式来选择最小化总误差的相关性函数的参数。例如参见Friedman,J.H.“Greedy FunctionApproximationA Gradient Boosting Machine,”The Annals of Statistics29(5),2001年10月,其全部内容在这里作为参考而被引入。当基础函数是分类与回归(CART)树时,梯度推进是用于上述目的的特别有吸引力的技术。为了完整描述CART树,包括描述选择CART树的参数来最小化误差的方法,参见L.Breiman,J.H.Friedman,R.A.Olshen,和C.J.Stone,Classification and Regression Tress,Bermont,CA,Wadsworth,1984,其全部内容在这里作为参考而被引入。用来确定相关性函数的系数以便最小化总误差的其它方法也是可行的,包括试图基于函数的输入和输出的样本来最小化函数的泛化误差的任意算法。
一旦已经确定了相关性函数,则在一些实施例中进一步确定排名函数。首先,用户向搜索引擎提交查询。然后,从数据库获取文档的集合,这些文档将根据与查询的相关性来排名。在一些实施例中,在该集合中仅包括包含该查询中的一个或多个项目的文档。在其它实施例中,可以使用其它标准来选择该集合。接下来,对于每个文档,为与查询配对的文档评价所选特征集的值。然后使用相关性函数来确定与查询配对的文档的相关性值。一旦为集合中的每个文档都确定了相关性值,则产生文档集合的有序列表。确定该有序列表使得列表中的文档以相关性下降的顺序被排序。因此,在有序列表中首先出现的文档将具有该集合中的所有文档的数值上最大的相关性值,而在有序列表中最后出现的文档将具有集合中的所有文档的最小相关性分数。以这种方式对列表排序的方法在数据结构领域是公知的。
本发明可以实现为计算机程序产品,该计算机程序产品包括嵌入到计算机可读存储介质中的计算机程序机制。参考图6,在一些实施例中,相关性函数确定系统(图1中的108)包括·一个或多个中央处理单元604;·网络接口606,用于与网络上的其它计算机(例如,图1所示的搜索引擎106)通信;·主与辅存储设备610,包括计算机可读介质,用于存储(一个或多个)中央处理单元604所执行的一个或多个模块以及一个或多个数据结构;以及·内部总线608,用于在(一个或多个)中央处理单元604、网络接口606和主与辅存储介质610之间收发电子信号。
存储设备610中的程序模块可以被存储在CD-ROM、磁盘存储产品或任何其它计算机可读数据或程序存储产品上。计算机程序产品中的软件模块还可以经由因特网或利用在载波上传输计算机数据信号(其中嵌入了软件模块)而被以电子形式分发。存储设备610可以至少包括数据结构612,用于存储多个测试查询;以及数据结构614,用于存储标识或以其它方式代表结果文档集的数据,该数据结构614中的数据一般将包括指向结果文档集中的文档的URL。
存储设备610还可以包括·收集模块616,用于从数据库为多个测试查询中的每个查询收集相应的结果文档集;收集模块616一般将调用相同或不同计算机系统中的搜索引擎模块来产生结果文档集;·采样模块618,用于为多个测试查询中的每个测试查询选择相应结果集中的文档子集;·计分模块620,用于将训练相关性分数集分配给每个所选子集中的文档;以及·相关性函数产生模块622,用于基于所述多个测试程序、文档子集和训练相关性分数集来确定相关性函数。
这里引用的所有参考文件作为参考而被整体引入于此,并且引用这些参考文件的全部目的与每个个体公开物或专利或专利申请被具体且分别指出作为参考而被整体引入的所有目的的范围相同。
为了说明的目的,前面的说明使用了具体的术语以提供对本发明的完整理解。然而,本领域普通技术人员将很容易认识到,这些具体的细节不是实现本发明所必需的。被选出并描述的实施例是为了最好地解释本发明的原理及其实际应用,进而使本领域技术人员能够最优地使用本发明以及具有多种修改的多种实施例,所述多种修改是为适用于具体使用而设计的。因此,前面公开的内容不是穷尽性的,也不是想要将本发明限制为所公开的具体形式。在前述教导的启示下,可以作出许多修改和变化形式。
本发明的范围由权利要求及其等同物来定义。
权利要求
1.一种确定文档相关性函数的方法,所述文档相关性函数用于估计数据库中的文档关于查询的相关性分数,所述方法包括(a)对于多个测试查询中的每个测试查询,从所述数据库中收集相应的结果文档集;(b)对于所述多个测试查询中的每个测试查询,选择所述相应结果集中的文档子集;并且将训练相关性分数集分配给所述子集中的文档;以及(c)基于所述多个测试查询、所述文档子集以及所述训练相关性分数集来确定相关性函数。
2.如权利要求1所述的方法,其中至少部分基于所确定的相关性函数来确定文档排名函数,所述文档排名函数从所述数据库接收文档集;接收查询;以及输出所述文档集的有序列表,所述列表被排序,使得所述文档集中具有所述相关性函数确定的最高相关性分数的文档是所述列表中的第一文档。
3.如权利要求1所述的方法,其中所述多个测试查询是通过下述步骤选择的从用户提交到搜索引擎的查询日志中采样初步的查询串集;从所述初步集中去除被确定为在用户基础的知识的范围之外的查询;以及将所述初步集中的剩余查询分配给所述多个测试查询。
4.如权利要求1所述的方法,其中所述多个测试查询是通过下述步骤选择的从单个词条目的词典中采样词;以及将如此采样得到的每个词分配给所述多个测试查询。
5.如权利要求4所述的方法,其中选择所述多个测试查询还包括选择从所述词典采样的两个或更多词的组合,并且将所述组合分配给所述多个测试查询。
6.如权利要求1所述的方法,其中选择子集包括对于每个测试查询,从所述相应结果集选择文档,确定将所选文档与当前查询相关的代理相关性分数,并且基于所确定的代理相关性分数将所选文档分配给多个相关性等级中的至少一个相关性等级;以及重复所述文档选择步骤,直到每个相关性等级至少含有相应预定义数量的文档。
7.如权利要求6所述的方法,其中分配所选文档包括将所选文档分配给所述多个相关性等级中的下述每个等级,其中所述代理相关性分数大于所述等级的相应预定阈值。
8.如权利要求6所述的方法,其中分配所选文档包括将所选文档分配给所述多个相关性等级中的下述等级,其中所述代理相关性分数落在与所述等级相关联的相关性分数的相应预定范围内。
9.如权利要求8所述的方法,其中与所述多个等级相关联的相关性分数的相应预定范围是不重叠的。
10.如权利要求6所述的方法,其中确定代理相关性分数包括将所述查询提交给搜索引擎;以及将所述代理相关性分数确定为所述文档在搜索引擎所提供的结果页列表中的位置的函数。
11.如权利要求6所述的方法,其中分配训练相关性分数集包括将所述子集中的第一多个文档中的每个文档提交到多个人类主观认识,其中所述第一多个文档具有预定义范围内的代理相关性分数,一个或多个人类主观认识确定每个所提交的文档关于所述查询的个体相关性分数;以及基于所述人类主观认识所确定的个体相关性分数,将训练相关性分数分配给关于所述查询的每个所提交的文档。
12.如权利要求11所述的方法,其中所述个体相关性分数是从预定范围内选择的数字,并且所述分配包括计算所述个体相关性分数的算术平均值。
13.如权利要求11所述的方法,还包括基于对所述文档确定的代理相关性分数而将训练相关性分数分配给所述子集中的第二多个文档中的每个文档。
14.如权利要求6所述的方法,其中确定所选文档的代理相关性分数包括将所述查询提交到多个搜索引擎,每个搜索引擎返回来自所述数据库的相应结果页列表,每个相应结果页列表包括所选文档;以及根据所选文档在结果页列表中的平均的数字表示的位置,确定所述代理相关性分数。
15.如权利要求1所述的方法,其中分配训练相关性分数集包括将所述子集中的第一多个文档中的每个文档提交到相应多个人类主观认识,所述相应多个人类主观认识中的每个人类主观认识确定所提交文档关于所述查询的个体相关性分数;以及基于所述人类主观认识所确定的个体相关性分数而将训练相关性分数分配给关于所述查询的每个所提交的文档。
16.如权利要求15所述的方法,其中所述个体相关性分数是从预定范围内选择的数字,并且所述分配包括计算所述个体相关性分数的算术平均值。
17.如权利要求15所述的方法,还包括将预定义的低训练相关性分数分配给所述子集中的第二多个文档中的每个文档。
18.如权利要求1所述的方法,其中确定相关性函数包括确定将在构建所述相关性函数过程中用作预测变量的特征集;所述特征集中的每个特征包括相应文档、相应查询或两者的一个或多个属性的函数;根据有限参数集和基础函数对所述相关性函数参数化,其中每个基础函数采用所述特征的子集作为它的输入,并且输出值;在所述文档相关性函数被应用于关于特定查询的给定文档时,定义部分误差,所述部分误差将所述给定文档关于所述特定查询的训练相关性分数与所述文档相关性函数产生的值相关;对于多个给定文档和多个特定查询,重复定义部分误差,以便产生部分误差集;以及选择参数以便最小化总误差,其中所述总误差是所述部分误差集的函数。
19.如权利要求18所述的方法,其中所述特征集包括至少一个依赖于查询的特征和至少一个独立于查询的特征。
20.如权利要求18所述的方法,其中所述特征集包括下述特征中的至少一个本征排名(ER),Hub,URL深度,质量分数,垃圾索引,家庭友好度,文档长度,锚定文本分数,匹配位置,匹配频率,项目权重和邻近度。
21.如权利要求18所述的方法,其中所述特征集包括下述特征中的至少四个本征排名(ER),Hub,URL深度,质量分数,垃圾索引,家庭友好度,文档长度,锚定文本分数,匹配位置,匹配频率,项目权重和邻近度。
22.如权利要求18所述的方法,其中定义部分误差还包括定义类别集;至少部分基于给定文档的训练相关性分数而将给定文档分配到所述类别中的一个或多个。
23.如权利要求22所述的方法,其中所述部分误差是至少部分由一个比率确定的,所述比率是所述相关性函数和一个差的比率,所述差是1和所述相关性函数之间的差。
24.如权利要求18所述的方法,其中所述部分误差被定义成文档的训练相关性分数和所述文档相关性函数所产生的值之间的差的平方的函数。
25.如权利要求18所述的方法,其中所述部分误差被定义成文档的训练相关性分数和所述文档相关性函数所产生的值之间的差的绝对值的函数。
26.如权利要求18所述的方法,其中所述基础函数中的至少一个是节点分类树,并且所述有限参数集包括关联的分裂变量、分裂地点和终端节点值。
27.如权利要求18所述的方法,其中选择所述参数以便最小化总误差是利用推进过程实现的。
28.如权利要求18所述的方法,其中选择所述参数以便最小化总误差是利用梯度推进过程实现的,并且其中所述基础函数至少包括分类与回归树(CART)。
29.一种结合计算机系统使用的计算机程序产品,所述计算机程序产品包括计算机可读存储介质和其中的计算机程序机制,所述计算机程序机制包括(a)收集模块,用于为多个测试查询中的每个从数据库收集相应的结果文档集;(b)采样模块,用于对于所述多个测试查询中的每个测试查询,选择所述相应结果集中的文档子集;(c)计分模块,用于将训练相关性分数集分配到每个所选子集中的文档;(d)相关性函数产生模块,用于基于所述多个测试查询、所述文档子集以及所述训练相关性分数集来确定相关性函数。
30.如权利要求29所述的计算机程序产品,其中所述相关性函数产生模块还包括用于至少部分基于所确定的相关性函数来确定文档排名函数的指令,所述文档排名函数从所述数据库接收文档集;接收查询;以及输出所述文档集的有序列表,所述列表被排序,使得所述文档集中具有所述相关性函数确定的最高相关性分数的文档是所述列表中的第一文档。
31.如权利要求29所述的计算机程序产品,其中所述收集模块包括用于通过下述步骤来产生所述多个测试查询的指令从用户提交到搜索引擎的查询日志中采样初步的查询串集;从所述初步集中去除被确定为在用户基础的知识的范围之外的查询;以及将所述初步集中的剩余查询分配给所述多个测试查询。
32.如权利要求29所述的计算机程序产品,其中所述收集模块包括用于通过下述步骤来产生所述多个测试查询的指令从单个词条目的词典中采样词;以及将如此采样得到的每个词分配给所述多个测试查询。
33.如权利要求32所述的计算机程序产品,其中所述收集模块还包括用于实现下述操作的指令选择从所述词典采样的两个或更多词的组合,并且将所述组合分配给所述多个测试查询。
34.如权利要求29所述的计算机程序产品,其中所述采样模块包括用于实现下述操作的指令对于每个测试查询,从所述相应结果集选择文档,确定将所选文档与当前查询相关的代理相关性分数,并且基于所确定的代理相关性分数将所选文档分配给多个相关性等级中的至少一个相关性等级;以及重复所述文档选择步骤,直到每个相关性等级至少含有相应预定义数量的文档。
35.如权利要求34所述的计算机程序产品,其中所述采样模块还包括用于实现下述操作的指令将所选文档分配给所述多个相关性等级中的下述每个等级,其中所述代理相关性分数大于所述等级的相应预定阈值。
36.如权利要求35所述的计算机程序产品,其中所述采样模块还包括用于实现下述操作的指令将所选文档分配给所述多个相关性等级中的下述等级,其中所述代理相关性分数落在与所述等级相关联的相关性分数的相应预定范围内。
37.如权利要求36所述的计算机程序产品,其中与所述多个等级相关联的相关性分数的相应预定范围是不重叠的。
38.如权利要求35所述的计算机程序产品,其中所述采样模块还包括用于实现下述操作的指令对于每个测试查询,将所述查询提交给搜索引擎;以及将所述子集中的文档的代理相关性分数确定为所述文档在搜索引擎所提供的结果页列表中的位置的函数。
39.如权利要求35所述的计算机程序产品,其中所述计分模块包括用于实现下述操作的指令将所述子集中的第一多个文档中的每个文档提交到多个人类主观认识,其中所述第一多个文档具有预定义范围内的代理相关性分数,每个人类主观认识确定所提交的文档关于所述查询的个体相关性分数;以及基于所述人类主观认识所确定的个体相关性分数,将训练相关性分数分配给关于所述查询的每个所提交的文档。
40.如权利要求39所述的计算机程序产品,其中所述个体相关性分数是从预定范围内选择的数字,并且所述分配包括计算所述个体相关性分数的算术平均值。
41.如权利要求39所述的计算机程序产品,其中所述计分模块还包括用于实现下述操作的指令基于对所述文档确定的代理相关性分数而将训练相关性分数分配给所述子集中的第二多个文档中的每个文档。
42.如权利要求35所述的计算机程序产品,其中所述采样模块还包括用于通过下述步骤来确定将所选文档与当前查询相关的代理相关性分数的指令将所述查询提交到多个搜索引擎,每个搜索引擎返回来自所述数据库的相应结果页列表,每个相应结果页列表包括所选文档;以及根据所选文档在结果页列表中的平均的数字表示的位置,确定所述代理相关性分数。
43.如权利要求29所述的计算机程序产品,其中所述计分模块包括实现下述操作的指令将每个所选子集中的第一多个文档中的每个文档提交到多个人类主观认识,每个人类主观认识确定所提交文档关于所述查询的个体相关性分数;以及基于所述人类主观认识所确定的个体相关性分数而将训练相关性分数分配给关于所述查询的每个所提交的文档。
44.如权利要求43所述的计算机程序产品,其中所述个体相关性分数是从预定范围内选择的数字,并且所述分配包括计算所述个体相关性分数的算术平均值。
45.如权利要求44所述的计算机程序产品,其中所述计分模块还包括用于实现下述操作的指令将预定义的低训练相关性分数分配给每个所选子集中的第二多个文档中的每个文档。
46.如权利要求29所述的计算机程序产品,其中确定模块包括用于实现下述操作的指令根据有限参数集和基础函数对所述相关性函数参数化,其中每个基础函数为相应输入的特征集输出值,每个特征包括相应文档、相应查询或两者的一个或多个属性的函数;在所述文档相关性函数被应用于关于特定查询的给定文档时,定义部分误差,所述部分误差将所述给定文档关于所述特定查询的训练相关性分数与所述文档相关性函数产生的值相关;对于多个给定文档和多个特定查询,重复定义部分误差,以便产生部分误差集;以及选择参数以便最小化总误差,其中所述总误差是所述部分误差集的函数。
47.如权利要求46所述的计算机程序产品,其中所述特征集包括至少一个依赖于查询的特征和至少一个独立于查询的特征。
48.如权利要求46所述的计算机程序产品,其中所述特征集包括下述特征中的至少一个本征排名(ER),Hub,URL深度,质量分数,垃圾索引,家庭友好度,文档长度,锚定文本分数,匹配位置,匹配频率,项目权重和邻近度。
49.如权利要求46所述的计算机程序产品,其中所述特征集包括下述特征中的至少四个本征排名(ER),Hub,URL深度,质量分数,垃圾索引,家庭友好度,文档长度,锚定文本分数,匹配位置,匹配频率,项目权重和邻近度。
50.如权利要求46所述的计算机程序产品,其中确定模块还包括用于实现下述操作的指令定义类别集;至少部分基于给定文档的训练相关性分数而将给定文档分配到所述类别中的一个或多个。
51.如权利要求50所述的计算机程序产品,其中确定模块还包括用于实现下述操作的指令定义所述部分误差,所述部分误差是至少部分由一个比率定义的,所述比率是所述相关性函数和一个差的比率,所述差是1和所述相关性函数之间的差。
52.如权利要求46所述的计算机程序产品,其中确定模块还包括用于实现下述操作的指令将所述部分误差定义成文档的训练相关性分数和所述文档相关性函数所产生的值之间的差的平方的函数。
53.如权利要求46所述的计算机程序产品,其中确定模块还包括用于实现下述操作的指令将所述部分误差定义成文档的训练相关性分数和所述文档相关性函数所产生的值之间的差的绝对值的函数。
54.如权利要求46所述的计算机程序产品,其中所述基础函数中的至少一个是节点分类树,并且所述有限参数集包括关联的分裂变量、分裂地点和终端节点值。
55.如权利要求46所述的计算机程序产品,其中确定模块还包括用于实现下述操作的指令选择所述参数以便最小化总误差是利用推进过程实现的。
56.如权利要求46所述的计算机程序产品,其中确定模块包括用于实现下述操作的指令根据至少一个分类与回归树(CART)来对所述相关性函数参数化;以及选择所述参数以便最小化总误差是利用梯度推进过程实现的。
全文摘要
本发明提供了一种确定文档相关性函数的方法与计算机程序产品,该文档相关性函数用于估计数据库中的文档关于查询的相关性分数。对于多个测试查询中的每个测试查询,收集相应的结果文档集。对于每个测试查询,选择所述相应结果集中的文档子集,并且训练相关性分数集被分配给该子集中的文档。在一个实施例中,至少一些训练相关性分数是由人类主观认识分配的,所述人类主观认识确定所提交的文档关于对应查询的个体相关性分数。最后,基于所述多个测试查询、所述文档子集以及所述训练相关性分数集,确定相关性函数。
文档编号G06F7/00GK1826597SQ200480017468
公开日2006年8月30日 申请日期2004年4月23日 优先权日2003年4月25日
发明者大卫·科索克 申请人:奥弗图尔服务公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1