信息检索的制作方法

文档序号:6494981阅读:143来源:国知局
专利名称:信息检索的制作方法
技术领域
本发明涉及从数据库和服务器检索信息。
背景技术
当今,网络(Web)搜索引擎是推动信息经济的互联网基础结构的关键组成部分。人们相信每天大约60万亿字节的新内容被增加到万维网(World-Wide Web)上。令人遗憾地,当提到搜索引擎在适当时候传送正确结果的能力时,它们的性能令大部分搜索者沮丧和失望。这其中一个重要的原因在于形成网络搜索引擎核心的信息检索技术不是非常适合于网络搜索的现实情况。这可能是因为这些技术中有许多最初是为了专家用户在有限的文档集合上进行专业化搜索任务而开发的。结果,这些缺点导致了下列互相关联的问题-覆盖范围问题网络的持续增长意味着没有一个搜索引擎有希望提供完全的覆盖范围。
-索引问题网络文档的异构特性和任何可靠的质量控制的缺乏使得索引极其困难。
-排名问题基于用查询项的加权叠加的排名结果已经被证明在网络搜索中是不能令人满意的。
-查询问题不充分地形成的、模糊的查询的优势意味着大部分的搜索首先是缺乏规范的。
近年来已经看到了网络搜索上的一些关键的发展,其中有许多专门利用了网络的独特特性、以及网络用户搜索信息的特定方法。例如,研究人员认识到在元搜索引擎中组合许多独立搜索引擎的结果以获得提高的覆盖范围和准确度的优势。最近,有关网络拓扑(独立页面的连接性)的信息已经被并入搜索引擎,以作为一种对权威页面进行识别和排名的方法。其它发展已经着眼于聚类(clustering)技术如何能够用于将结果的平面列表组织成更结构化的主题聚类集合。虽然这没有解决查询问题,但是它至少帮助搜索引擎将模糊查询的不同含义分离到主题相关的结果的集合中。
在它们设法改进文档被表示、检索和排名的方式的意义上,这些发展全都趋向于采用传统的信息检索观点,同时关注于独立的搜索会话层级上。
本发明致力于降低信息检索所需要的迭代的数目。

发明内容
根据本发明,提供了一种元搜索引擎,其用于接收用户的搜索查询,向搜索引擎提交相应的查询,并且接收它们的响应,以及用于后处理(post-processing)搜索引擎响应以提供排名的用户响应列表,其中该元搜索引擎根据表示用户查询以及响应选择之间的对应的历史的历史数据对引擎响应进行排名。
在一个实施例中,该对应被存储为矩阵,该具有对于查询-选择对的历史命中数目。
在另一个实施例中,存在多个矩阵,并且元搜索引擎动态地选择一个矩阵。
在又一个实施例中,元搜索引擎根据用户被分派的团体来动态地选择一个矩阵。
在一个实施例中,根据查询的源来确定该团体。
在另一个实施例中,查询发起的网站被用于识别团体。
在又一个实施例中,用户的登录过程被用于确定命中矩阵。
在一个实施例中,引擎使用多个命中矩阵,并且首先呈现由于主矩阵的使用而产生的结果。
在另一个实施例中,该结果和有关与矩阵相关联的团体的信息一起被呈现。
在又一个实施例中,该结果被呈现在基于使用的聚类中。
在一个实施例中,该引擎使用多个矩阵并且它自动地确定哪一个矩阵可能是最相关的。
在另一个实施例中,该引擎计算从与矩阵选择的总数相比对于该查询的选择的相对数目导出的成功分数。
在又一个实施例中,该元搜索引擎确定用户查询的直接匹配的历史选择值。
在一个实施例中,该元搜索引擎确定与当前的查询相关的多个先前的查询的历史选择值。
在另一个实施例中,根据关联的查询与当前的查询的相似性将加权应用于选择值。
在又一个实施例中,根据查询字重叠的程度来确定相似性。
在一个实施例中,矩阵的一维涉及查询,并且加权被应用于那一维的每个行或者列。
在另一个实施例中,历史数据对于特定用户是匿名的,由此确保保密性。
在又一个实施例中,该引擎根据参数来修改历史数据。
在一个实施例中,该参数是时间,越旧的历史数据具有比越新的历史数据更少的相关性。
在另一个实施例中,该引擎将所确定的相关性分数与另一个分数相组合。
在又一个实施例中,另一个分数是赞助(sponsored)列表排名。
在一个实施例中,该引擎包括基于案例的推理(case basedreasoning)系统,其中每个查询及其历史选择数据是一个案例。
在另一个实施例中,每个案例包括一个查询和k个结果的对,每个对具有响应标识符和相关性分数。
在又一个实施例中,每个案例对应于命中矩阵的一个查询维度。
在另一个方面,提供了一种包括用于当在数字计算机上执行时完成如上所述的元搜索引擎的操作的软件代码的计算机程序产品。


