概述
下面提供本发明的简化概要以便为读者提供基本的理解。本概要不是本发明的详尽概观,并且既不标识本发明的关键/决定性要素也不描绘本发明的范围。其唯一目的是以简化形式提供在此公开一些概念作为稍后提供的更详细描述的序言。
诸如web搜索系统等信息检索系统在查询项的基础上在数百万甚至数十亿可能的文档中定位文档。为实现这点,创建了文档索引。在此建议在文档中创建新的字段以存储反馈信息。该信息包括在特定搜索中所使用的查询项以及关于是否对所检索到的特定文档给予例如肯定反馈或否定反馈的信息。在该反馈信息加上其它可用信息的基础上创建索引。结果,改进了搜索结果的相关性。对给定文档有多个信息字段(如摘要字段、标题字段、锚文本字段以及此处的反馈字段)可用。使用了处理多个字段以及多个查询项并提供对文档字段的差异加权的任何搜索算法。
本示例提供形成供在信息检索系统中使用的文档索引的方法,该方法包括以下步骤:
指定多个字段,包括可以联合每一文档使用的至少一个反馈字段;
访问多个文档,且对于那些文档的每一个,使用来自所访问的文档的信息来填充至少某些字段;
接收包括多个查询项、诸文档中特定一个文档的标识符、和关于反馈的类型的信息的反馈信息;
对于诸文档中特定一个文档,在关于反馈类型的信息的基础上用多个查询项来填充反馈字段;
在所填充的字段是基础上形成文档索引;
接收多个查询项;
在查询项的基础上从索引中获得文档统计数据;以及
使用搜索算法来生成经排序的文档列表,该搜索算法适于与多个查询项和多个文档字段一起使用并被安排成提供对字段的差异加权。
这提供通过使用反馈信息并将其合并入文档中,增强了将来的搜索的优点。这以简单且高效的、不过度增加处理成本或时间的方式来实现。
提供了用于形成供在信息检索系统中使用的文档索引的对应的装置,该装置包括:
被安排为指定包括可以联合每一文档使用的至少一个反馈字段的多个字段的索引生成器;
该索引生成器具有被安排成访问多个文档的接口,该索引生成器具有被安排成对于那些文档的每一个使用来自所访问的文档的信息来填充至少某些字段的处理器;
该索引生成器具有被安排成接收包括多个查询项、诸文档中特定一个文档的标识符、和关于反馈的类型的信息的反馈信息的另一接口;
该索引生成器的处理器被安排成对于诸文档中特定一个文档,在关于反馈类型的信息的基础上用多个查询项来填充反馈字段;
该索引生成器的处理器被安排成在所填充的字段的基础上形成文档索引;
被安排成接收多个查询项的接口;
被安排成在查询项的基础上从索引中获得文档统计数据的搜索引擎,该搜索引擎包括被安排成在搜索引擎中事先以生成经排序的文档列表的搜索算法,该搜索算法适于与多个查询项和多个文档字段一起使用并被安排成提供对字段的差异加权。
优选地,关于反馈类型的信息包括关于反馈是肯定还是否定的信息。
优选地,关于反馈类型的信息包括关于反馈是显式还是隐式的信息。
优选地,指定字段的步骤包括指定多个反馈字段,每一反馈字段都对应不同类型的反馈。
优选地,形成索引的步骤包括在各字段和至少某些反馈字段的基础上生成文档统计数据。
优选地,重复地更新索引。
优选地,充分频繁地更新索引,使得在搜索期间,反馈信息被动态地合并入文档中并被用来影响正在进行的搜索。
优选地,反馈信息被用来影响查询间(inter-query)搜索。
优选地,该方法包括在指定的时间段之后清空反馈字段或在所流逝的时间的基础上调整与各反馈字段相关联的权重。
在一示例中,信息检索系统是图像检索系统且文档是图像。
另一实施例提供了一种包括计算机程序代码装置的计算机程序,该计算机程序代码装置适于当所述程序在计算机上运行时执行上述任何方法的所有步骤。例如,该计算机程序被包含在计算机可读介质上。
本方法可由存储介质上的机器可读形式的软件来执行。软件可适于在并行处理器或串行处理器上执行以使得各方法步骤可以按任何合适的次序或同时执行。
这确认了软件可以是有价值的、可单独交易的商品。其旨在包含运行于或者控制“哑(dumb)”或者标准硬件以实现期望功能的软件,(因此,软件本质上定义了寄存器的功能,并且可以被叫做寄存器,即使是在它与其标准硬件结合之前)。出于类似的理由,它还旨在包含例如用于设计硅芯片,或者用于配置通用可编程芯片的HDL(硬件描述语言)软件等“描述”或者定义硬件配置以实现期望的功能的软件。
许多附带特征将随着参考下面的详细描述并结合附图进行理解而得到更好的认识。
详细描述
下面结合附图提供的详细描述旨在作为对本示例的描述,而非表示用于解释或利用本示例的唯一形式。本说明书阐述本示例的功能以及用于构造和操作本示例的步骤序列。然而,相同或等价的功能与序列可由不同的示例来实现。
图1是适用于实现本发明的各实施例的信息检索系统的示意图。排序系统10能够访问其需要搜索其以找出相关的文档或文档部分的文档11。文档可以是任何合适的类型,如网页、文档储存库中的文本文档、与文本相关联的图像、具有相关联的文本的视频剪辑、数据库摘录、或包括或具有相关联的文本的任何其它合适类型的文档。此处使用的术语“文本”指的是包括单词、字符、符号或数字的信息。
提供了用户界面12以使用户可以访问排序系统10来搜索文档或文档部分11。用户界面是任何合适的形式,如基于web的图形用户界面、自然语言界面、基于文本的界面、或其它界面。用户界面使用户(其可以是人类用户或自动化系统)能够输入呈现给排序系统10的查询项16。排序系统10返回经由用户界面12呈现给用户的经排序的文档列表15。文档按其与用户的查询项的相关性来排序。另外,该用户界面被安排成捕捉来自用户的隐式反馈14和/或显式反馈13。
可以使用提取操作来解析该查询以确定查询项。例如,查询项可以是单个单词或可以包括多个组成项。例如,短语“文档管理系统(documentmanagement system)”可被认为是单个查询项或可被认为是三个独立的单词。另外,查询可以包括一个或多个运算符,如布尔运算符、符号、数字或其它字符。
使用术语“显式反馈”是指来自用户的关于经排序的列表中的文档的相关性的主动反馈。鉴于被用来获得经排序的列表的查询项,其还可以被认为是对该经排序的列表中的一个或多个文档的评估。为使反馈成为显式的,要求响应于来自用户界面的查询或请求的积极用户输入。相反,对于“隐式反馈”则不要求响应于查询或请求的积极用户输入。其还可以被认为是被动反馈。另外,反馈可以是其中指示经排序的列表中的一个或多个文档相关的肯定反馈,或者是其中指示经排序的列表中的一个或多个文档不相关的否定反馈。因此,存在至少四种类型的反馈。
肯定显式反馈
肯定显式反馈的一个示例涉及呈现使用户能够指示特定搜索结果文档是否是相关的对话框、任务栏、按钮、或其它用户输入手段。在这种情况下,用户做出特定动作来指示搜索结果是相关的。该动作可任选地响应于来自用户界面的关于相关性的查询。例如,查询采用对话框、投票按钮、音频提示、视觉提示等的形式,
否定显式反馈
否定显式反馈的一个示例涉及用户响应于提示、查询或请求做出特定动作以指示搜索结果文档是不相关的。可以使用以上关于肯定显式反馈所述的任何合适的方法。
肯定隐式反馈
肯定隐式反馈涉及在用户界面处的活动的基础上做出反馈是肯定的推理或假定,该活动不由经由用户界面自身的请求所提示。
肯定隐式反馈的一个示例涉及访问或随后使用来自结果的文档。在这种情况下,如果观察到用户访问经排序的结果列表中所呈现的文档,则假定该特定文档是相关的。发现这种获得反馈的方式对于图像搜索或其中在经排序的列表中提供了每一文档的缩略图的其它文档搜索特别有利。因为存在缩略图(或整个文档中的信息的任何其它合适的概述),所以访问该文档很可能是相关性的很好的指示。在某些实施例中,该类型的反馈被称为“点进(click through)”,其中用户点击到结果列表中的一个文档的链接以对其进行访问。可以设想不同等级的肯定隐式反馈。例如,如果用户从结果列表中复制并粘贴链接,或为该链接做了书签,则其可被看作是高质量肯定隐式反馈。
否定隐式反馈
否定隐式反馈涉及在用户界面处不存在活动的基础上做出反馈是否定的推理或假设。例如,如果用户未访问来自结果列表的一个文档,则可以假定该文档是不相关的。
可以认识到,这些不同类型的反馈信息可被有利地用来通过使搜索结果更加相关来改进搜索结果。例如,这在查询间的基础上实现。即,来自过去的用户查询的反馈被用来改进将来相同或不同的用户所进行的搜索。
为了以实现简单且计算经济的高效的方式利用反馈信息,在文档中的一个或多个新字段中积累查询。字段(也被称为流)是与文档相关联的数据结构。例如,字段可以是具有定义的结构的文档的指定部分。示例包括标题、摘要、概述、正文、结论、参考文献、元数据字段、以及锚文本字段。元数据字段的一个示例是含有关于到达和发自该文档的链接的数目的信息的字段。锚文本字段被用来储存与从另一文档到当前文档的链接相关联的文本。因此,锚文本得自另一文档,并被存储在当前文档的锚文本字段中。在本发明中,有利地建议指定一个或多个新字段并使用其来存储与反馈信息相关联的查询项。为清楚起见,这些新字段在此将被称为“反馈字段”。例如,在一实施例中,指定四种类型的反馈字段,其每一个都用于上述四种反馈类型的每一种。然而,这不是必须的。可以使用任何合适数量的反馈字段。例如,可以使用一个反馈字段来存储多个类型的反馈,或可以在有不同级别的反馈信息可用的情况下使用超过四个字段。已发现以此方式使用反馈信息字段特别高效。例如,可以使用反馈信息来修改正在进行的搜索的查询项或修改索引过程(见下)而不必将其存储在文档中。然而,那些方法很复杂且尤其对于索引过程方法来说是很耗时的。
图2是包括图像并示出适于在本发明的一实施例中使用的文档字段22到24和25到26的文档20的示意图。在这种情况下,文档字段包括存储来自从其中访问图像的文档(例如,包含该图像的网页)的任何嵌入的文本的字段22。标题字段23被用来存储与该图像相关联的任何标题,而URL文本字段24则存储与到该图像的链接相关联的任何文本。图像21本身通过使用web爬行器或其它合适的过程来获得,且在该示例中,使用两个反馈字段25和26来存储查询项。文档字段22到24和25到26是可用的但不必要都将其填充,且对于不同的文档,可以填充各个不同的字段。同样,可以指定任何合适的文档字段。因此,对于不同类型的文档,不同类型的文档字段将是适当的。
图3是图1的信息检索系统的一实施例的示意图。在该示例中,排序系统10包括索引生成器32、搜索引擎30和索引31。虽然出于清楚起见其在图3中作为单独的实体示出,但索引生成器32和搜索引擎30可以是整合的。索引生成器32包括用于与文档11进行接口的文档接口33。该接口可以采用本领域公知的任何合适的形式。索引生成器34还包括用于从用户界面12接收显式13和或隐式14反馈的反馈接口34。能够使用该反馈信息经由文档接口33来填充文档11中的反馈字段。然而,这不是必须的。反馈信息可以使用可独立于索引生成器32的任何合适的实体而合并入文档中。
多个文档11可用于搜索。例如,这些可以使用本领域公知的web爬行过程或任何其它合适的方式来获得。可以搜索任何数量的文档,包括含有大量(例如,数十亿)文档的文档集合。
如前所述,使用索引生成器来生成对信息检索系统可用的文档索引是公知的。例如,在2004年3月18日提交的、作为US-2005-0210006-A1于2005年9月22日公布的早期美国专利申请“Field Weighting in TextDocument Searching(文本文档搜索中的字段加权)”中,描述了这样的索引过程。在该文献中,描述了为每一文档生成单独的文档统计数据并将其存储在索引中的索引生成器。文档统计数据是基于来自每一文档中所指定的字段的信息的。除因为向各个文档添加了反馈字段之外,在本发明中优选地使用相同的过程,那些反馈字段与任何或所有其它文档字段一起使用以形成索引31。然而,使用这种形成索引的方法不是必须的。可以使用形成索引的任何其它合适的方法,只要其考虑到文档中的反馈信息。
一旦被形成,则定期更新索引31。这么做是因为文档11本身随时间改变(例如,网站被更新)并且另外,持续地接收到反馈信息并将之添加到文档11中。可以使用任何合适的索引更新间隔,如每日、每周或对索引的持续更新。间隔时间的选择至少部分地取决于处理资源、成本、文档11中的变化速率和反馈信息的接收速率。图4是索引生成过程的示意图。指定了各个字段,包括一个或多个反馈字段(参见框40)。从文档中访问信息(参见框41)并访问反馈信息(参见框42)。对于每一文档,随后在可能时填充包括反馈字段在内的各个字段(框43)并计算统计数据(框44)以生成或更新索引(框45)。
如已描述的,显式13和/或隐式14反馈信息经由用户界面12来接收,并被用来填充文档11本身中或与这些文档相关联的反馈字段。对于一给定搜索,反馈信息包括:
所使用的查询项,
使用反馈信息对于其可用的那些查询项所发现的特定文档的身份,以及
关于反馈的特性的信息(例如,其是否是显式、隐式、否定或肯定)。
假定用户使用查询项启动搜索并在所得文档上提供反馈(参见图5的框50)。在用户界面处捕捉该反馈(参见框51)。如图5所示,反馈信息被用来访问所标识的文档(框52),(在关于反馈的特性的信息的基础上)选择该文档中的适当的反馈字段(框53)和用查询项填充所选择的反馈字段(或诸字段)(框54)。这在图5的流程图中示出。
在某些实施例中,给定文档的反馈字段在指定的时间间隔后被清空。另选地,随时间调整与反馈字段相关联的权重。以此方式,可以安排反馈信息的影响随时间而降低。然而,以此方式随时间修改反馈字段不是必须的。反馈字段可以简单地在获得关于给定文档的新反馈信息时被重写。
填充文档11中的反馈字段的过程是渐进的过程,其随者越来越多的搜索被完成且反馈变得可用而不断进行。因此,可用于搜索的、具有填充的反馈字段的文档的比例将随时间增加。如果诸如网页等文档被更新,则可以进行供应以保持与该页面相关联的任何填充的反馈字段。另选地,可以将其删除。这是取决于被搜索的文档类型和对那些文档的更新是否趋向于显著地改变文档的内容的设计选择。另一选项是对更新中的改变的范围做出自动评估并在适当时删除或保留反馈字段。
一旦形成了索引31,则搜索引擎30可响应于用户查询项16访问或查询索引31以生成经排序的文档列表15。因为已经向文档添加了反馈字段,所以对于文档11的至少一部分有多个(复数个)文档字段可用。另外,用户可以输入多个(两个或更多)查询项16以发起文档搜索。因此,搜索引擎被专门安排为处理多个文档字段和多个查询项两者。任何合适的搜索算法都可由搜索引擎来实现,只要其能够处理多查询项和多文档字段。因为需要开发合适的组合信息的方法,所以多查询项和多文档字段呈现出特定问题。例如,一个简单的(但不合适的)方法是为每一文档字段计算单独的得分并随后使用权重来线性地组合这些得分。该方法没有考虑来自查询的项可以匹配超过一个字段的事实;文档可以因在若干字段中匹配一个查询项却根本不匹配第二查询项而获得高得分。在以上引用的早期专利申请中,描述了用于跨字段地、逐个查询项地组合证据的方法,该方法处理该问题而同时允许对各字段进行差异加权。这在多个查询项可能匹配多个字段时尤其重要。因此,在优选实施例中,搜索引擎实现如在以上引用的早期专利申请中所描述的算法。然而,这不是必须的。可以使用跨文档字段地、逐查询项地组合证据并允许对文档字段进行差异加权的任何合适的搜索算法。
用来在搜索算法期间对文档字段加权的权重可用任何合适的方式来获得。例如,使用本领域公知的涉及使用所评估的数据的训练或调整过程。
图6是使用图1或图3的信息检索系统的方法的流程图。接收多个查询项(参见框60)并提供给搜索引擎。搜索引擎从索引中获得相关文档统计数据(参见框61),包括在反馈字段的基础上形成的统计数据。随后使用如上所述的搜索算法以对文档统计数据进行差异加权和组合以便在查询项的基础上生成得分(参见框62)。这是为可能与查询项或其子集相关的每一文档完成的。随后使用这些得分来生成经排序的文档列表(参见框63)。
在优选实施例中,信息检索系统是web图像搜索系统,而文档11是从因特网或其它文档检索到的图像。图2中给出了该类型的文档及其相关联的字段的一个示例。在图像搜索的情况下,诸如点进反馈等隐式反馈可能是相关的。另外,与从web检索到的图像相关联的文本的量和该文本的相关性通常相对很差。这使得使用基于文本的查询项搜索这种文档很困难。在这种情况下,使用反馈信息尤其可以增加搜索结果的相关性。因此,在将本发明应用到图像搜索时,有特别的优点。如上所述,本发明决不限于图像搜索。
在一示例实现中,搜索引擎(图3的30)和索引生成器(图3的32)使用任何合适的计算机处理硬件上所支持的计算机软件来实现。例如,搜索引擎在服务器上提供,而处理器上的索引生成器或独立于该搜索引擎服务器或与其整合在一起。索引生成器所形成的索引(图3的31)使用诸如硬盘、磁盘、光盘、磁带盒、闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等任何合适的计算机可读存储介质被存储为数据库、文件、或其它合适的数据结构。
用户界面(图3的12)使用任何合适的硬件来提供,如连接到计算机终端的显示器屏幕和键盘、移动计算设备、个人数字助理、智能电话、或任何其它合适的用户界面装置。
信息检索系统的各组件之间的通信使用任何合适的通信手段来实现,如无线通信、诸如局域网等物理连接、广域网、以太网、因特网、内联网等。
本领域的技术人员将认识到用于存储程序指令的存储设备可分布在网络上。例如,远程计算机可存储描述为软件的该过程的示例。本地或终端计算机可访问远程计算机并下载该软件的一部分或全部以运行该程序。或者,本地计算机可按需下载软件的片断,或可以在本地终端处执行一些软件指令而在远程计算机(或计算机网络)处执行一些软件指令。本领域的技术人员将认识到,通过使用本领域技术人员已知的常规技术,软件指令的全部或部分可由专用电路,如DSP、可编程逻辑阵列等来执行。
如本领域的技术人员将清楚的,此处给出的任何范围或者设备值都可以被扩展或者改变而不失去所寻求的效果。
本文中描述的各方法步骤可以在适当时按任何合适的次序或同时执行。
虽然此处将各示例描述并示出为在基于web的搜索系统中实现,但是所描述的系统只是作为示例而非限制来提供的。本领域的技术人员将会认识到,本发明的示例适于在各种不同类型的信息检索系统中应用。
可以理解,上面对于较佳实施例的描述仅仅是作为示例给出的,而本领域的技术人员可以做出各种修改。