将异源的搜索引擎结果混合为一个搜索结果的方法与系统的制作方法

文档序号:6487281阅读:97来源:国知局
专利名称:将异源的搜索引擎结果混合为一个搜索结果的方法与系统的制作方法
技术领域
本发明涉及在文档集合中定位文档的搜索引擎领域,所述文档例如是在耦合到因特网或内联网的服务器上存储的文档,具体而言,本发明涉及用于混合来自多个搜索引擎源的相应多个搜索引擎结果以产生混合搜索引擎结果的方法与系统。
背景技术
因特网是个大的计算机网络,它包括大量客户设备和服务器设备。在众多功能中,服务器设备有时响应于客户通过网络发出的请求而通过网络向客户设备提供文档。请求一般包括文档的地址。在因特网上,通常使用统一资源定位符(URL)来指定文档的地址,URL同时标识服务器以及客户请求的该服务器上的特定文档。该文档可以是能够通过网络传输的任意多类型信息中的一种信息,包括文本文件、文字处理文件、音频片断、视频片断、以及任何其它类型的电子数据。通过被通称为万维网(“Web”)的方式,文档集合对在因特网上的客户计算机可用。
连接到因特网的计算机可以是客户设备、服务器设备或者兼为两者。因特网上一种特殊类型的服务器设备被称为搜索引擎系统。搜索引擎系统还存在于因特网之外的网络上,例如在企业内联网上。想要从万维网获取信息的客户设备的用户,在不确定任何或所有相关文档的URL的情况下,一般向搜索引擎提交请求(被称作查询)。查询包括用于描述客户设备的用户感兴趣的信息的类型的一个或多个项目。搜索引擎一般维护万维网上的文档数据库。每个数据库可以包括关键字项目和包含该关键字项目的文档的对应URL,其中关键字项目可以是单词或任意类型的电子可存储数据。一般而言,作为关键字项目的替代或除了关键字项目之外,数据库可以存储文档的特征。一些特征是直接代表文档属性的值,特征的一个示例是文档的长度。其它特征使得能够在文档和查询之间进行某些类型的比较,查询中的给定项目在文档中出现的频率可以作为这种比较的一个示例。
响应于客户设备的用户所提交的查询,搜索引擎一般基于其数据库来确定索引中与查询相关的文档子集。此外,搜索引擎系统一般包括排名函数,该排名函数估计子集中的每个文档与所述查询的相关性,为子集中的每个文档产生相对于所述查询的“相关性分数”。最后,排名函数创建搜索引擎结果,该搜索引擎结果包括有序的条目列表。每个条目对应于文档子集中的一个文档。条目包括对应文档的URL(从而用户可以从万维网请求文档)以及该条目在列表中的位置。列表被排序,使得位置靠近列表起点的文档(即,具有数值上较低位置的文档)具有较高的相关性分数(即,在从列表的起点向其终点移动时,相关性分数单调下降)。
准确代表万维网上的文档内容的文档数据库的创建是一个困难的问题。首先,在万维网上有大量的文档;文档数量的估计值目前以十亿计。这为创建能够同时存储与所有文档有关的信息并在需要时快速获取信息的单个数据库制造了困难。其次,万维网上文档的内容十分不同。文档是由具有不同技巧的作者(从专业记者到儿童)制作的,是以多种语言写成的(有时采用不同的字母表及其电子编码方案),并且被用于多种目的(从娱乐用途到电子商务)。这使得确定数据库中包括文档的哪些关键字项目和特征成为一个困难的问题。最后,万维网上文档的内容以及文档自身的位置频繁地改变。已经采取了多种“爬行搜索(crawling)”策略来缓解这一困难,每种策略都具有其各自的优点和缺点。因此,在搜索引擎系统中使用多于一个数据库以应对大量的、多种的、以及随时间变化的文档的集合(例如万维网上的文档的集合)会是有利的。
即使开发了能够准确有效表征万维网上可用的文档的单个数据库,确定数据库中的特定文档相对于查询的相关性分数也将是个困难的问题。文档的相关性分数被用于确定对应条目在搜索引擎结果中的位置。用户一般仅检查搜索引擎结果中的最初三个或四个条目,因此在用户对搜索引擎结果的满意度方面,(至少对于高度相关文件的)准确的相关性分数确定是一个重要的因素。用户对特定文档与查询的相关性的感知很难利用用于确定相关性分数的单个算法来准确复制。因此,搜索引擎系统中需要不只一种可以用来确定相关性分数的方法。例如,一种方法可能非常适于确定以单种语言(例如,英语)所写的文档的相关性分数,而第二种方法最适于确定第二种语言(例如,汉语)的文档的相关性分数。然而,当数据库中的文档含有两种语言的内容时,将难以决定使用哪种排名函数。作为另一示例,搜索引擎系统可能包括不只一个数据库,并且具有用于每个数据库的独立排名函数。这样,各个排名函数可以被优化用于确定来自它们相应数据库的文档的相关性分数。越来越多地使用统计与机器学习技术来执行这类优化。因此,需要一种方法与系统来混合来自不只一个排名函数的搜索引擎结果。
基于上述背景,希望设计一种用于组合来自一个或多个搜索源的搜索引擎结果的方法与系统,每个搜索源可能使用不同的数据库或排名函数或兼用两者。具体而言,希望设计一种方法,该方法能够以下述方式来确定混合搜索引擎结果即,与用户对来自任何个别搜索源的最高三个文档的相关性的感知相比,用户对混合搜索引擎中的最高三个文档的相关性的感知是较好的,或者至少不差。