从以下仅参考附图以示例给出的本发明的实施例的说明中,将更清楚地理解本发明,其中
图1是示出本发明的元搜索引擎以及与其连接的组件的图;图2是描述一个实施例中的元引擎的操作的流程图;图3是示出另一个实施例中的元引擎的操作的流程图;以及图4(a)、4(b)、5(a)以及5(b)是举例说明元引擎性能的曲线图。
具体实施例方式
参考图1和2,元搜索引擎1从用户U接收查询qT,并且发送响应R。为此,它通过适配器2将查询qT提交到多至n个搜索引擎Sn。这些底层搜索引擎中的每一个已经作为独立的搜索系统存在。在一个例子中,它们是一般的搜索引擎,或者作为选择,它们可以是更专业化的搜索引擎。
每个适配器2将用户的查询qT转换为关联的搜索引擎的格式;例如,对于搜索引擎S1,qT被转换成q1。典型地,这可以包括重新格式化用户查询,以便它对应于所述搜索引擎需要的输入格式。一旦重新格式化,转换的查询被输入到合适的搜索引擎中,该搜索引擎随后产生它自己的结果列表Rn。例如,搜索引擎S1产生结果列表R1。
接下来,通过识别它们的公共要素(页面标题,页面URL,代码片断文本,等等),适配器2将由底层搜索引擎产生的结果列表R1-Rn的每一个转换为公共格式。标准XML表示法被用于提供这个公共格式。
一旦由底层搜索引擎产生的结果列表R1-Rn的每一个已经被重新格式化,它们被元引擎1合并以产生一个组合结果列表R′。每个唯一的结果根据它出现在结果列表排名中有多高并且根据它出现在多少个结果列表中被计分。具有比平均排名分数更好的结果(在许多的结果列表中出现很高的那些)在合并的结果列表中被排名很高。如果某一结果没有出现在一些底层搜索引擎的结果列表中,那么它被用很少的分数进行惩罚,该分数被计算为1加上这个搜索引擎的结果列表的长度。这样,合并的结果列表R′包含由底层搜索引擎的组合返回的所有结果的列表。以这样的方法对这些结果进行排名,即优先选择由许多底层搜索引擎一贯地排名为高的结果。
在这一点上,结果列表R′相当于由许多已经存在的元搜索引擎技术返回的结果的类型。然而,本发明包括附加处理阶段,以便提升结果列表内的某些结果。
元引擎1利用命中矩阵H对响应R′进行后处理,该命中矩阵H在一维中具有网页,而在另一维中具有查询字符串。命中矩阵的每个单元指示特定页面先前已经被选择用于特定查询的次数。因此,每次响应于一些查询q,结果列表被呈现给用户时,并且每次用户从所述结果列表选择一个结果页面p时,通过增加在对应于q&p的坐标处的计数器来更新命中矩阵。命中矩阵被实现为可以通过其查询页面坐标访问的存储设备。
元引擎1实现了一种网络搜索的方法,我们将其称为协作搜索(collaborative search),这是因为其中利用了用户的搜索历史的方式,所述用户优选地是具有相同意向的用户的团体。引擎1以元搜索引擎或者结果后处理器的方式进行操作,组合了如图1中所示的底层搜索引擎的结果。
相关性分数命中矩阵(H)存储器存储是在过去的搜索会话中选择的结果的记录。每次用户为查询qi选择页面pj时,Hij值增加。由此,Hij可以被看作是pj已经被选择作为查询qi的结果的次数。对应于查询qi的H的行提供了所有已经使用这个查询的搜索会话中对于这个查询的所有页面选择的相对数目的完全记录。
除上述的结果产生处理,其中来自底层搜索引擎的结果被合并之外,引擎1还产生第二结果列表R″,这个结果列表由来自对应于具有非零值的当前目标查询qT的命中矩阵行的所有那些页面组成。这些结果页面先前已经由一些用户选择用于查询qT。明显地,如果qT以前不曾出现,那么这个第二结果列表将是空的。然而,假定它不是空的,根据在以下的等式1中示出的相关性度量对结果进行计分。这个度量相对于已经对于qT发生的页面选择的总数来计算对于查询qT页面pj接收的选择的数目。例如,对于pj和qT,0.4的相关性意味着对于qT的结果列表,已经有40%页面选择是这个页面pj。引擎1的主要优点在于具有将命中矩阵H开发为相关性信息的直接源的能力。命中矩阵条目提供了查询页面映射的相关性度量。从图2中将理解到,与提交查询和从底层搜索引擎S1-Sn检索结果并行地执行相关性处理。
元引擎1通过分离的并发处理来并行地查询所有底层搜索引擎S1-Sn。整个搜索时间由每一个标准搜索引擎S1-S1返回它们的结果的时间来规定。本地处理时间与底层搜索引擎返回它们的结果的时间相比是可忽略的。因此,到搜索引擎已经返回它们的结果时,所有的命中矩阵处理已经被执行,并且对于I-SPY,唯一未完成的任务是合并两组结果。这个任务被非常高效地执行。
Relevance(pj,qT)=HTjΣ∀jHTj---(1)]]>基于过去的搜索会话,包含在R″中的结果页面根据它们相对的选择频率被排名,并且这些结果优先于合并结果列表R′中的结果。由此,在搜索处理的最后步骤中,两个结果列表R″和R′被合并,以便R″结果首先出现,后面是来自R′的结果。作为这个合并处理的一部分,在一个结果被包含在R″和R′两者中的情况下,它被从R′除去,以便在最终结果的最终呈现中,这个结果没有出现两次。
协作搜索引擎1可以被配置成在不同的查询服务中使用不同的命中矩阵存储设备。在一个实施例中,每一个命中矩阵是用在特定兴趣领域内操作的用户团体的查询和选择来填充的。引擎1为不同的用户团体提供对适合于它们的查询空间和其优选页面的搜索服务的访问。例如,驾车网站可以配置用于其用户的命中矩阵。元引擎1通过简单形式的接口使这个服务更容易,并且在这种情况下,为网站提供了对与这个新命中矩阵关联的搜索接口的访问。通过这个接口,用户可以定义用于他们自己的用户团体的搜索服务,并且可以以各种方式向他们的用户提供这个搜索服务;例如,通过将其并入他们自己网站。结果,创建了唯一的命中矩阵H,并且该命中矩阵H与这个用户团体相关联。例如,如果通过特定网站提供新的搜索服务,那么随着到这个站点的来访者使用它的搜索服务,他们的查询和页面选择将填充关联的命中矩阵,并且引擎1利用它的排名度量通过为重复的查询提升先前优选的页面来帮助消除模糊查询的歧义。例如,通过已经被配置成使用唯一的命中矩阵的驾车网站提交的查询′美洲虎′很可能导致优先考虑与汽车厂商相关的页面,而不是与野生动物相关的站点。先前对这个项的搜索更可能导致选择这些汽车页面,因为用户是从驾车网站进行搜索。
基于相似性的查询重用(图3)迄今为止所描述的处理依靠当前查询和过去的搜索会话之间的准确匹配。换句话说,从给定的命中矩阵产生的结果列表R″取决于在这个命中矩阵中存在的当前查询的准确匹配。这取决于查询重复,即搜索用户频繁地使用相同的查询。在一些搜索方案中,准确的查询重复可能是罕见的,这将意味着对于大部分的查询,引擎1不能贡献新的和改进的结果R″。例如,假定当前查询是“美洲虎照片”。除非这个查询过去已经被提交,并且除非用户选择过由这个查询返回的结果,否则命中矩阵中不存在条目。例如,查询″美洲虎图片″在过去也许已经发生了,但是因为它不是与″美洲虎照片″的准确匹配,所以即使它们可能与新查询有关也不会检索它的命中矩阵条目。为此,在另一个实施例中,元引擎具有更灵活的方法使用命中矩阵存储结构,而不依赖于准确匹配查询,该方法可以对相似的查询起到杠杆作用。
在这个实施例中,元引擎执行基于案例的推理,其中命中矩阵H的每一行是单独的案例或者,等价地,由查询要素(querycomponent)(一组查询项)加上k个结果对组成的k+1元组,其中每个结果对具有页面id和从命中矩阵计算出的关联的相关性值(参看等式2)。该案例的问题说明部分(参看等式3)对应于查询项。该案例的解的部分(参看等式4)对应于结果对;也就是,作为过去使用相应的查询的结果而已经累积的页面选择组。当然,由目标查询项来表示目标问题。
ci=(qi,(p1,r1)),...,(pk,rk)) (2)Spec(ci)=qi(3)Sol(ci)=((p1,r1),...,(pk,rk)) (4)如果(pj,rj)∈Sol(ci),Rel(pj,ci)=rj;否则,=0. (5)案例相似性意味着能够测量查询-查询相似性,并且度量是等式6中示出的简单项重叠度量。在检索阶段,允许引擎1的基于案例的系统根据过去的搜索案例与目标查询的相似性来对过去的搜索案例进行排序,以便所有的相似案例或者其子集在结果排名期间可以被重用。这个重叠仅仅是一种类型的相似性度量,并且引擎1可以替代地实现各种不同的类型。例如,测量查询相似性的另一个方法是计算那些两个查询共有的页面的命中值之间的相关性。如果这些命中高度相关,那么相同的页面以相同的相对比例被选择,因此引擎1可以将它们看作为相似的。作为选择,引擎1可以将重叠度量和相关性度量组合。关键在于有可能代替所示出的相似性度量。
Sim(qT,ci)=|qT∩Spec(ci)||qT∪Spec(ci)|---(6)]]>现在代替检索给定的查询qT的命中矩阵条目(通过选择对应于qT的行的条目)的是,引擎1例如通过设置最小的相似性阈值来识别其查询要素被认为充分类似于qT的命中矩阵行。如果多个相似的案例(命中矩阵行)可用于目标查询,那么存在多个搜索历史(案例解),以通知新的结果排名。相同的页面可以在多个案例解中重现,每一个具有不同的相关性值。例如,对于过去的查询′java语言′,页面www.sun.com可以具有高相关性值(让我们假设为0.8),但是对于另一个过去的查询′java′,它可以具有较低的相关性(让我们假设为0.33)。问题是怎样组合这些相关性值以对相对于目标查询′Java发明人′的这个页面产生单个相关性分数?引擎1计算标准化的加权相关性度量,其合并了用于单独页面查询组合的单独的相关性分数。这是利用单独的相关性分数的加权和获得的,从而每个分数都通过其对应的查询与目标查询的相似性来被加权。由此,在我们的上述例子中,页面www.sun.com的相关性是0.5160.264(也就是,与查询′java语言′的页面相关性0.8乘以这个查询和目标′java发明人′之间的查询相似性0.33)与0.165(0.33*0.5,其中0.5是对于过去的查询′java′)的和除以查询相似性的和0.83。等式7相对于页面pj、目标查询qT与一组检索的相似案例c1,...,cn,提供了这个加权相关性度量的详述。Exists(pj,ci)只不过是个标志,当pi是案例ci的解中表示的结果页面其中之一时它被设置为1,而Rel(pj,ci)是在ci中对于pj的相关性分数(参看5并如等式5所计算的)。
WRel(pj,qT,c1,...,cn)=Σi=1...nRel(pj,ci)·Sim(qT,ci))Σi=1...nExists(pj,ci)·Sim(qT,ci))---(7)]]>阈值如上所述,在检索期间,引擎必须选择一组与当前查询qT相关的案例(过去的搜索历史),这是借助于当前查询和与这些案例关联的查询之间的相似性来完成的。该引擎被配置成考虑到了不同级别的可容许查询相似性。这样,该引擎可以进行阈值检索,以便仅仅选择最佳匹配的案例,而不是所有的具有与目标查询的非零相似性的案例。将检索限制到具有0.5以上查询相似性的案例将防止检索无关的查询。然而这可能阻止了检索一些具有低查询相似性的合适案例。例如,0.5相似性阈值将阻止检索到有关的′java语言′案例。无论如何,虽然这样的不真实的查询匹配将不可避免地发生,但是希望它们将是罕见的并且被更多的合适的匹配冲淡。这个可配置性的程度使得引擎适应不同的检索环境成为可能。在查询重复很普遍的那些环境中,高相似性阈值可以是更加优选的,以用于将检索限制在重用那些作为相似检索的更可靠例子的过去的检索会话。然而,如果查询重复趋向于低,那么可能需要降低相似性阈值,甚至是冒着重用可能不完全相关的过去的检索历史的风险。
由此,概括地说,引擎的准确匹配检索方面已经扩展,从而它可以重用类似于当前目标查询的一定范围的查询的过去的搜索历史。这意味着在每个搜索会话期间,引擎可以从命中矩阵中选择多个行——每个行对应于相似的查询的搜索历史——并且可以利用上面定义的加权相关性度量来组合在这些多个行中选择的页面。因此,对于许多相似的查询频繁选择的页面被给予优先权。
图3中示出了用于上述实施例的流程图。元搜索组成部分如图2所述,但是很明显命中矩阵处理现在与多个命中矩阵行相关。返回给用户的最终结果列表的产生如前所述命中矩阵结果R″与元搜索结果R′合并,而命中矩阵结果被给予优先权。相似性和加权计算并行于搜索引擎S1-Sn的相关性传递(communication)。
值得注意的是,虽然重用相似查询的过程的首要优点允许引擎影响大范围的搜索会话(在相似查询比准确重复更可能发生的假定之下),但是还存在第二优点。特别地,通过重用对应于相似的查询的搜索历史的过去的选择,引擎1现在能够向结果列表R″中增加页面,这些页面可能未出现在由底层搜索引擎对于当前目标查询而返回的结果中。这些新页面对于目标查询可以是非常相关的——毕竟根据定义,它们在过去被选择用于相似的查询——但是因为种种理由,它们可能没有被底层搜索引擎找出。例如,它们可以不包含当前目标查询中的所有项。结果是,与由底层搜索引擎单独地或者组合地产生的任何一个列表中的页面相比,由元引擎1产生的结果列表的相关性可以包含更多的相关页面。
评估在包括92个计算机科学学生的第一个真实用户(live-user)实验期间执行评估。实验被设计成用于在实地调查或者问答练习的环境中相对于标准元搜索引擎来评估引擎1的益处。为了构造搜索任务,我们开发了一组25个常识AI和计算机科学问题,每个需要学生找出特定的事实(时间、地点、人名、系统名等等)。对于这第一个实验,引擎1具有以下功能性。
学生被随机分成两组。组1包含45个学生,组2包含剩余的47个学生。在组1的搜索历史被用于填充命中矩阵、但是对于他们的搜索结果没有出现再排名的意义上,组1用作本发明的引擎的训练组。这个组还用作判断第二用户组的搜索行为的对照物,该第二组用作测试组。整个地,组1的用户产生1049个单独的查询并且选择组合的总共1046个页面,而组2的用户使用1705个查询并且选择1624个页面。
概括地说,来自第一个真实用户实验的数据提供了以下信息以形成我们当前的评估的基础由每个用户提交的查询;他们从后续的结果列表中选择出来的页面;这些页面在结果列表之内的位置;他们找到对特定问题的正确答案的页面;以及由组1的用户产生的命中矩阵。根据该数据建立案例基础(实质上是组1命中矩阵),一组测试问题(组2的查询),以及一组对这些问题的正确解(已知包含对特定问题的正确答案的页面)。
随后,我们通过用由基于案例版本的引擎1推荐的新的结果列表响应于组2的查询来进行第二个实验,并且我们参考我们已知的正确页面组来评估这些结果列表的质量,比较该结果与第一个实验的引擎1的版本以及元搜索性能结果。我们评估5个不同的引擎变化量,其中每个在案例检索期间具有不同的最小相似性阈值(0、0.25、0.5、0.75、1)以限制检索案例的范围。
或许搜索引擎准确度的最基本测量涉及其在它的结果列表中返回单个相关结果的能力。然而,我们还考虑更加精细的测量,其关注相关结果的数量和它们的位置。为了测量每个搜索引擎(CB、I-SPY和Meta(元))的总体准确度,对于1705个测试查询,我们将由这些搜索引擎返回的完整结果列表中的每一个(包括5个CB变化量)与和这些查询关联的已知正确结果的列表进行比较。我们计算包含至少一个正确结果的结果列表的百分比。
结果呈现在图4(a)中,作为总体准确度相对于相似性阈值的图示。每个曲线图对应于单个的搜索引擎。I-SPY和Meta的曲线图在65%保持平滑;它们不受CB相似性阈值中的变化量的影响。该结果清楚地示出基于案例的方法的准确性益处在相似性阈值>0处,它在93%的会话中返回一个正确结果页面,并且在相似性阈值>0.25,它在92%的会话中返回一个正确结果页面。这是CB超过I-SPY和Meta 43%的相对改进。这里的益处源自于这样的事实,即CB能够在对于给定查询返回的结果列表中包括除了那些由底层搜索引擎发现的页面以外的附加页面。这些附加结果来自于包含在相似案例之内的结果列表。相反,Meta和I-SPY被有效地限制于那些由底层搜索引擎返回的结果;I-SPY利用其相关性度量对Meta结果进行简单的重排序。CB的益处证明CB的附加页面与目标查询频繁相关。
引起注意的是,CB准确度怎样随着增加相似性阈值而迅速地降低。从一个纯粹CBR观点中,这初看起来似乎很奇怪。增加相似性阈值将改进正在被检索的案例的平均相似性,并且我们习惯于期望这很可能改进从这些案例导出的任一个′解′。然而,在我们的搜索的基于案例的见解中并不是那样,因为检索的案例的数目以及结果的多样性很可能是重要的。当我们对于一个典型的查询,在不同的相似性阈值上对检索的相似案例的平均数作图时(参看图4(b)),我们可以看到在0.25和0.5阈值之间的案例中存在急剧下降。在0和0.25阈值处,分别是对于一个目标查询正在检索15和11个案例,但是对于0.5阈值,这减少到2.5个,然后是超过于此的1.3个案例。在更高阈值处,完全没有足够的相似案例来做出对由元搜索提供的结果列表的有意义的附加贡献,因此CB所享有的益处是微不足道的。因此,即使低的相似性阈值可能允许不相关的搜索会话的重用(例如,′发明人java′将被认为类似于′发明人以太网′),我们发现更大数目和种类的可重用案例的益处无疑胜过由于不恰当的检索导致的任一问题,我们的加权相关性度量无论如何将趋向于减少所述的不恰当的检索。
搜索引擎准确度的标准客观测试是查准率(precision)和查全率(recall)测试前者计算相关的返回结果的百分比,而后者计算返回的相关结果的百分比。我们在检查不同的结果列表大小(k=5至30)中测量每种技术的百分比查准率和查全率值。
在图5(a和b)中,对于四个相似性阈值的每一个,结果被呈现为查准率和查全率图示。每个图示呈现了对于不同的结果列表大小k,对于CB的5个变化量连同I-SPY和Meta的查准率(或者查全率)曲线图。像期望的那样,我们发现查准率趋向于随着增加结果列表大小而下降;典型地,相关结果的数目比k少得多,并且这些相关结果的大多数应该都位于结果列表顶部附近。临界点是由于基于案例的方法而导致的性能受益重新明确的地方,特别是在低相似性阈值处。
例如,在图5(a)中,我们看到CB查准率在接近28%(在k=5,对于相似性阈值>0)到11%(在k=30,对于相同的阈值)之间变化。这被与对于I-SPY的17%和3%之间的查准率值,和对于Meta的12%和3%之间的查准率值相比较。这些结果指示在相似性阈值>0的级别处相对于I-SPY,CB受益于60%和258%之间的查准率改进,对于相似性阈值>0.25,指示出了类似的受益。当相对于Meta进行测量时这些查准率改进甚至更大(在130%和265%之间)。
查全率结果表明了类似的情况。CB的查全率(在>0和>0.25的相似性阈值处)从大约37%(k=5)增长到稍稍超过91%(k=30)。在相同的结果列表大小上,I-SPY的查全率仅仅从23%增长到25%,而Meta的查全率从16%增长到25%。显然,CB方法比I-SPY或者Meta找到更大部分的相关页面,并且它获得对来自于其相似查询的结果列表的这些附加相关页面的访问。
我们重新看到CB的受益趋向于随着相似性阈值增加而减少,并且对于阈值>0.5及更高,仅仅实现了微小的查准率和查全率改进(约为7-12%)。正如在先前的部分中所论述的,这可以由对于0.5和更高的相似性阈值,相似案例的急剧下降来容易地解释。
附加处理元引擎1使用相关性作为其用于排名结果的主度量。在一个实施例中,结果的值来自于命中矩阵的单个行,而在另一个实施例中,它使用加权的相关性度量,其组合一个页面对于多个相关的查询可能具有的单独的相关性分数。
有可能将相关性与其它的结果排名页面度量相组合。例如,如果元引擎被并入搜索引擎,它可以将页面的相关性与搜索引擎的计分功能相组合。例如,它可以计算两个分数的平均值并且和将分数乘在一起。总之,许多组合方法都能被使用。
大多数商业搜索引擎基于它们的查询向用户呈现两种类型的结果常规结果(因为和查询共享相同的项而已经被发现的正常结果)以及赞助结果或者付费列表。赞助结果(或者付费列表)被返回,并不是因为它们必须包含匹配用户查询的项,而是因为一些机构实质上已经购买了该查询项。
此外,许多搜索引擎经营查询竞价,以便参与者对查询项出价,最高的出价者在赞助结果列表中出现在更高的位置上。XYZ汽车公司可以为查询″XYZ″的每一次点击的付一笔金额。这意味着如果用户搜索″XYZ″,并且他们选择XYZ汽车公司的赞助链接,那么XYZ汽车公司将向搜索引擎机构付费$5。另一个相关的商业(例如,www.used-cars.com)可能仅为″XYZ″查询出价更小的金额,因此它们将被放置在赞助列表中向下更低的位置上。
对于特定的查询,系统的赞助链接的相关性分数可以同查询项的出价值相结合,以向搜索引擎提供增加的收入。为了这样做,该系统将专用一个单独的命中矩阵以覆盖对于指定的查询的赞助链接的选择。因此,通过将查询的赞助链接所有者出价的值与那个查询的赞助链接的相关性相结合,它可以为与该查询相关的赞助链接计算新的排名分数。相关性是对于那个查询,基于其对此过去的选择以及相关的查询,选择那个赞助链接的可能性的估计。如果该系统通过将这两个分数(出价值和相关性)相乘而将它们组合,那么它将通过″预期支出(expected payout)″对赞助链接进行排序,所述预期支出是搜索引擎可以期望从该查询的链接中获得的收入量的估计。
例如,假定XYZ汽车公司为″XYZ″出价$5,而used-cars.com出价$3,并且假定XYZ汽车公司赞助链接的相关性值是0.1(表明在″XYZ″或者相关查询被提交的次数的10%中这个赞助链接被选择)。还假定used-cars.com具有0.2的相关性。那么对于XYZ汽车公司的总的分数是0.5(5×0.1),而对于used-cars.com的分数是0.6(3×0.2)。这暗示used-cars.com应当首先出现。即使它具有更低的出价,但它更可能被接受,并且由此为该搜索引擎产生更多的收入。这个方案呈现出有关各方的一些优点1、通过利用预期支出作为对其赞助列表的排名的功能,搜索引擎产生更多的收入。
2、终端用户受益,因为他们首先看到更相关的赞助链接,而不是仅为查询付费更多的公司。
这个对赞助链接排名的方法表现出对现有方法的显著改进。在我们的方法中,我们为链接已经被选择的每个单独的查询维护不同的选择频率,以允许我们提供更准确的排名。另外,我们的相关性度量使得对相关查询的、而不只是单独的查询的选择历史信息进行杠杆作用成为可能。这在网络搜索中非常有利,因为许多查询的修改是可能的,因此如果在过去几乎没有出现过准确查询的例子,则完全依赖于在单独的查询级别上的选择信息的重用很可能被证明是有限的。
我们现在将描述另一个实施例。我们已经指出我们的搜索引擎为不同的个人/搜索者团体维护不同的矩阵,以及这些团体怎样可以成为特设或者定义明确的团体。例如,在一个团体是由通过特定的网页提交搜索查询的所有用户所组成这一意义上,该团体可以是特设的,其中所述特定的网页也就是驾车门户,这些查询已经被链接到用于该门户的特定的命中矩阵。通过为特定的俱乐部创建特定的搜索引擎以及通过指定的URL提供俱乐部会员访问,另一个团体可以被更加正式地定义;此外这个俱乐部的搜索被指向特定的命中矩阵。实际上,个人用户可以利用他们自己的个人命中矩阵,而该个人命中矩阵跟踪他们个人的搜索行为。关键在于存在许多命中矩阵,每个都专用于不同的用户组的搜索历史。在另一个实施例中,用户提交给一个特定搜索服务(与一个特定的命中矩阵相关联)的查询可以受益于其它命中矩阵所存储的信息。在下文中,我们将提供对此的两个例子。
在第一个例子中,搜索引擎运行一种″元元-搜索″的形式。当用户提交新查询q给一个特定搜索服务和命中矩阵s时,相同的查询可以被自动地提交给所有的其它的搜索服务。来自主检索服务s的主要结果被如上所述地呈现给用户,但是此外来自相关搜索服务的结果还可以作为第二结果被呈现。例如,考虑我们的用户通过驾车站点提交查询″XYZ″。这将使得借助于已经从先前通过这个站点进行的搜索学习的命中矩阵,来检索一组可能与汽车有关的结果。假设存在其它的命中矩阵可用,一个用于野生动物站点,一个用于计算机爱好者俱乐部站点。这些命中矩阵很可能也具有先前已经选择用于查询″XYZ″的结果——前者与野生动物相关,后者与操作系统相关——这些第二结果可以被高亮显示给驾车站点的用户,以防万一他们碰巧正在寻找非驾车的结果。关键在于可能有其它的已经建立了可能与当前搜索相关的命中矩阵的搜索者团体,而且通过呈现他们的最上层搜索结果以及有关该团体的信息,我们也许能进一步地帮助用户。在我们的发明中,每个命中矩阵服务是结果的基于使用的聚类,其可以提供更实际的结果聚类的方法。例如,前面的进行聚类的方法在计算上是非常昂贵的,因为搜索结果在聚类可以被确定之前必须被实时分析(每一个页面的内容必须被与由搜索所检索到的其它的页面的内容相比较)。我们的命中矩阵用作一种聚类高速缓存,并且可以无需在计算上昂贵的页面分析而提供聚类效果。
通过考虑用户可能不知道哪一个搜索服务被用于他们的搜索的可能,更好地解释了我们的第二个例子。因此,我们提供了中央搜索引擎,其不必与任何定义明确的用户团体相关联。当查询被提交时,这个引擎提交查询给每个它的命中矩阵,并且来自每个命中矩阵的结果被返回到用户,根据它们在每个命中矩阵内的相关性被排名,并且由合适的命中矩阵标签来标记;由此结果被返回于一组聚类中,正如在前一段落中所预期的那样。然而此外,引擎可以使用各种度量来识别哪一个命中矩阵可能是对于特定查询的最好的结果提供者,并且这样我们可以根据满足查询的能力对独立的聚类(以及聚类中的结果)进行排序。为了这样做,该系统计算特定查询qT与给定的命中矩阵H相关的程度。一种方法是将qT与存储在H中的每一个查询进行比较以寻找相关的查询;也就是与qT具有的非零相似性的查询;例如,诸如在等式6中使用的相似性度量可以被使用。对于这些相关查询的每一个,我们可以计算成功分数。对于命中矩阵中的查询的成功分数是与该命中矩阵中的命中总数相比,已经包含在它的矩阵条目中的命中(选择)的相对数;参看等式8。这个度量将为已经引起许多页面选择的查询给予很高的成功分数。
Success(qc,H)=Σ∀iHciΣ∀ijHij---(8)]]>然后qT与H相关的程度可以作为对于每个由相似度加权的相似查询的成功分数的和而被计算;参看等式9。
Related(qT,H)=Σ∀qc∈HSim(qT,qc)·Success(qc,H)---(9)]]>这样,如果命中矩阵包含许多相似查询并且如果这些相似查询在过去已经非常成功(用户已经频繁地选择它们的结果),该命中矩阵将被认为与目标查询有关。这允许命中矩阵在搜索之前被动态地选择和排名。
由此将理解,本发明是为更加有效的信息检索做准备。例如,命中矩阵的每一个单元可以包含不同类型的″相关性″信息。它可以不必是页面已经被选择的次数的简单计数。例如,设想这些命中值将随时间衰减,从而相对于新的页面,将不会不公平地优选旧的页面(具有许多命中)。
本发明不局限于所描述的实施例,而是可以在结构和细节方面有所变化。例如,本发明的元搜索引擎可以被并入搜索引擎,在搜索引擎中在内部执行后处理。术语″矩阵″将被解释成表示相关数据是二维或更多维值的任何存储结构。
权利要求
1.一种元搜索引擎,用于接收用户搜索查询,向搜索引擎提交相应的查询,并且接收它们的响应,以及用于后处理所述搜索引擎响应以提供排名用户响应列表,其中所述元搜索引擎根据指示用户查询和响应选择之间的对应的历史的历史数据对所述引擎响应进行排名。
2.如权利要求1所述的元搜索引擎,其中所述对应被存储为具有查询-选择对的历史命中数目的矩阵。
3.如权利要求1或者2所述的元搜索引擎,其中存在多个矩阵,并且所述元搜索引擎动态地选择一个矩阵。
4.如权利要求3所述的元搜索引擎,其中所述元搜索引擎根据所述用户被分派的团体来动态地选择一个矩阵。
5.如权利要求4所述的元搜索引擎,其中所述团体是根据查询的源而确定的。
6.如权利要求5所述的元搜索引擎,其中查询发起的网站被用于识别团体。
7.如权利要求5和6所述的元搜索引擎,其中用户的登录过程被用于确定命中矩阵。
8.如权利要求3至7之任一所述的元搜索引擎,其中所述引擎使用多个命中矩阵,并且首先呈现由于主矩阵的使用而产生的结果。
9.如权利要求6或者8之任一所述的元搜索引擎,其中所述结果和关于与所述矩阵相关联的所述团体的信息一起被呈现。
10.如权利要求9所述的元搜索引擎,其中所述结果被呈现在基于使用的聚类中。
11.如权利要求3至10之任一所述的元搜索引擎,其中所述引擎使用多个矩阵并且它自动地确定哪一个矩阵可能是最相关的。
12.如权利要求11所述的元搜索引擎,其中所述引擎计算从与所述矩阵的选择的总数相比的对于所述查询的选择的相对数目得到的成功分数。
13.如任一前述权利要求所述的元搜索引擎,其中所述元搜索引擎确定对于用户查询的直接匹配的历史选择值。
14.如权利要求13所述的元搜索引擎,其中所述元搜索引擎确定对于多个先前的查询的历史选择值,所述先前的查询与当前的查询相关。
15.如权利要求14所述的元搜索引擎,其中根据所述关联的查询与所述当前的查询的相似性将加权应用于所述选择值。
16.如权利要求15所述的元搜索引擎,其中所述相似性是根据查询字重叠的程度确定的。
17.如权利要求14至16之任一所述的元搜索引擎,其中矩阵的一维涉及查询,并且加权被应用于那一维的每个行或者列。
18.如任一前述权利要求所述的元搜索引擎,其中所述历史数据对于特定用户是匿名的,由此确保保密性。
19.如任一前述权利要求所述的元搜索引擎,其中所述引擎根据参数来修改所述历史数据。
20.如权利要求19所述的元搜索引擎,其中所述参数是时间,越旧的历史数据具有比越新的历史数据更少的相关性。
21.如任一前述权利要求所述的元搜索引擎,其中该引擎将所确定的相关性分数与另一个分数相组合。
22.如权利要求21所述的元搜索引擎,其中另一个分数是赞助列表排名。
23.如任一前述权利要求所述的元搜索引擎,其中所述引擎包括基于案例的推理系统,其中每个查询和它的历史选择数据是一个案例。
24.如权利要求23所述的元搜索引擎,其中每个案例包括一个查询和k个结果对,每个对具有响应标识符和相关性分数。
25.如权利要求24所述的元搜索引擎,其中每个案例对应于命中矩阵的查询维度。
26.一种实质上如参考附图所描述的元搜索引擎。
27.一种实质上如参考附图所描述的元搜索方法。
28.一种计算机程序产品,包括用于在数字计算机上执行时实现权利要求1至25之任一的元搜索引擎的操作的软件代码。
全文摘要
一种元搜索引擎(1),从用户(U)接收查询(q
文档编号G06F17/30GK1856791SQ200480027470
公开日2006年11月1日 申请日期2004年7月23日 优先权日2003年7月23日
发明者巴里·史密斯, 伊夫琳·巴尔夫 申请人:爱尔兰都柏林国立大学-都柏林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1