发明内容
一些实施例提供了一种用于将来自多个搜索源的相应多个搜索引擎结果混合成一个搜索引擎结果的方法。首先,从每个搜索源接收相应的条目结果列表。条目结果列表对于列表上的每个条目来说包括条目位置、文档地址以及文档的相关性分数。然后,确定的变换被应用于至少一个所接收结果列表中的至少一个文档子集的相关性分数,进而产生经变换的分数。最后,相应结果列表的多个部分被组合在一起以产生混合搜索引擎结果。该混合搜索引擎结果包括混合的条目列表。作为组合相应结果列表的一部分,混合条目列表中的条目是至少部分基于经变换的分数而排序的。
一些实施例还提供了一种确定用于多个搜索源的第一搜索源的变换的方法。首先,为至少第一搜索源和第二搜索源测量并存储点击率统计信息。然后,为第一和第二搜索源中的每个确定品质因数(figure ofmerit)。品质因数是至少部分由所测量并存储的统计信息确定的。最后,基于第一和第二搜索源的品质因数确定系数集。这些系数定义用于第一搜索源的相关性分数变换。
一些实施例提供了一种搜索引擎系统。该搜索引擎系统包括多个搜索源。此外,该搜索引擎系统具有至少一个用于接收查询并发送搜索结果的接口。该搜索引擎系统还包括至少一个耦合到所述多个搜索源的搜索引擎。所述至少一个搜索引擎被配置从每个搜索源接收与所接收的查询相对应的相应条目结果列表。每个相应的结果列表对于列表中的每个条目来说至少包括条目的位置、文档的地址、以及该文档与所接收查询相关的相关性分数。该搜索引擎系统还包括混合模块,混合模块被配置将确定的变换应用于至少一个所接收结果列表中的至少一个条目子集的相关性分数,进而产生经变换的分数。该混合模块还被配置组合所述相应结果列表的至少多个部分,以产生包括混合条目列表的混合搜索引擎结果,其中包括对混合条目列表排序。对混合条目列表的排序是至少部分由经变换的分数来确定的。
在一些实施例中,该搜索引擎系统还包括变换确定模块。变换确定模块被配置确定用于所述多个搜索源的第一搜索源的变换。首先,变换确定模块为第一搜索源和第二搜索源中的每个测量并存储点击率。然后,变换确定模块为第一和第二搜索源中的每个确定品质因数。对品质因数的确定是至少部分基于所测量并存储的统计信息的。最后,变换确定模块基于第一和第二搜索源的品质因数为第一搜索源确定系数集。如此确定的该系数集定义了用于第一搜索源的变换。
在一些实施例中,搜索引擎系统还被配置为第一搜索源和第二搜索源测量并存储点击率统计信息。搜索引擎还被配置从用户接收查询,将混合结果返回给用户,所述混合结果包括条目列表。变换确定模块还被配置记录条目列表中的哪个项目(如果有的话)被用户选择。搜索引擎系统还被配置重复所述接收、返回和记录,直到达到终止条件。


当结合附图对本发明的优选实施例进行详细说明时,本发明的前述特征和优点及其附加特征和优点将在下文被更清楚地理解。
图1A图示了使用所公开的方法和系统的可能场景,包括网络、一个或多个客户计算机、万维网、以及搜索引擎系统。
图1B图示了搜索引擎结果,搜索引擎结果包括条目列表以及与每个条目相关联的对应文档的位置、地址、对应文档的说明以及相关性分数。
图2A图示了来自第一搜索源的第一条目列表、来自第二搜索源的第二条目列表、通过将变换应用于第一条目列表的相关性分数而获得的经变换的分数、以及混合搜索引擎结果。
图2B是搜索引擎系统的框图,包括混合模块、变换确定模块、多个搜索源、搜索引擎和接口。
图3图示了确定变换的方法。
图4图示了对混合搜索引擎结果中的条目列表中的哪个项目已被用户选择进行的匿名记录。
图5图示了能够实现所公开的搜索引擎系统和方法的计算机系统。
在附图的若干示图中,相似的标号指示对应的部分。
具体实施例方式
参考图1A,在连网环境100中,网络105连接一个或多个客户计算机104、搜索引擎系统106以及文档103的集合(在这种情况下是万维网102)。客户计算机104-1通过网络105提交查询112,并且查询112被搜索引擎系统106接收。搜索引擎系统106通过经由网络105向客户计算机140-1提供混合搜索引擎结果114来作出响应。
已经描述了使用搜索引擎系统106的可能场景,将进一步描述混合搜索引擎结果114。参考图1B,混合搜索引擎结果114包括条目130的列表。每个条目130与网络上的对应文档相关联。一般而言,响应于查询112(图1A),搜索引擎系统将提供与和查询112高度相关的文档相关联的条目130(作为混合结果114的一部分)。为了帮助用户定位和获取文档,每个条目130有时包括文档的URL 122。由于例如URL作为超文本标记语言(HTML)锚定标签被提供给用户,因而URL 122可能对客户计算机104的用户不可见。作为URL 122的替代或者除URL 122之外,在其它实施例中条目130可以包括与条目相关联的文档的其它形式的地址信息。为了帮助用户评价相关联文档的相关性,每个条目130可以包含该文档的简要说明128。例如,条目130可以包含在与该条目相关联的文档中找到的最初几行文档。
混合搜索引擎结果114中的条目列表中的每个条目130(及其关联文档)具有列表中的位置120和混合相关性分数124两者。位置120可以明确地包括在搜索引擎结果中,也可以没有被明确包括在搜索引擎结果中。如果位置没有被明确包括,则可以基于条目相对于列表上其它条目的位置来确定位置。搜索引擎系统使用混合相关性分数124来确定条目130的位置120。文档的混合相关性分数124一般采取范围在0至1之间或等同地范围在0%至100%之间的数字值。尽管图1B中仅描述了10个条目,但是在混合搜索引擎结果114中可以显示更多或更少的条目。
搜索引擎结果114的视觉描述被呈现给客户计算机104-1(图1A)的用户,并且该用户可以通过将光标126置于条目130上(即,置于客户计算机显示器的相关区域上)并点击它来点击与文档相关联的条目130,进而选择用于浏览的文档。作为混合搜索引擎结果的一部分的条目被呈现给的用户已经具有对该条目的“印象”。当用户点击该条目时,发生该条目的“点击进入”。
已经描述了混合搜索引擎结果,现在描述将来自多个搜索源的相应多个搜索引擎结果混合为单个混合搜索引擎结果114的过程。参考图2A,在优选实施例中,接收到两个搜索引擎结果集260(这里也被称为结果列表或简称为“结果”),它们分别来自两个搜索源。从第一搜索源接收的搜索引擎结果集260-1包括条目262的列表。每个条目262进一步包括位置264、文档在第一搜索源的数据库中的地址266、以及相关性分数268。类似地,来自第二搜索源的搜索引擎结果集260-2也包括条目270的列表。每个条目270包括相关性分数274。
将搜索引擎结果集260混合为单个混合搜索引擎结果114的一个目标是,从结果集260的多个条目中产生包含最高度相关条目(如用户所判断的那样)的结果114中的条目列表。此外,希望结果114中的条目列表被排序,使得随着列表上的位置增加,用户感知的与该条目对应的文档的相关性降低,或者至少不增加(即,当沿着列表向下前进时,相关性单调下降)。原则上,第一结果集260-1的相关性分数268和第二结果集260-2的相关性分数274可以被直接用来对来自两个结果集260的条目进行排名。例如,可以选择两个结果集中具有最高相关性分数的条目,将其加入混合结果,并且将其从其初始结果集中去除。该过程可以一直重复到混合结果包含了预定数量的条目。然而,在产生按照用户感知的相关性排序的条目列表方面,这可能不是很有效。例如,相关性分数268和相关性分数270可能不具有可比拟的比例,一个可能采取范围在0至1之间的值,而另一个可能采取范围在4-100之间的值。而且,分数可能是由在确定相关性过程中采用不同标准的排名函数来确定的,因而不是直接可比的。
为了解决这个问题,搜索引擎系统的实施例将确定的变换280(变换的确定在下文结合图3进行描述)应用于第一结果集260-1中的条目262的相关性分数268。例如,变换280取得条目262-1的相关性分数(具有值0.85),并且产生经变换的分数272-1,经变换的分数272-1具有值0.99。类似地,变换280被应用于其它相关性分数268,产生经变换的分数272的集合。
接下来,基于第一结果集260-1的经变换分数272和第二结果集260-2的相关性分数274来组合来自结果集260-1和结果集260-2的条目。一些实施例首先从第一结果的经变换分数和第二结果的相关性分数中选择具有最大分数的条目。例如,在图2A中,为混合结果114中的第一位置选择条目262-1,因为条目262-1的对应的经变换分数272-2(值为0.99)高于所有相关性分数274以及所有其它的经变换分数272。条目262-1被置于混合结果114的第一位置处。选择依次具有较低分数的条目并将这些条目置于结果集114中,直到结果集114包含了预定数量的条目(在本例中是10个)。或者,第一和第二集260中的所有条目被选择并且根据结果集260-1的经变换分数272和结果集260-2的相关性分数274被置于结果集114中。例如,条目270-1被置于结果114的第二位置处,因为对应的相关性分数274-1(值为0.97)高于所有其它相关性分数274以及除经变换分数272-1之外的所有经变换分数272。类似地,条目262-2被置于结果114的第三位置处。
尽管已经结合图2B描述了对来自两个搜索源的搜索引擎结果的混合,但是在其它实施例中可以从相对较大数量的搜索源接收更多搜索引擎结果。例如,在一个实施例,可从五个搜索源接收五个搜索引擎结果。在一些实施例中,变换被应用于所有结果集而非一个结果集的相关性分数,之后结果集根据它们的经变换的相关性分数而被合并。相应地,每个结果260可以包含少于或多于10个条目。类似地,在其它实施例中,混合搜索结果114包含多于或少于10个条目。混合结果114中的条目数量不需要与任何结果260中的条目数量相同。类似地,结果260可以具有各自不同数量的条目。
已经描述了产生混合搜索引擎结果114的过程,现在描述能够产生混合搜索引擎结果的搜索引擎系统。参考图2B,示出了根据一个实施例的搜索引擎系统106。搜索引擎系统106包括两个或更多搜索源208。每个搜索源208具有关联的排名功能块204和数据库206。系统106还包括用于接收查询以及发送混合搜索引擎结果114的接口214。系统106还包括耦合到所述两个或更多搜索源208的搜索引擎220。当搜索引擎220经由接口214接收查询时,搜索引擎220将对应的查询210发送到搜索源208中的一个或多个。在一些实施例中,查询210可以与引擎220接收到的查询相同。在其它实施例中,引擎220可能仅将接收到的查询发送到具有与该查询相关的合适数据库206的源208。例如,在一些实施例中,如果搜索引擎系统106接收含有特定语言(例如,汉语)项目的查询,则引擎220仅将该查询发送到具有以该语言对文档作索引的数据库(例如,206-2)的源(例如,208-2)。类似地,如果系统106接收到含有第二语言项目的查询,则引擎220仅将查询传送到具有以第二语言对文档作索引的数据库206的源208。在其它实施例中,引擎220可以发送查询210到源208,查询210不同于系统106接收到的查询。例如,原始查询可以被搜索引擎220重构,以便适当呈现为特定源208的查询210。
搜索引擎220耦合到搜索源208,从而它可以从每个源208接收相应的结果列表260。结果列表260包括条目列表,每个条目具有列表上的关联位置、对应文档在列表的搜索源208的数据库中的地址、以及对应文档与查询210相关的相关性分数。结合上文图2A的讨论图示了一般结果列表260。
搜索引擎系统106还包括混合模块202。混合模块202被配置将确定的变换应用于至少一个接收到的结果列表260中的至少一个条目子集的相关性分数,从而产生经变换的分数。混合模块202还被配置组合相应结果列表260的至少多个部分,以产生包括混合条目列表的混合搜索引擎结果,同时包括至少部分基于经变换的分数来对混合条目列表进行排序。然后,经由接口214提供混合条目列表以作为部分或全部混合搜索引擎结果。上文结合图2A的讨论详细讨论了应用确定的变换、组合结果列表260的多个部分、以及形成混合搜索引擎结果的过程。
搜索引擎系统106可选地包括变换确定模块216。变换确定模块216被配置确定用于一个或多个搜索源208的一个或多个变换。下文结合图3的讨论来讨论对用于搜索源的变换的确定。变换一旦被确定,就被提供给混合模块202。在一些实施例中,混合模块202和变换确定模块216都被包括在搜索引擎220中。在其它实施例中,混合模块202和/或可选的变换确定模块216可以是搜索引擎系统106中包括的其它系统的一部分。在一些实施例中,搜索源208和搜索引擎220在不同的计算机上实现。在这些实施例中,例如通过网络105(图1A)来执行对查询210和相应结果列表260的传送。
已经描述了搜索引擎系统,现在描述确定变换的方法(在一些实施例中,该方法由图2A的变换确定模块216使用)。参考图3,在用于确定变换的方法300的优选实施例中,在步骤302中,首先测量并存储第一搜索源和第二搜索源的点击率统计信息。参考图4,在一些实施例中,用户点击混合搜索引擎结果114(例如,如图1B所示)中的一个条目的事件被搜索引擎系统106(图2B)所记录。当用户点击混合搜索引擎结果114的一个条目时,请求401被发送到搜索引擎系统106(例如,发送到搜索引擎220的变换确定模块216)。请求401包含关于所选条目在混合搜索引擎结果114中的位置的信息。为了使用户点击导致请求401被发送到搜索引擎系统106,与结果列表中的每个项目相关联的URL被改变,从而对所述项目的选择引起http消息(即,请求401)被发送到搜索引擎服务器而没有发送到存储用户所选择的文档的服务器。http消息(请求)401包括与所选文档相关联的URL以及所选项目在结果列表中的位置。
响应于对该请求的接收,搜索引擎220记录所选条目在混合结果114中的位置。此外,当两个或更多结果列表(例如,图2B中的260-1和260-2)被组合来产生混合结果114时,搜索引擎220记录从其获得所选条目的搜索源。此外,搜索引擎220记录搜索源和所有未被选择的条目在混合结果114中的位置。该存储行为可以例如由变换确定模块216(图2B)来完成。在优选实施例中,当被呈现给用户的结果列表被发送给用户时,关于该结果列表的信息被记录在日志记录中。关于用户所选择的项目的信息被记录在第二日志记录中。第二日志记录可以包括对第一日志记录的引用或指针。
仍旧参考图4,需要客户计算机104-1的用户接收与从搜索引擎结果114中选择的条目相对应的文档。为了实现此目的,搜索引擎系统106发送“http重定向”响应402到客户计算机104-1,用于指定所请求文档的URL。http重定向402使客户计算机104-1下载并显示与该URL相对应的文档。在另一实施例中,搜索引擎系统106可以下载所请求的文档,然后将该文档发送到客户计算机104-1。
不需要在每次客户计算机104的用户从混合结果选择条目时都记录关于混合结果114的条目的信息。那么,在一些实施例中,只针对所选的混合结果114记录用户从混合结果中的选择,所选的混合结果114可以是随机选择的或者以其它方式选择的。这样,系统104不因处理由用户从混合结果中选择条目而产生的每个请求导致超负载。例如,系统106可以产生混合结果114,从而当用户选择条目时,每110个结果中仅有一个结果产生请求401。
在一些实施例中,响应于用户从混合搜索引擎结果中选择条目,记录了所选条目的位置和搜索源。此外,还记录了没有被选择但是在混合结果中呈现了的条目的位置和源。随后希望从这些数据确定要被应用于由一个或多个搜索源产生的相关性分数的变换。在一些实施例中,对于混合搜索结果中的每个搜索源h和每个位置i,确定相对点击率。在一些实施例中,源h和位置i的相对点击率(RCR)根据下述公式来确定RCR(i,h)=CRS(i,h)CR(i)]]>其中CR(i)是与源无关的位置i处的结果的点击进入率CR(i)=clickthroughs(i)impressions(i)]]>其中“clickthroughs(i)”是在测量间隔期间(例如,一天或几天的周期)所记录的在位置i处用户点击进入的总数,“impressions(i)”是在相同测量间隔期间含有位置i处的条目的混合结果被呈现给用户的总的次数(并且其中结果被配置以便通知服务器哪个项目(如果有的话)被用户选择)。在上面的等式中,CRS(i)是当位置i处的结果是来自源h时的位置i处的结果的点击进入率CRS(i)=clickthroughs(i,h)impressions(i,h)]]>其中“clickthroughs(i,h)”是用户从混合搜索结果中选择位置i处的条目的次数,其中位置i处的条目最初是从搜索源h获得的,“impressions(h)”是含有位置i处的来自源h的条目的混合结果被呈现给用户的总的次数(并且其中结果被配置以便通知服务器哪个项目(如果有的话)被用户选择)。因此,RCR实质是来自特定源的条目被从混合结果中的特定位置选择的相对频率的代理(proxy)。
参考图3,在确定变换的方法300中,为至少第一源和第二源确定品质因数。在一个实施例中,源h的品质因数根据下述公式来确定F(h)=Σi=110P(i,h)RCR(i,h)]]>其中P(i,h)指的是混合结果中的位置i和源h的印象率(impressionrate)。尽管上面表达式的求和是从位置1到10的,但是其它实施例中的求和可以从位置1到低于或高于位置10的最终位置。印象率P(i,h)根据下述公式来确定P(i,h)=Impressions(i,h)ΣiImpressions(i,h)]]>其中Impressions(i,h)是混合结果位置i处含有来自源h的条目的次数。如果源208(图2B)向混合结果提供条目,但是这些条目很少被用户选择(相对于用户选择来自其它源的条目的频率来说),则品质因数F(h)将具有接近零的值。相反,如果源向混合结果提供条目,并且这些条目被用户频繁选择,则品质因数F(h)将具有大于或等于1的值。大于1的值指示用户选择的比率大于平均数,小于1的值指示用户选择的比率小于平均数。因此,源h的品质因数F(h)用作下述用户感知的代理,所述用户感知即为来自所述源的条目已经被正确置于混合结果的位置中。
最后,在确定变换的方法300中,在步骤306中,基于源的品质因数来确定一个或多个系数集。对于特定源,系数集被用来定义要被应用于来自该源的相关性分数的变换。例如,所述变换可以是移位变换,其中根据下述公式来执行变换TransformedScore=RelevanceScore+b,其中仅有一个系数b被用于定义该变换。当相关性分数在近似0.0至1.0之间时,该移位系数的典型值在从-0.04至0.04的范围内。其它可能的变换包括比例(scaling)变换,其中根据下述公式来执行该变换TransformedScore=a*RelevanceScore,其中又是仅有一个系数a被用于定义该变换。当相关性分数在近似0.0至1.0之间时,该比例系数的典型值在从0.9至1.1的范围内。其它可能的变换包括仿射(affine)变换,其中根据下述公式来执行该变换TransformedScore=a*RelevanceScore+b,其中两个系数(比例系数a和移位系数b)被用于定义该变换。当相关性分数在近似0.0至1.0之间时,比例系数a的典型值在从0.9至1.1的范围内,并且移位系数b的典型值在从-0.04至0.04的范围内。
确定被应用于一个或多个源的相关性分数的变换的系数的一个目标是均衡所有源的品质因数。在一些实施例中,基于源的品质因数,应用启发式规则集来确定变换的系数。一种类型的启发式规则要求当第一品质因数与第二品质因数的比率在预定义的值范围内时,要被应用于第一源的相关性分数的变换的系数采用预定义的系数值。例如,规则可以要求当第一源的品质因数与第二源的品质因数的比率(F(1)/F(2))在0.2和0.4之间时,在第二源的相关性分数的移位变换中的移位系数的值采取值0.04。另一规则可以要求当F(1)/F(2)在0.4和0.6之间时,在第二源的相关性分数的移位变换中的移位系数的值采取值0.02。这样,第一源的相关性分数的变换将以如下方式确定第一和第二源的品质因数趋向于均衡而没有不需要的过调节。
在其它实施例中,所使用的变换函数可以是上述的移位、比例和仿射函数之外的函数。具体而言,其它实施例可以使用混合变换函数,这些混合变换函数是来自其它源的结果和可用分数(来自相关性分数正被变换的搜索源)两者的函数。换句话说,应用于来自源A的结果的变换函数可以是复杂的函数,其涉及来自其它源或与其它源相关联的参数,而不仅涉及与源A相关联的固定系数。
在优选实施例中,搜索引擎系统106是使用一个或多个计算机系统实现的,如图5简要示出的那样。如本领域普通技术人员将会理解的那样,被设计用来处理大量查询的搜索引擎系统可以使用比图5所示更复杂的计算机体系结构。例如,前端服务器集可以被用来接收查询并在后端服务器集中分发查询,其中后端服务器集实际处理所述查询。在这种系统中,图5所示的系统106将是一个后端服务器。
计算机系统一般将具有一个或多个中央处理单元(CPU)504、网络或其它通信接口506、主与辅存储设备510、以及一个或多个用于互连这些组件的通信总线508。主与辅存储设备510可以包括高速随机存取存储器,并且还可以包括非易失性存储器,例如一个或多个磁盘存储设备(未示出)。主与辅存储设备510可以包括距离(一个或多个)中央处理单元504很远的海量存储设备。主与辅存储设备510优选地存储·操作系统512,操作系统512包括用于处理各种基本系统服务并执行硬件相关任务的程序;
·网络通信模块514,网络通信模块514被用于将系统106经由一个或多个通信网络(例如因特网、其它广域网、局域网(例如,可以将客户计算机104连接到系统106的本地无线网络)、城域网等)连接到多种客户计算机104(图1A)并可以连接到其它服务器或计算机;·搜索引擎220,用于接收来自客户计算机104的查询112,以及从一个或多个搜索源产生(或接收)一个或多个结果列表;搜索引擎(或者具有搜索源的搜索引擎)搜索搜索源数据库以找到与查询112有关的文档,并且确定与该查询有关的文档的相关性分数;·混合模块202,用于实现本发明的许多方面;以及·变换确定模块216,用于实现本发明的许多方面。
混合模块202可以包括可执行过程、子模块、表和其它数据结构。在一个实施例中,混合模块202包括用于组合由一个或多个搜索源所提供的结果列表的混合函数530。
变换确定模块216可以在与混合模块不同的服务器上实现,由于它的角色是收集随着时间而被平均的点击进入数据。新的变换函数系数被周期性确定,这比处理查询的频率要小得多。例如,新的变换函数系数可以被计算并且每天一次被分发到(一个或多个)混合模块,或者可能是每几天一次。变换确定模块216可以包括可执行过程、子模块、表和其它数据结构。在一个实施例中,变换确定模块216包括·数据结构532,用于存储所测量的点击率统计信息;·确定函数536,用于确定系数集,该确定函数可以包括一个或多个启发式规则;以及·一个或多个数据结构620,用于存储确定的系数集。
在替代性实施例中,为每个搜索源定义变换函数,并且每个变换函数被初始分配了与一致变换(unity transformation,一种没有改变源的分数的变换)相关联的一个或多个系数值。然后如上所述,基于变换定义模块收集的信息来分配用于多个变换函数的系数值。在一些实现中,所有的变换函数都可以被分配系数,从而对每个搜索源的分数执行非一致变换。然而,如上文所解释的那样,当混合来自N个搜索源的结果时,一般至多N-1个搜索源将需要非一致变换。
为了解释的目的,前面的说明使用了具体的术语以提供对本发明的完整理解。然而,本领域普通技术人员将很容易认识到,这些具体的细节不是实现本发明所要求的。被选出并描述的实施例是为了最好地解释本发明的原理及其实际应用,进而使本领域技术人员能够最优地使用本发明以及具有多种修改的多种实施例,所述多种修改是为适用于具体使用而设计的。因此,前面公开的内容不是穷尽性的,也不是想要将本发明限制为所公开的具体形式。在前述教导的启示下,可以作出许多修改和变化形式。
本发明的范围由权利要求及其等同物来定义。
权利要求
1.一种用于将来自多个搜索源的相应多个搜索引擎结果混合成一个搜索引擎结果的方法,包括从每个搜索源接收相应的条目结果列表,所述相应结果列表对于列表上的每个条目来说至少包括条目的位置、文档的地址以及文档的相关性分数;将确定的变换应用于至少一个接收到的结果列表中的至少一个文档子集的相关性分数,以便产生经变换的分数;以及组合所述相应结果列表的至少多个部分以产生包括混合条目列表的混合搜索引擎结果,其中包括至少部分基于所述文档的经变换分数来对所述混合条目列表排序。
2.如权利要求1所述的方法,包括通过下述步骤来确定用于所述多个搜索源的第一搜索源的变换测量并存储第一搜索源和第二搜索源的点击率统计信息;确定第一搜索源和第二搜索源中的每个的品质因数,所述品质因数是至少部分由所测量并存储的统计信息来确定的;以及对于第一搜索源,基于第一搜索源和第二搜索源的品质因数来确定系数集,其中所述系数集定义了用于第一搜索源的变换。
3.如权利要求2所述的方法,包括通过应用启发式规则集来确定所述系数集,所述启发式规则中的一个或多个要求当第一品质因数和第二品质因数的比率在预定义的值范围之内时,所述变换的系数采用预定义的系数值。
4.如权利要求1所述的方法,其中所述变换是由两个系数确定的仿射变换。
5.如权利要求1所述的方法,其中所述变换是由一个系数确定的比例变换。
6.如权利要求5所述的方法,其中所述系数采用0.9至1.1范围内的值。
7.如权利要求1所述的方法,其中所述变换是由一个系数确定的移位变换。
8.如权利要求7所述的方法,其中所述系数采用来自从-0.04至0.04范围内的值。
9.如权利要求2所述的方法,其中测量并存储点击率统计信息包括接收来自用户的查询;将混合结果返回给用户,所述混合结果包括条目列表;记录所述条目列表中的哪个列表被用户选择;以及重复所述接收、返回和记录,直到达到了终止条件。
10.如权利要求9所述的方法,其中记录包括记录用户是否没有从所述条目列表中选择任何项目。
11.如权利要求9所述的方法,其中测量并存储点击率统计信息还包括记录所述混合结果中与所选条目相关联的位置以及搜索源,所选条目是由用户选择的;以及记录所述混合结果中与未被用户选择的条目相关联的位置以及搜索源。
12.如权利要求11所述的方法,其中确定第一搜索源的品质因数包括对于所述多个搜索源中的每个搜索源,确定对所述混合结果中的多个位置的相应多个印象数;对于第一搜索源,确定用户选择所述混合结果中的位置中与第一搜索源相关联的条目的第一次数;以及至少部分基于所述第一次数和所述多个印象数,确定第一搜索源的品质因数。
13.一种搜索引擎系统,包括多个搜索源;至少一个接口,用于接收查询以及发送搜索结果;耦合到所述多个搜索源的至少一个搜索引擎,用于从每个搜索源接收与所接收的查询相对应的相应条目结果列表,所述相应结果列表对于列表上的每个条目来说至少包括条目的位置、文档的地址、以及文档与所接收的查询相关的相关性分数;以及混合模块,被配置将确定的变换应用于至少一个接收到的结果列表中的至少一个文档子集的相关性分数,以便产生经变换的分数,并且还被配置组合所述相应结果列表的至少多个部分以产生包括混合条目列表的混合搜索引擎结果,其中包括至少部分基于所述经变换分数来对所述混合条目列表排序。
14.如权利要求13所述的搜索引擎系统,其中所述至少一个搜索引擎包括所述混合模块。
15.如权利要求13所述的搜索引擎系统,还包括变换确定模块,其中所述变换确定模块还被配置通过下述步骤来确定用于所述多个搜索源的第一搜索源的变换测量并存储第一搜索源和第二搜索源的点击率统计信息;确定第一搜索源和第二搜索源中的每个的品质因数,所述品质因数是至少部分由所测量并存储的统计信息来确定的;以及对于第一搜索源,基于第一搜索源和第二搜索源的品质因数来确定系数集,其中所述系数集定义了用于第一搜索源的变换。
16.如权利要求15所述的搜索引擎系统,其中所述至少一个搜索引擎包括所述变换确定模块。
17.如权利要求15所述的搜索引擎系统,其中所述变换确定模块还被配置通过应用启发式规则集来确定所述系数集,所述启发式规则中的一个或多个要求当第一品质因数和第二品质因数的比率在预定义的值范围之内时,所述变换的系数采用预定义的系数值。
18.如权利要求15所述的搜索引擎系统,其中所述变换是由两个系数确定的仿射变换。
19.如权利要求15所述的搜索引擎系统,其中所述变换是由一个系数确定的比例变换。
20.如权利要求15所述的搜索引擎系统,其中所述系数采用0.9至1.1范围内的值。
21.如权利要求15所述的搜索引擎系统,其中所述变换是由一个系数确定的移位变换。
22.如权利要求15所述的搜索引擎系统,其中所述系数采用来自从-0.04至0.04范围内的值。
23.如权利要求15所述的搜索引擎系统,其中所述搜索引擎系统还被配置测量并存储第一搜索源和第二搜索源的点击率统计信息,所述配置包括所述搜索引擎还被配置接收来自用户的查询;所述搜索引擎还被配置将混合结果返回给用户,所述混合结果包括条目列表;所述变换确定模块还被配置记录所述条目列表中的哪个列表被用户选择;所述搜索引擎系统还被配置重复所述接收、返回和记录,直到达到了终止条件。
24.如权利要求23所述的搜索引擎系统,其中所述变换模块还被配置记录用户是否没有从所述条目列表中选择任何条目。
25.如权利要求23所述的搜索引擎系统,其中所述变换模块还被配置记录所述混合结果中与所选条目相关联的位置以及搜索源,所选条目是由用户选择的;以及记录所述混合结果中与未被用户选择的条目相关联的位置以及搜索源。
26.如权利要求25所述的搜索引擎系统,其中所述变换确定模块还被配置通过下述步骤来确定第一搜索源的品质因数对于所述多个搜索源中的每个搜索源,确定对所述混合结果中的多个位置的相应多个印象数;对于第一搜索源,确定用户选择所述混合结果中的位置中与第一搜索源相关联的条目的第一次数;以及至少部分基于所述第一次数和所述多个印象数,确定用于第一搜索源的品质因数。
全文摘要
本发明提供了一种用于将来自多个搜索源的相应多个搜索引擎结果混合为一个搜索引擎结果的方法与系统。从每个搜索源接收条目结果列表。每个结果列表对于列表上的每个条目来说至少包括条目的位置、文档的地址、以及文档的相关性分数。确定的变换被应用于至少一个接收到的结果列表中的至少一个文档子集的相关性分数,以便产生经变换的分数。最后,相应结果列表的多个部分被组合以产生包括混合条目列表的混合搜索引擎结果。所述混合条目列表的排序至少部分基于文档的经变换分数。
文档编号G06F7/00GK1809803SQ200480017467
公开日2006年7月26日 申请日期2004年4月23日 优先权日2003年4月25日
发明者罗伯特·L·小特拉维斯 申请人:奥弗图尔服务公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1