基于多索引的信息检索系统的制作方法

文档序号:6566778阅读:170来源:国知局

专利名称::基于多索引的信息检索系统的制作方法
技术领域
:本发明涉及一种用于对诸如因特网的大型资料库中的文档进行索引、搜索和分类的信息检索系统。
背景技术
:当前,信息检索系统(通常称为搜索引擎)是用于在大型、分散并且不断增长的资料库(诸如因特网)中寻找信息的必备工具。通常,搜索引擎创建索引,其中该索引将文档(或者"页")和出现在每个文档中的各个词联系起来。响应于包含多个查询词的查询,典型地,基于出现在文档中的一些数量的查询词来检索文档。然后,根据其他统计方法,诸如查询词的出现频率、主域(hostdomain)、链接分析等等,来对检索的文档进行排序。然后,检索的文档典型地按照它们排列的次序被呈现给用户,并且没有任何进一步的分组或者强加的层级。在某些情况中,呈现文档文本的选择部分,以将文档内容的概览提供给用户。查询词的直接"布尔"匹配具有众所周知的限制,并且特别地,不能识别不具有查询词但具有相关词的文档。例如,在典型的布尔系统中,对"澳大利亚牧羊犬"的搜索将不会返回不具有确切查询词的关于其他牧羊犬(诸如边境牧羊犬)的文档。相反,这样的系统通常很可能也检索并且高度地排序关于澳大利亚的文档(与狗无关)以及关于"牧羊犬"的文档。这里的问题是传统系统基于各个单词而不是根据概念来对文档进行索引(index)。概念经常以短语的形式来表述,诸如"澳大利亚牧羊犬"、"美国总统"或者"圣丹斯电影节"。最多,某些现有系统针对预定的以及非常有限的'已知,短语集合来对文档进行索引,这通常是由人类操作员来选择的。由于用于识别所有三个、四个或者五个或者更多单词的可能短语的可感知的计算和存储需要,所以通常避免对短语进行索引。例如,假设任何五个单词可以组成一个短语,并且大资料库将至少具有200,000个唯一词,则存在大概3.2"026个可能的短语,明显地超过任何现存系统可以存储在存储器中或者可编程操作的数量。进一步的问题是短语根据它们的使用持续地输入并且离开词典,会更频繁地发明新的单个单词。将总是从诸如技术、艺术、世界事件和法律的源生成新的短语。其他短语将随着时间在使用上将减少。一些现存的信息检索系统通过使用各个单词的同现模式来试图提供概念检索。在这些系统中,对诸如"总统"的一个单词的搜索将也检索具有随"总统(president)"频繁出现的其他单词,诸如"白(white),,和"宫(house),,的文档。虽然此方法可以产生具有在各个单词级别上概念相关的文档的搜索结果,但是典型地,它不能捕获同现短语间的固有的主题关系。因而,需要一种信息检索系统和方法,其可以根据短语来综合地识别大型资料库中的短语,根据文档的短语来搜索和排序文档,以及提供关于文档的额外分组和描述信息。传统信息检索系统的另一个问题是它们仅可以索引在因特网上可用的文档的一相对小的部分。i^艮据当前估计,在如今的因特网上存在超过2000亿网页。然而,甚至最好的搜索引擎仅索引60到80亿网页,因而错过多数可用网页。存在几个限制现存系统索引能力的原因。最主要的是,典型系统依靠反向索引的变型,其中反向索引针对每个词(如上面讨论所讨论的)保持出现该词的每个网页以及识别该词在网页上的每个出现的确切位置的位置信息的列表。索引各个词和索引位置信息的组合需要非常大的存储系统。许多用于搜索因特网的信息检索系统的进一步的问题是它们没有能力对随时间变化的网页存档。传统地,大部分因特网搜索引擎仅存储针对给定网页的当前实例(或版本)的相关性信息,并且在每次重新索引该网页时更新此信息。作为结果,给定的搜索仅返回满足查询的网页的当前版本。这样,用户不能搜索网页的现先实例,或者具有特定日期间隔的最近的网页。而且,当评估搜索查询或者呈现搜索结果的时候,搜索引擎同样不使用与版本或日期相关的相关性信息。因而,希望提供一种信息检索系统,其可以有效地索引数百亿并且实际超过1000亿网页内容,而没有现存系统的大量存储需要。
发明内容一种信息检索系统和方法使用短语索引、搜索、排序并且描述文档集合中的文档。该系统适合识别在文档集合中具有足够频繁和/或明显使用的短语,以表示它们是"有效的,,或者"好的,,短语。以此方式,可以识别多单词短语,例如四个、五个或多个词的短语。这避免了不得不识别并且索引由给定数目单词的所有可能序列产生的每个可能短语的问题。该系统还适合于根据一个短语预测在文档中其他短语的出现的能力,来识别彼此相关的短语。更具体地,可以使用这样的预测方法,即该预测方法将两个短语的实际同现率和两个短语的期望同现率联系起来。信息增益是一个这样的预测方法,其中信息增益是实际同现率与期望同现率的比值。预测方法超过预定的阈值,则两个短语是相关的。在这样的情况中,第二短语针对于第一短语具有明显的信息增益。语义上,相关短语将是那些通常用于讨论或者描述给定主题或者概念的短语,诸如"美国总统"和"白宫"。对于给定的短语,可以基于它们各自的预测方法,根据它们的相关性或者重要性,来排序相关短语。一种信息检索系统通过有效的或者好的短语来索引文档集合中的文档。对于每个短语,置入列表识别包含短语的文档。另外,对于给出的短语,第二列表、向量或者其他结构被用于存储数据,该档中。以此方式,系统不仅可以容易地识别包含响应于搜索查询的短语的文档,而且可以识别也包含与查询短语相关的短语的文档,而且因此更可能是明确关于表达于查询短语中的主题或者概念。当响应于查询来搜索文档时,该信息检索系统也适合于使用短语。进行查询,以识别任何出现在查询中的短语,以便检索查询短语的相关置入列表,以及相关短语信息。另外,在某些情况中,用户可以在搜索查询中输入不完整短语,诸如"的总统(Presidentofthe)"。可以识别诸如这些的不完全短语,以及可以由短语扩展(诸如"美国的总统(PresidentofUnitedStates")来替换的不完整短语。这有助于保证实际执行用户最可能的搜索。本发明的另一方面是能够使用多索引结构来索引1000亿或者更多数量级的大量文档。在一个实施例中,提供主和次索引。主索引存储针对短语的索引数据,其中对于每个短语,索引有限数目的文档。对于特定短语,文档的索引数据按照文档与短语的相关性的排序次序来存储。优选地,此存储安排是逻辑和物理的(即,怎样将数据存储在主存储设备上)。在多于有限数量的文档包括特定短语的情况,用于这些剩余文档的索引数据存储在次索引中,但是这里由文档号代替相关性排序来进行排序,以及例如使用分散聚集类型方法,来进行;险索。例如,主索引可以构造为对于每个短语存储32k文档条目,并何其他文档条目。为了获得对于主索引的文档条目,对文档对于短语的相关性进行评分,并且通过它们的相关性分值来对他们进行排排序。用于文档条目的排序被用于在主索引和次索引间划分条目。在存在少于有限数量的包含短语的文档的情况下,则再次按照相关性排序将所有条目存储于主索引。索引安排使用于索引的存储能力能够增加十到十五倍,并且由于最优化的索引信息,服务器性能产生十倍增长。本发明的另一个方面是能够索引用于存档的文档的多个版本和实例。此能力使用户能够搜索在特定日期范围内的文档,能够使日期或者版本相关的相关性信息用于响应于搜索查询评估文档以及组织搜索结果。在一个实施例中,文档与一个或多个日期范围相关。每个日期范围与相关性数据相关联,该相关性数据来自文档以及在日期范围期间针对该文档视为有效。当前日期范围与文档的当前实例相关联,从最近索引文档的日期开始。当在索引进行期间遇到文档时,将其与先前版本相比较,以确定文档是否已经改变。如果文档没有改变,那么保留索引的相关性数据。如果文档改变,那么文档的当前日期范围被关闭,并且重索引文档,并且建立新的当前日期范围,并且与当前相关性数据相关联。在系统和软件架构、计算机程序产品和计算才几实现方法以及计算机生成用户接口和呈现中,本发明具有进一步的实施例。前面只是基于短语的信息检索系统和方法的一些特征。信,I;检索系统领域的那些技术人员将会理解,短语信息一般性的灵活性允许在索引、文档注释、搜索、排序以及文档分析和处理的其他领域中大量使用和应用。图1是本发明一个实施例软件架构的框图。图2说明了识别在文档中的短语的方法。图3说明了带有短语划分和次划分的文档。图4说明了识别相关短语的方法。图5说明了针对相关短语索引文档的方法。图6说明了基于短语检索文档的方法。附图描述了本发明的优选的实施例,仅用于说明目的。本领域技术人员将从下列讨论中容易地认识到,在不偏离这里描述的本发明的原理的情况下,可以使用这里说明的结构和方法的可选的实施例。具体实施方式I.系统概括现在参考图1,示出了根据本发明的一个实施例的搜索系统100的实施例的软件架构。在此实施例中,该系统包括索引系统110、搜索系统120、呈现系统130和前端月良务器140。索引系统110负责通过访问各种网站190和其他文档集合来识别文档中的短语,并且根据它们的短语来索引文档。前端服务器140接收来自于客户端170的用户的查询,并且向搜索系统120提供这些查询。搜索系统120负责搜索与搜索查询相关的文档(搜索结果),包括识别搜索查询中的任何短语,以及然后使用短语的出现影响排列顺序来对搜索结果中的文档进行排列。搜索系统120向呈现系统130提供搜索结果。呈现系统130负责修改搜索结果,包括移除最近复制文档并且生成文档的主题描述,并且将修改的搜索结果提供返回给前端服务器140,前端服务器140向客户端170提供结果。系统IOO还包括存储与文档有关的索引信息的主索引150和次索引152,以及存储短语以及相关统计信息的短语数据存储器160。主索引150分布在多个主服务器1...M1上,以及次索引152同样分布在多个次服务器1...M2。本申请的上下文中,"文档,,应被理解为可以由搜索引擎索引和检索的任何媒体类型,包括网页文档、图像、多媒体文件、文本文档、PDF或者其他图像格式文档等等。文档可以具有一或多页、分区、分段或者其他组成部分,如适合它的内容和类型。同样地,文档可以被称为"页",如通常用来指代代因特网上的文档的"页"。使用通用术语"文档"并不隐含对于本发明的范围的限制。搜索系统100操作在大型文档资料库上,诸如因特网和万维网,但是同样可以被用于更多限制的集合中,诸如针对图书馆或者私人企业的文档集合。在任一上下文中,应该理解的是,文档典型地分布在很多不同的计算机系统和地点。那么不失一般性,不论格式和位置(例如,哪个网站或者数据库),文档通常集体地被称作资料库或者文档集合。每个文档具有相关联的标识符,用于唯一识别文档;优选地,该标识符是URL,但是其他类型的标识符(例如,文档号)也可以使用。在此公开中,假设使用URL识别文档。II.索引系统在一个实施例中,索引系统110提供三个主要的功能操作1)识别短语和相关短语;2)关于短语来索引文档;以及3)生成并且保持基于短语的排序。本领域技术人员应该理解的是,索引系统110将执行其他功能以及支持传统索引功能,因此在这里不再描述这些其他操作。索引系统110对主索引150和次索引152以及短语数据的数据仓库160进行操作。下面将进一步描述这些数据仓库。1.短语识别索引系统110的短语识别操作识别文档集合中"好的"和"坏的"短语,其中短语对于索引和搜索文档是有用的。在一个方面中,好的短语是在文档集合中趋向以大于文档的特定比例出现,和/或被表示作为显著出现在所述文档中的短语,诸如由标记标签或者其他形态、格式或者语法标记界定的那样。好的短语的另一个方面是它们可预测其他好的短语,并且不仅仅是出现在词典中的单词的序列。例如,短语"美国总统"是预测诸如"乔治布什"和"比尔克林顿"的其他短语的短语。然而,其他短语是不可用于预测的,诸如"felldownstairs(跌下楼梯),,、"topofthemorning(王牌投手)"、或者"outoftheblue(突然)",这是因为类似这些的习语和口语趋向于与很多其他不同的和无关的短语一起出现。因此,短语识别阶段确定哪个短语是好的短语以及哪个是坏的(即,缺乏预测能力)。现在参考图2,短语识别过程具有下列功能阶段200:收集可能的并且好的短语,连同这些短语的频率和同现统计。202:基于频率统计将可能的短语分类为好的或坏的短语。204:基于源自同现统计的预测方法来整理好的短语列表。现在将更详细地描述这些阶段的每一个。第一阶段200是这样一个过程,即通过该过程,索引系统110爬过文档集合中的一组文档,随时间重复文档集合的分区。每单程(pass)处理一个分区。每单程爬过的文档数目可以变化,并且优选地,每分区大概是l,OOO,OOO。优选地,每个分区中仅处理之前未爬过的文档,直到已经处理所有文档,或者符合某些其他的终止标准。在实践中,当将新文档持续加入文档集合时,持续所述爬过。针对被爬过的每个文档,由索引系统110进行下列步骤使用长度为n的短语窗口来遍历(traverse)文档的单词,其中n是希望的最大短语长度。典型地,窗口的长度将至少是2,并且优选地为4或5词(单词)。优选地,短语包括短语窗口中的所有单词,包括可表征为停止单词的那些单词,诸如"a"、"the,,等等。可以由行尾、段回车、标记标签或者内容或格式变化的其他表示来终止短语窗口。图3说明了在遍历其间文档300的一部分,示出了开始于单词"stock"并且向右延伸5个单词窗口302。窗口302中的第一单词是候选短语i,并且序列的每一个i+l、i+2、i+3、i+4和i+5同样是候选短语。因此,在此例子中,候选短语是"stock"、"stockdogs"、"stockdogsfor"、"stockdogsforthe"、"stockdogsfortheBasque"和"stockdogsfortheBasqueshepherds,'。在每个短语窗口302中,每个候选短语被依次检查,以确定是否它已经出现在好的短语列表208或者可能的短语列表206中。如果候选短语既没有出现在好的短语列表208中也没有出现在可能的短语列表206中,那么候选短语已经被确定为"坏的"并且被忽略。如果候选短语在好的短语列表208中,作为条目g"那么短语g,的索引150条目被更新,以包括该文档(例如,它的URL或者其他文档标识符),以表示此候选短语g;出现在当前文档中。在短语g;(或词)的索引150中的条目被称作短语g,的置入(posting)列表。该置入列表包括文档d的列表(由它们的文档标识符,例如文档号,或者可选地,URL),其中短语出现在这些文档d中。在一个实施例中,使用例如MD5,通过URL的单向散列来产生文档号。另外,如下面进一步解释,更新同现矩阵212。在最先的单程中,好的和坏的列表将是空的,并且因此,大部分短语将趋向于加入可能的短语列表206。如果候选短语不在好的短语列表208中,那么它被加入可能的短语列表206,除非它已经出现在其中。可能的短语列表206上的每个条目p具有三个相关的计数P(p):出现可能的短语的文档的数目;S(p):可能的短语的所有实例的数目;并且M(p):可能的短语的感兴趣实例的数目。在可能短语可通过语法或者格式标记(例如通过黑体字、或者下划线、或者作为超级链接中的锚文本,或者引号)与文档中相邻的内容区分出来的情况下,可能的短语的实例是"感兴趣的"。由各种HTML标记语言标签和语法标记来表示这些(以及其他)区别表现(appearance)。当将短语置于好的短语列表208中时,保持针对短语的这些统计。另外,保持用于好的短语的各种列表,即同现矩阵212(G)。矩阵G具有mxm维,其中m是好的短语的数目。矩阵中每个条目G(j,k)代表一对好的短语(g"g4)。同现矩阵212逻辑地(虽然不需要物理地)为好的短语的每个对(g"g,)保持相对于次窗口304的三个分开的计数,其中次窗口304的中心定位在当前单词i,并且延伸+/-11个单词。在一个实施例中,诸如图3所描述的,次窗口304是30个单词。同现矩阵212因此保持R(j,k):自然同现计数。短语g,与短语g,—起出现在次窗口304中的次数;D(j,k):分离感兴趣计数。短语g,或者短语g,在次窗口中出现作为显著文本的次数;以及C(j,k):联合感兴趣计数。短语gj口短语g,在次窗口中出现作为显著文本的次数。对于避免短语(例如,版权提醒)频繁出现况,使用联合的感兴趣计数是有益的。参考图3的例子,假设"stockdogs(斯托克狗),,在好的短语列表208上,短语"AustralianShepherd(澳大利亚牧羊犬),,和"AustralianShepherdClubofAmerica(美国的澳大利亚牧羊犬俱乐部)"也在好的短语列表208上。后两个短语围绕当前短语"stockdogs"出现在次窗口304中。然而,短语"AustralianShepherdClubofAmerica,,作为用于到网站的超级链接(由下划线表示)的锚文本出现。因此增加用于对("stockdogs","AustralianShepherd")的自然同现计数,并且同时增加用于{"stockdogs","AustralianShepherdClubofAmerica"}的自然出现计数和分离感兴趣计数,因为后者作为显著文本出现。用于分区中的每个文档,使用序列窗口302和次窗口304遍历每个文档的过程被重复。一旦已经遍历了分区中的文档,索引操作的下个阶段是从可能的短语列表206更新202好的短语列表208。如果短语出现的频率和短语出现在其中的文档的数目表示它作为语义上有意义的短语具有足够的使用,则可能的短语列表206上的可能短语p被移动到好的短语列表208。在一个实施例中,对此进行如下测试。如果a)P(p)〉10并且S(p)〉20(包含短语p的文档数大于10并且短语p的出现数目大于20);或者b)M(p)〉5(短语p的感兴趣实例数目大于5),则可能短语p被从可能的短语列表206移除并且被置于好的短语列表208上。这些阈值由分区中文档的数目调分段;例如,如果2,000,000个文档在分区中被爬过,那么阈值大概是双倍。当然,本领域技术人员应该理解,阈值的特定值,或者测试它们的逻辑可以如希望变化。如果短语p不具有好的短语列表208的资格,那么检查它作为坏短语的资格。如果a)包含短语的文档的数目,P(p)<2;并且b)短语的感兴趣实例数目,M(p)=0,则短语p是坏的短语。这些条件表示该短语既是不频繁的,又没有作为重要内容的表示使用,并且这些阈值再次根据分区中的文档数目调整。如上所述,应该注意,好的短语列表208将自然包括各个单词作为短语,以及多单词短语。这是因为短语窗口302中的每个第一单词总是候选短语,并且适当的实例计数将被积累。因此,索引系统110可以自动索引各个单词(即,具有单个单词的短语)和多单词短语。好的短语列表208也将显著短于基于m个短语的所有可能组合的理论最大值。在典型的实施例中,好的短语列表208将包括大概6.5xl0s个短语。当系统仅需要跟踪可能和好的短语时,坏短语列表不需要存储。在最后单程通过文档集合之前,由于大资料库中短语使用的期望分布,可能短语的列表将相对短。因此,如果假设在第十次单程(例如,IO,OOO,OOO个文档)中短语最初出现,则此时短语不可能是好的短语。它可能是刚进入使用的新短语,并且因此在随后爬过期间变得逐渐普通。在这种情况中,它的各个计数将增加并且可以最终满足作为好的短语的阈值。索引操作的第三阶段是使用源自于同现矩阵212的预测方法来整理204好的短语列表208。如果不整理,好的短语列表208很可能包括很多虽然合理地出现在词典中但是它们自己不足以预测其他短语的出现,或者它们自己是更长短语的字序列的短语。移除这些弱的好短语很可能使好的短语的非常鲁棒。为了识别好的短语,使用这种的预测方法,该预测方法表达一个短语相对于另一个短语出现在文档中的增加的可能性。在一个实施例中,这通过以下方式来完成如上提到的,同现矩阵212是存储与好的短语相关联的数据的mxm矩阵。矩阵中每行j代表好的短语g,并且每列k代表好的短语g〃对于每个好的短语g,,计算期望值E(g,)。期望值E是集合中期望含有g,的文档的百分比。计算该百分比,例如,为包含g,的文档数目与已经爬过过的集合中的文档总数目T的比率P(j)/T。如上提到的,在每次g7出现在文档中时,更新包含g,的文档数目。可以在每次g,的计数增长时,或者在此第三阶段期间更新E(gj)的值。接下来,对于每个其他好的短语g4(例如,矩阵的列),确定是否gj预测g^g,的预测方法确定如下i)计算期望值E(g^。如果么g,和g,是不相关短语,那么g,和gA的期望同现率E(j,k)是E)*E(g4);ii)计算g,和g,的实际同现率A(j,k)。这是自然同现计数R(j,k)除以文档的总数目T;iii)在实际同现率A(j,k)超过期望同现率E(j,k)一阈值总量的情况下,g,被认为预测g"在一个实施例中,预测方法是信息增益。因此,当在g,的出现时g,的信息增益I超过阈值时,短语g,预测另一个短语g〃在一个实施例中,计算如下I(j,k)=A(j,k)/E(j,k)并且在I(j,k)〉信息增益阈值的情况下,好的短语g,预测好的短语g"在一个实施例中,信息增益阈值是1.5,但是优选地在1.1和1.7之间。提高阈值超过1.0用作减少两个不相关短语同现超过随机预测的可能性。正如所强调的,关于给定的行j,针对矩阵G的每列k,重复计算信息增益。一旦完成了行,如果没有好的短语gt的信息增益超过信息增益阈值,那么这意味着短语g,不预测任何其他好的短语。在这个情况中,从好的短语列表208中移除g,,本质上成为坏的短语。注意当此短语自己可以被其他好的短语预测时,不移除该短语g,的列j。当已经评估了同现矩阵212的所有行时,此步骤结束。此阶段的最终步骤是整理好的短语列表208,以移除不完整短语。不完整短语是仅预测自己的短语扩展的短语,并且其开始于短语的最左侧(即,短语的开始)。短语p的"短语扩展"是开始于短i吾p的超序。例如,4豆i吾"Presidentof,预测"PresidentoftheUnitedStates"、"PresidentofMexico"、"PresidentofAT&T,,等。由于这些短语开始于"Presidentof,并且是它的超序,后面所有它们是短语"Presidentof,的短语扩展。因而,基于前面讨论的信息增益阈值,保持在好的短语列表208上的每个短语gj夸预测一些数目的其他短语。现在,对于每个短语g,,检索系统110执行与每个预测短语gj々串匹配。串匹配测试是否每个预测短语g,是短语g,的扩展。如果所有预测短语g,是短语g,的短语扩展,那么短语gj是不完整的,并且从好的短语列表208中移除,并且被加入不完整短语列表216。因此,如果存在至少一个不是g,的扩展的短语gp那么g,是完整的,并且保留在好的短语列表208中。例如,"PresidentoftheUnited"是不完整短语,这是因为它预测的唯一其他短语是它的扩展"PresidentoftheUnitedStates"。不完整短语列表216本身在实际搜索期间非常有用。当接收敌搜索查询,针对不完整短语列表216,比较该搜索查询。如果该查询(或者它的部分)匹配列表中的一个条目,那么搜索系统120可以查找不完整短语的最可能短语扩展(相对于不完整短语具有最高信息增益的短语扩展),并且将此短语扩展提示给用户,或者自动对短语扩展进行搜索。例如,如果搜索查询是"PresidentoftheUnited",搜索系统120可以自动向用户提示"PresidentoftheUnitedStates"作为搜索查询。在索引过程的最后阶段完成之后,好的短语列表208将包含大量已经在资料库中发现的好的短语。这些好的短语的每个将预测至少一个不是它的短语扩展的其他短语。即,使用每个好的短语以足够的频率和独立性来表示在资料库中表达的有意义的概念或者思想。不像使用预定或者手选短语的现存系统,好的短语列表反映资料库中实际被使用的短语。而且,由于当新文档被加入文档集合时周期性地重复上述爬过和索引过程,所以当新的短语进入词典时,索引系统110自动4企测新的短语。2.相关短语的识别和相关短语的集群参考图4,相关短语识别过程包括下列功能操作。400:识别具有高信息增益值的相关短语。402:识别相关短语的集群。404:存储集群比特向量和集群号。现在,详细描述这些操作的每一个。首先,回想同现矩阵212包含好的短语其中每一个使用高于信息增益阈值的信息增益预测至少一个其他好的短语为了识别400相关短语,那么,对于每对好的短语(g,,g,),将信息增益与相关短语阈值(例如,100)进行比较。即,在I(g"gt)>100的情况下,g,和g,是相关短语。此高阈值被用于识别很好超越统计期望率的好的短语的同现。统计地,它意味着短语g,和g4同现超过期望同现率100倍。例如,考虑在文档中的短语"monicaLewinsky(莫妮卡莱温斯基)",短语"BillClinton(克林顿),,在同样文档中很可能出现100次,那么短语"克林顿"很可能出现在任何随机选择的文档上。解释这个另一个方式是因为同现率是100:1,则预测的准确率是99.999%。因而,任何小于相关短语阈值的条目(gy,gj被清零,表示短语g,、g,不相关。同现矩阵212中的任何保留条目现在表示所有相关短语。然后通过信息增益值I(g,,gt)排序同现矩阵212的每行gj中的列gp使得带有最高信息增益的相关短语gj皮最先列出。因此,针对给定的短语g,,此排序识别根据信息增益识别哪个其他短语最可能相关。下一步是确定402哪些相关短语一起组成相关短语的集群。集群是其中每个短语关于至少一个其他短语具有高信息增益的相关短语的集合。在一个实施例中,集群被如下识别。在矩阵的每行gj中,将有一个或多个相关于短语g^的其他短语。此集合是相关短语集合R,,其中R={gi,g/,...g}。对于R,中的每个相关短语m,索引系统110确定是否R中的每个其他相关短语也相关于g/。因此,如果I(gA,g,)也是非零,那么g,,g,和g,是集群的一部分。针对R中的每对(g,,g^),重复此集群测试。例如,假设好的短语"比尔克林顿"相关于短语"总统"、"莫妮卡莱温斯基",因为这些短语的每一个关于"比尔克林顿,,的信息增益超过了相关短语阈值。进一步假设短语"莫妮卡莱温斯基"相关于短语"皮包设计师"。那么,这些短语组成集合R。为了确定该集群,索引系统110通过确定它们的相应信息增益来评估这些短语的每个到其他短语的信息增益。因此,对于R中的所有对,索引系统110确定信息增益I("总统","莫妮卡莱温斯基")、I("总统","皮包设计师")等等。在此例子中,"比尔克林顿"、"总统"和"莫妮卡莱温斯基"组成一个集群,"比尔克林顿,,和"总统"组成第二集群,并且"莫妮卡莱温斯基"和"皮包设计师"组成第三集群,并且"莫妮卡莱温斯基"、"比尔克林顿"和"皮包设计师"组成第四集群。这是因为虽然"比尔克林顿"没有使用足够的信息增益预测"皮包设计师,,,但是"莫妮卡莱温斯基"预测了这两个短语。为了记录404集群信息,分配给每个集群唯一集群号(集群ID)。然后,记录此信息连同每个好的短语g,。在一个实施例中,集群号通过也表示短语间正交关系的集群比特向量确定。集群比特向量是长度为n的比特序列,好的短语列表208中好的短语的数目。对于给定的好的短语gy.,比特位置对应于g,的排序相关短语R。如果R中的相关短语g,和短语g,在相同的集群中,则比特^皮设定。更通常地,如果在g,.和gj司的任一方向存在信息增益,这意味着集群比特向量中的相应比特被设定。那么,集群号是所产生的比特串的值。此实现具有在相同集群中出现拥有多路或者单路径信息增益的相关短语的性质。集群比特向量的例子如下,使用上面的短语:<table>tableseeoriginaldocumentpage20</column></row><table>总之,此过程之后,对于每个好的短语g"识别相关短语R的集合,其中按照信息增益I(g,,gJ从高到低排序相关短语R。另夕卜,对于每个好的短语g,存在集群比特向量和正交值,其中集群比特向量的值是识别短语R,是成员的主集群的集群号,并且正交值(用于每个比特位置的1或者0)表示R中的哪些相关短语与R,在共同的集群中。因此在上面的例子中,基于短语"比尔克林顿"的行中的比特值,"比尔克林顿"、"总统,,和"莫妮卡莱温斯基"位于集群14中。为了存储该信息,两个基本表示是可用的。第一,如上所示,信息可以存储在同现矩阵212中,其中条目G[rowj,col.k]=(I(j,k),集群号,集群比特向量)。可选地,可以避免矩阵表示,并且所有信息存储在好的短语列表208中,其中每行代表好的短语g/.短语row,列表[短语g4(I(j,k),集群号,集群比特向量)]。此方法对于集群提供有用的组织。首先,不是严格而经常是任意限定主题和概念的层级,此方法认识到由相关短语表示的主题组成复杂的关系图,其中一些短语和很多其他短语相关,并且一些短语具有更有限的范围,并且其中关系可以是相互的(每个短语预测其他短语)或者单向的(一个短语预测其他,但不是反之亦然)。结果是集群对于每个好的短语可以被赋予特征"局部",并且一些集群将通过具有一个或多个共有相关短语而重叠。然后,对于给定的好的短语g"相关短语的通过信息增益的排序提供用于命名该短语的集群的分类法集群名是在集群中具有最高信息增益的相关短语的名称。上面过程提供一种识别出现在文档集合中重要短语的非常鲁棒的方法,以及有益地,提供一种在实践中这些相关短语被一起使用于自然"集群"中的方法。结果,此相关短语的数据驱动集群避免了在相关词和概念的任何人工直接"编辑"选择中固有的偏差,正如许多系统中所共有的偏差。3.4吏用短语和相关短语索引文档考虑好的短语列表208,包括关于相关短语和集群的信息,索引系统110的下一个功能操作是关于好的短语和集群索引文档集合中的文档,并且存储将更新信息存储在主索引150和次索引152中。图5说明了这个过程,其中存在用于索引文档的下列功能阶段500:将文档置入在文档中找到的好的短语的置入列表。502:针对相关短语和次相关短语,更新实例计数和相关短语比特向量。504:根据置入列表尺寸重新排列索引条目。506:通过信息检索分值或者特征值对每个置入列表中的索引条目排序。508:在主服务器150和次服务器152之间划分每个置入列表。现在详细描述这些阶段。如前,遍历或者爬过的文档集合;这可以是相同或者不同的文档集合。对于给定的文档d,使用长度为n的序列窗口302从位置i以上述该方式逐个单词地遍历500文档。在给定短语窗口302中,从位置i开始,识别窗口中所有好的短语。每个好的短语以g,代表。因此,gl是第一个好的短语,g2将是第二个好的短语,以此类推。对于每个好的短语g,(例如gl"President"和g4"PresidentofATT,,),将文档标识符(例如,URL)置入索引150中好的短语g,的置入列表。此更新识别出现在此特定文档中的好的短语g,。在一个实施例中,短语g,的置入列表采用下列逻辑形式短语g,:列表(文档d,[列表相关短语计数][相关短语信息])对于每个短语g,存在短语出现在上面的文档d的列表。对于每个文档,存在也出现在文档d中的短语gj的相关短语R的出现次数的计数列表。在一个实施例中,相关短语信息是相关短语比特向量。此比特向量可以被赋予特征作为"双比特"向量,其中对于每个相关短语gt,存在两个比特位置,g「l、gt-2。第一个比特位置存储表示是否相关短语g^出现在文档d中的标记(即,文档d中g,的计数大于0)。第二比特位置存储表示是否gt的相关短语g,也出现在文档d中。短语g,的相关短语g,的相关短语g,这里称作"gj的次相关短语"。计数和比特位置相应于R中短语的典范次序(以递减的信息增益顺序排序)。此排序顺序具有使相关短语g,是由与相关短语比特向量的最高有效比特相关联的g,最高度地预测的,并且相关短语g,是由与最低有效比特相关联的g,最少预测的效果。注意,对于给定的短语g,关于包含g的所有文档,相关短语比特向量的长度以及相关短语到该向量的各个比特的相关性是相同的。此实现具有允许系统容易比较针对任何(或者所有)包含g的文档的相关短语比特向量的性质,以发现哪个文档具有给定的相关短语。这对于便于搜索过程响应于搜索查询来识别文档是有益的。因而,给定的文档将出现在很多不同短语的置入列表中,并且在每个这样的置入列表中,该文档的相关短语向量对于拥有该置入列表的短语将是特定的。这方面保持了关于单独短语和文档的相关短语比特向量的位置。因而,下一阶段502包括在文档中遍历当前索引位置的次窗口304(如前+AK个词的次窗口,例如,30个词),例如从i-K到i+K。对于出现在次窗口304中的每个g,的相关短语gp索引系统110在相关短语计数中增加关于文档d的g,的计数。如果g,.稍后出现在文档中,并且再次在后面的次窗口中发现相关短语,则再次增加计数。如提到的,基于计数,设置相关短语比特位图中的相应第一比特g广l,如果g4的计数大于0,则比特设置为1,或者如果计数等于0,则设置为0。接下来,通过查寻索引150中的相关短语gj殳置第二比特g广2,在g,々置入列表中识别文档d的条目,然后,并且针对g^的任何相关短语,检查g4的4的次相关短语计数(或比特)。如果任何这些次相关短语计数/比特被设置,那么这表示g,的次相关短语也出现在文档d中。当文档d已经以此方式一皮完全处理过时,索引系统110已经识别下列i)文档d中的每个好的短语g;;ii)对于每个好的短语g,它的哪些相关短语gt出现在文档d中;iii)对于出现在文档d中的每个相关短语gft,它的哪些相关短语g,(g,的次相关短语)也出现在文档d中。a)划分的索引基于短语在资料库中的出现频率,索引150中的每个短语被赋予短语号。越普通的短语,在索引中它接收的短语号越低。然后,索引系统110根据列于每个置入列表中的文档号降序排序504主索引150中的所有置入列表213,以便最频繁出现的短语具有最低的短语号并且在主索引150中首先列出。如上面看到的,主索引150被分布在Ml主服务器上。为了减少磁盘竟争,通过散列函数,例如phase—numberMODMl,将短语分布在这些机器上。为了显著地增加可以由系统索引的文档数目,主索引150被进一步处理以选择性地划分每个置入列表214。如上面看到的,每个短语的置入列表包含文档的列表。置入列表中的每个文档被给出506关于短语的信息检索类型分值。然而,计算该分值,然后置入列表中的文档通过此分值以降序被排序,最高分值的文档在置入列表中列于第一。当响应于查询检索文档时,此文档预排序对于改进性能特别有益。文档预排序的分值算法可以是与使用来在搜索系统120中生成相关分值的相同的基本相关分值算法。在一个实施例中,IR分值是基于网页排序算法,如美国专利号6,285,999描述的。可选地或是额外地,也可以存储以及单独或组合使用文档的多个IR相关属性的统计,诸如内链接、外链接、文档长度的数目,以便排序文档。例如,根据内链接数目,文档可以以降序被排序。为了进一步便于从主索引150进行信息的最快可能检索,通过IR类型分值排列次序将每个置入列表214中的条目物理地存储在适当的主服务器上。考虑到对于给定短语的最高等分文档现在位于置入列表的开始,置入列表214在主索引150和次索引152间被划分开。对于直到第一K个保留文档的置入列表条目存储在主服务器150上。在一个实施例中,K被设置为32,768(32K),但是可以使用K的较高或者较低的值。具有在主和次索引之间划分开的置入列表的短语被称作'共同,短语,然而没有划分开的短语被称作'稀有,短语。存储于主索引150中的置入列表的部分被称作主置入列表,并且包含主条目,并且存储于次索引152中的置入列表的部分被称作次置入列表,并且包含次条目。对于给定置入列表214的次条目根据短语号的另一个哈什函数,例如,短语号MODM2,被分配给次服务器。次服务器ID存储在主服务器上的置入列表中,以允许搜索系统120容易地访问需要的适当的次服务器。对于每一个存储在一个次服务器上的短语置入列表,次条目以它们文档号的顺序,从最低文档号到最高(对比于主索引150中的相关性排序)物理地存储。优选地,没有相关性信息存储在次条目中,以便条目包含最小数据量,诸如文档号以及文档定位符(例如URL)。排序和划分步骤对于每个短语可以顺序执行;可选地,所有(或者多个)短语可以先被排序,然后划分;算法设计只是一个设计选择并且上述变化可以被同等考虑。在每个索引通过文档集合期间,进行排序和划分步骤,以便索引单程期间任何随新文档被更新的短语可以重排序以及重划分。其他最优化和操作也是可能的。在一个实施例中,对于置入列表214中每个短语的主索引150中存储的文档属性的选择是可变的,并特别地向着主索引中置入列表214的末端减少。换句话说,基于它们的相关性分值(或者其他基于相关性的属性)在置入列表中排序较前的文档将具有所有或者大部分存储在置入列表的文档条目中的文档属性。主索引中的置入在一个实施例中,主索引150中的每个置入列表214具有三分段(或者等级),长度为m、3m、5m,其中m这里是文档条目的数目,在此实施例中,希望每个分段具有长度K,如上描述,即m=K,并且条目主索引具有9K个条目;那么,次索引将存储次条目,其中n>9K。在第一分段中(第一m个条目),针对给定短语的置入列表中的每个文档条目,存储下列相关性属性1.文档相关性分值(例如,网页排序);2.文档中该短语的出现总数目;3.也包含该短语并且指向该文档的多达10,000个锚文档的排列次序的列表,并且对于每个锚文档,它的相关性分值(例如,网页排序),以及锚文本本身;并且4.每个短语出现位置,以及对于每个出现的一组标记,所述标记表示出现是否是题目、粗体、标题、位于URL中、位于主体中,位于工具条中、位于页脚中,位于广告中、大写的、或者位于某些类型的HTML标记中。在第二分段中(接下来的3m个条目),仅存储条l-3。在第三分段中(最后5m个条目),仅存储条1。系统地减少存储在每个置入列表214的后面部分的文档属性是少相关(低相关性分值),并且因此不需要全部存储它们的所有相关性特性。前述存储安排使得能够在给定硬盘存储容量的情况下存储显著多于传统技术的条目。第一,对于每个文档中每个短语的词位置信息的消除提供了对于给定文档集合所需存储容量50%的削减,因而有效加倍了可以存储文档的数目。第二,在主索引和次索引间划分置入列表以及仅在主索引中存储相关性信息提供了进一步实质的分段省。很多短语在他们的置入列表中具有超过100,000,甚至1,000,000个文档。仅在主索引中存储有限数量条目的相关性信息消除了不太可能在搜索中被返回的文档的存储需要。这个方面将可存储文档数量增加了大约10倍。最后,通过针对每个置入列表214中的很少相关(较低排序的)文档来选择性地在主索引150中存储更少的相关性信息,实现了进一步的分段省(大概削减25%-50%所需存储容量)。b)确定文档的主题通过短语所引文档以及实现集群信息提供了索引系统110的另一个优势,其能够基于相关短语信息确定关于文档的主题。假设对于给定好的短语g,并给定文档d,置入列表条目如下g,:文档d:相关短语计数={3,4,3,0,0,2,1,1,0}相关短语比特向量={111110000010101001}其中,相关短语比特向量示出于比特-比特对中。从相关短语比特向量,可以确定文档d的主和次主题。主主题由比特对(l,l)表示,并且次主题由比特对(l,0)表示。相关短语比特对(1,1)表示针对比特对的相关短语g7出现在文档d中,次相关短语g,也是如此。这可以解释为文档d的作者在撰写文档中一起使用几个相关短语g,、g4和g,。比特对(l,O)表示g,和g,都出现,但是没有来自g^的其他次相关短语出现,并且因此这是不大重要的主题。C)针对档案检索来索引文档实例本发明的另一个实施例支持在索引中存储和保留历史文档的能力,并且因而支持各个文档或者网页的日前特定实例(版本)的档案检索。这个能力具有不同的有益用途,包括使用户可以搜索在特定日期范围的文档,使搜索系统120可以在响应于搜索查询来评估文档以及组织搜索结果时,使用日期或者版本相关的相关性信息。在此实施例中,文档标识符针对日期间隔编码文档标识。在索引系统110第一次爬过文档时,文档标识符被存储作为文档URL和文档的日期戳的散列,例如,MD5(URL,第一日期)。日期范围字段与文档的特定实例相关联,其包括对于被认为是有效的文档实例的日期范围。日期范围可以被指定作为日期对,包括文档被认为有效的第一日期(索引日期)和文档被认为有效的最后日期(例如,11-01-04;12-15-04)。可选地,日期范围可以#:指定作为第一日期,以及表示在第一日期之后的天数的数目(例如,11-01-04,45)。日期可以被指定为任何有效的格式,包括日期字符串或者天数。在文档是当前有效文档周期期间,第二值是表示该状态的状态标记或者令牌(包括NULL值);这被称作当前间隔。例如,(11-01-04,"打开")表示文档当前是有效的。这表示文档将满足包括第一日期后的日期限制的搜索。不论特定的实现,针对给定日期间隔的第一日期可以被称作"打开日期",并且针对给定间隔的最后日期可以被称作"关闭日期"。在由索引系统110随后的索引单程期间,索引系统110确定是否文档已经改变。如果文档中不存在改变,那么索引系统110不对文档采取进一步的行动。如果文档已经改变(文档的新实例或者版本),那么索引系统110重索引文档。在重索引时,索引系统110通过改变打开状态标记为当前日期减一天,来关闭当前间隔。例如,如果索引系统110在12/16/04索引文档并且确定文档已经改变,那么关闭当前间隔如下(11-01-04,12-15-04),并且创建新的当前间隔,例如,(12-16-04,"打开")。索引系统110保持文档的每个曰期范围,连同日期范围的相应索引相关性数据(例如,短语,相关性统计、文档内链接等等)。因此,每个日期范围和相关性数据集合与文档的特定实例或版本相关联。对于用于给定文档的每个日期间隔,索引系统保持唯一文档标识符,例如MD5(URL,第一曰期),以便能够检索适当緩存的文档实例。在使用主和次索引的实施例中,当完成索引单程时,主索引中的置入列表214被重评分、重排序、并且重划分。给定文档是否自上次索引单程已经改变的确定可以以任何方式做出,包括使用统计规则,语法规则或者类似启发式规则。在一个实施例中,索引系统110使用文档短语确定是否文档已经改变。每当索引文档时,前N个主题被识别和保持作为与日期范围信息相关联的列表,例如,日期范围(11-04-04,12-15-04)的前20个主题。被索引的实例主题列表然后与现有文档实例的主题列表(优选地最近关闭日期范围)进行比较。如果超过Mn/。的主题已经改变(例如,5%),那么文档被认为改变,并且针对所有短语进行重索引。应该注意确定文档是否已经改变的其他方法也可以使用,以及基于短语的索引使用不是必需的。例如,可以基于文档长度的改变、最频繁词的改变、词频的改变、HTML标记类型数量的改变、或者文档结构和内容的其他方法,来使用统计规则集合。III.搜索系统搜索系统120操作以接收查询并且搜索与查询相关的文档,并且在搜索结果集合中提供这些文档(使用到文档的链接)的列表。图6说明了搜索系统120的主要功能操作600:识别查询中的短语。602:4全索与查询短语相关的文档。604:根据短语对搜索结果中的文档进行排序。这些阶段的每个的细分段如下。1.识别查询和查询扩展中的短语搜索系统120的第一阶段600是识别在查询中出现的任何短语,以效地搜索索引,在该部分中使用了以下术语q:作为输入并且由搜索系统120接收的查询。Qp:查询中出现的短语。Qr:Qp的相关短语。Qe:Qp的短语扩展。Q:Qp和Qr的联合。从客户端190接收查询q,具有多达特定最大数量的字符或单词。由搜索系统120使用的尺寸为N(例如,5)的短语窗口,以遍历查询q的词。短语窗口开始于查询的第一词,向右扩展N个词。然后,此窗口向右移动M-N次,其中M是查询中词的数目。在每个窗口位置,窗口中存在N个词(或更少)。这些词组成可能的查询短语。在好的短语列表208中查找可能的短语,以确定它是否是好的短语。如果可能短语出现在好的短语列表208中,那么返回针对短语的短语号;现在可能的短语是候选短语。在每个窗口中的所有可能短语已经被检验以确定它们是否是好的候选短语后,搜索系统120将具有针对查询中相应短语的短语号集合。然后,然口对这些短语号进行排序(降序)。开始于最高短语号作为第一候选短语,搜索系统120确定排序列表内的固定数字距离中是否存在另一个候选短语,即,短语号间的差值在阈值量内,例如,20,000。如果这样,那么查询中最左端的短语被选作有效查询短语Qp。此查询短语和所有它的子短语被从候选者列表中移除,并且列表被重排序并且重复处理。此处理结果是有效查询短语Qp的集合。例如,假设搜索查询是"HillaryRodhamClintonBillontheSenateFloor"。搜索系统120将识别下列候选短语,"HillaryRodhamClintonBillon"、"HillaryRodhamClintonBill"和"HillaryRodhamClinton"。前两个被放弃,并且最后一个作为有效查询短语被保留。接下来搜索系统120将识别"Bi11ontheSenateFloor"以及子短语"BillontheSenate"、"Billonthe"、"Billon"、Biir"并且将选择"Bill"作为有效查询短语Qp。最后,搜索系统120将解析短语"onthesenatefloor"并且确定"SenateFloor,,作为有效查询短语。接下来,搜索系统120调整有效短语Qp用于首字母大写。当解析该查询时,搜索系统120在每个有效短语中识别潜在的首字母大写。使用已知的首字母大写表,诸如首字母大写为"UnitedStates"的"unitedstates",或者通过使用基于语法的首字母大写算法,可以完成这个。这就生成了适当的首字母大写的查询短语集合。然后,搜索系统120使第二单程通过首字母的大写短语,并且仅选择最左端并首字母大写的短语,其中短语和它的子短语出现在集合中。例如,关于"presidentoftheunitedstates"的搜索将被首字母大写作"PresidentoftheUnitedStates"。在下一个阶段,搜索系统120识别602与查询短语Q相关的文档。搜索系统120然后检索查询短语Q的置入列表,并且如果需要,对这些列表耳又交集(intersect),以确定哪些文档出现在针对查询短语的所有(或一些)置入列表上。如果查询中的短语Q具有短语扩展Qe集合(下面进一步描述),那么搜索系统120在作对置入列表取交集之前,首先组成短语扩展置入列表的联合。如上所述,搜索系统120通过在不完整短语列表216中查找每个查询短语Q来识别短语扩展。使用主索引150和次索引152,搜索系统120可以进一步优化取交集操作。基于查询短语是否是普通的或者稀有的,存在搜索系统120不得不处理的四种常用的取交集分析情况。第一种情况是针对单查询短语,其既可以是普通的也可以是稀有的。在此情况中,搜索系统120将来自于主索引150的短语的置入列表中选择数量的(例如,100或者1000)第一条目传递到排序阶段604,用于最终排序。由于文档已经按照排序次序,排序阶段可以优化排序操作。可选地,由于通过它们与短语的相关性已经预排序了这些,所以可以直接将文档集合作为搜索结果提供,基本上提供瞬时结果给用户。第二种情况是其中存在两个普通查询短语。这里,搜索系统120访问主索引150中每个短语的置入列表214并且对这些列表取交集,以形成最终文档列表,然后该最终文档列表被传送到排序阶段604,用于基于与文档相关联的相关性属性集合进行相关性评分。因为在每个置入列表中存在至少K个文档,所以存在包含两个短语的足够数量的文档的极高可能性,并且因此次索引152中的次条目的取交集不是必需的。这进一步减少了检索所需的时间量。第三种情况是其中存在两个稀有查询短语。此情况以与第二种情况相同的方式处理,因为在这里每个短语的全部置入列表存储在主索引中。最后一种情况是其中有效查询短语包括普通短语和稀有短语。在此情况中,搜索系统120首先对来自于用于两个短语的主索引150的置入列表214取交集,以形成第一集合或者普通文档。接下来,搜索系统120对稀有短语的置入列表与普通短语的次条目(其已经以文档号顺序排序)取交集,以形成普通文档的第二集合。将两个集合结合并且然后传递到排序阶段。其中可以由使用上述方法的一个连续的取交集来处理存在三个或更多查询短语的所有实例。2.排序a)基于包含的短语对文档排序搜索系统120提供排序阶段604,其中使用相关性信息和文档属性连同每个文档的相关短语比特向量中的短语信息,以及用于查询短语的集群比特向量,对搜索结果中的文档排序。此方法根据包含在文档中的短语,或者非正式地"主体索引项(bodyhits)",来排序文档。如上所述,对于任何给定短语g"g,的置入列表中的每个文档d具有关联的相关短语比特向量,其识别哪个相关短语gj乂及哪个次相关短语g,出现在文档d中。出现在给定文档中的相关短语和次相关短语越多,将在针对给定短语的文档的相关短语比特向量中设置的比特越多。被设置的比特越多,相关短语比特向量的数值越大。因而,在一个实施例中,搜索系统120根据它们的相关短语比特向量值对搜索结果中的文档排序。包含与查询短语Q最相关短语的文档将具有最高值的相关短语比特向量,并且这些文档将成为搜索结果中排序最高的文档。此方法是希望的,这是因为语义上这些文档都与查询短语在主题上最相关。请注意,因为相关短语信息被用于识别相关文档并且然后对这些文档排序,所以尽管文档不包含输入查询词q的高频率,此方法也提供了高度相关的文档。带有输入查询词的低频率的文档仍旧可以具有大量的与查询词和短语相关的短语,并且因此比具有仅查询词和短语的高频率但是没有相关短语的文档更相关。在第二实施例中,根据文档包含的查询短语Q的相关短语,搜索系统120对结果集合中的每个文档评分。如下完成这个过程给定每个查询短语Q,将存在与查询短语相关的n个短语,如短语识别过程期间所识别的。如上所述,相关查询短语Qr根据来自于查询短语Q的它们的信息增益被排序。然后,这些相关短语被分配点数,开始于针对第一相关短语Qrl的N个点(即,具有来自于Q的最高信息增益的相关短语Qr),然后针对下一个相关短语Qr2是N-l个点,然后,对于Qr3是N-2个点,以此类推,以侵j合最后相关短语QrN分配一个点。然后,通过以下方式,给搜索结果中的每个文档评分,即通过确定查询短语Q的那个相关短语Qr出现,并且将分配给每个这样的相关短语Qr的点数提供给文档。然后文档被从最高分到最低分排序。当进一步提炼时,搜索系统120可以从结果集合中选出特定文档。在某些情况中,文档可以与很多不同主题有关;特别是对于更长的文档是尤其是这样。在很多情况中,与关于许多不同主题的文档相比,用户更喜欢针对在查询中表达的单个主题的文档。为了精选这些后面文档类型,搜索系统120使用查询短语的集群比特向量中的集群信息,并且移除其中存在超过文档中集群阈值数目的任何文档。例如,搜索系统120可以移除包含多于两个集群的任何文档。这个集群阈值可以是预定的,或者由用户作为搜索参数设定的。b)基于锚短语对文档排序除了基于查询短语Q的主体索引项对搜索结果中的文档进行排序外,在一个实施例中,搜索系统120也基于查询短语Q和相关查询短语Qr在到其他文档的锚点(anchor)中的出现,对文档排序。在一个实施例中,搜索系统120对于每个文档计算分值,其是两个分值的函数,主体项索引分值和锚索引项分值。例如,对于给定文档的文档分值可以计算如下分值=.30*(主体索引项分值)+.70(锚索引项分值)。.30和.70的权重可以根据希望调整。按照上述方式,考虑查询短语Q,文档的主体索引项分值是文档的最高值相关短语比特向量的数值。可选地,此值可以由搜索系统120通过在索引150中查找每个查询短语Q,从查询短语Q的置入列表中访问文档,并且然后访问相关短语比特向量来直接获得。文档d的锚索引项分值是查询短语Q的相关短语比特向量的函数,其中Q是参考文档d的文档中的锚项。当索引系统110索引文档集合中的文档时,它为每个短语保持一个文档列表,其中在所述文档中短语是外链接中的锚文本,以及也为每个文档保持来自其他文档的内链接(以及关联的锚文本)列表。文档的内链接是从其他文档(参考文档)到给定文档的参考(例如,超链接)。为了确定给定文档的锚索引项分值,搜索系统12通过锚短语Q反复通过索引中列出的参考文档R(i=l到参考文档的数目)的集合,病得出以下成绩R,.Q.相关短语比特向量fD.Q.相关短语比特向量。这里的乘积值是主题锚短语Q与文档D相关的分值。这个分值这里被称为"入站(inbound)分值组分"。此乘积通过参考文档R中的锚短语的相关比特向量有效地权衡了当前文档D的相关比特向量。如果参考文档R自己与查询短语Q相关(并且因此,具有更高值的相关短语比特向量),那么这将增加当前文档D分值的重要性。如上所述,主体索引项分值和锚索引项分值被组合以创建文档分值。接下来,对于每个参考文档R,获得每个锚短语Q的相关短语比特向量。这是锚短语Q与文档R相关的方法。这里乘此值为出站(outbound)分值组分。然后,针对锚短语Q,从索引150中抽取所有(参考文档,被参考文档)对。然后,这些对通过它们的关联(出站分值组分,入站分值组分)值被排序。取决于实现,这些组分的任意一个可以是主排序关键字,并且其他可以使次排序关键字。然后,排序结果被呈现给用户。按照出站分值组分对文档进行排序使对作为锚索引项的查询具有许多相关短语的文档排序最高,因此代表这些文档作为"专家"文档。按照入站分值组分对文档进行排序使由锚项频繁参考的文档排序最高。c)基于日期范围相关性对文档排序搜索和排序操作期间,搜索系统120可以以若干种方式使用日期范围信息。第一,搜索系统120可以使用日期范围作为明确的搜索分界符。例如,可以包括词或者短语以及日期,诸如"美国专利和商标局12/04/04"。4叟索系统120可以识别日期项,并且然后选4奪具有希望的短语并且被针对查询中包括日期项的日期范围索引的文档。然后,从选择的文档中,搜索系统120可以使用与日期范围相关联的索引的相关性数据,获得针对每个文档的相关性分值。以此方式,代替当前实例,可以检索文档较旧的或者以前的实例,其中与搜索查询更相关。这对于频繁改变的文档和页面特别有用,诸如包含频繁改变信息的新网站和其他网站的主页。第二,在搜索查询中不包括日期项的情况下,搜索系统120可过根据它们有多旧对文档相关性分值进行加权,以便较旧的文档使它们相关性分值权重下降(或者较新的文档权重更高)。可选地,在一些情况中,与主题最相关的是文档较旧的版本,而不是文档最当前版本。例如,在历史性事件时刻同时创建的新闻入口站点很可能比新入口的当前实例与关于事件的特定查询更相关。在此情况中,搜索系统120可以提升较旧文档实例的权重,其中例如,针对所有文档实例的文档相关性分值模式示出了围绕一些历史日期的增加,跟随着针对该文档更多当前实例的相关性分值的下降。在一个或者多个日期项包括在搜索查询中的情况中,如上所述,文档可以使它们的权重下降与日期词和文档日期范围间的差距成比例,以便比日前范围(从打开或者关闭日期衡量)更旧或者比希望的曰期项更新的文档^f吏它们的相关性分值纟又重下降。相反地,在文档的日期范围更靠近希望的日期的情况下,相关性分值权重增加,而不是权重下降。第三,搜索系统120可以使用日期范围信息作为用于对搜索结果排序的主要或者次要因素。例如,文档可以以逆时间顺序分组(例如,月分组),并且在每组中,文档可以从与搜索查询最相关到最不相关列出。数据范围信息的另一个使用是基于文档的更新频率来排序文档。搜索系统120可以确定超过一时间间隔(索引期间可以保持此计数)的给定文档的实例数目(例如,不连续日期范围的数目)。然后,实例数目被用于提高那些更加频繁更新的文档的权重。权利要求1.一种用于关于短语来索引文档的计算机实现的方法,其中每个文档具有文档标识符,该方法包括建立包含该短语的文档列表;通过相关性分值来对所述列表中的文档进行排序;按照所述相关性分值的排序次序,将包括较高排序文档的列表的第一部分存储在主索引中;以及按照所述文档标识符的数字次序,将包括较低排序文档的列表的第二部分存储在次索引中。2.根据权利要求1的方法,其中所述相关性分值包括基于页面排序的类型分值。3.根据权利要求1的方法,还包括针对每个文档,将所述文档的相关性属性存储在所述主索引中。4.根据权利要求3的方法,其中所述相关性属性包括以下内容中的至少一个该短语在文档中出现的总数目、也包含该短语并且指向该文档的锚文档的排列次序的列表、文档中每个短语出现的位置、一个或多个标记的集合,所述标记表示出现的格式或者包含该出现的文档部分。5.根据权利要求3的方法,其中将列表的第二部分存储在次索引中包括基本上仅存储文档识别信息。6.根据权利要求1的方法,其中将列表的第一部分存储在主索引中包括按照相关性分值的排列次序将列表的第一部分存储在物理存储设备上。7.根据权利要求1的方法,其中将列表的第二部分存储在次索引中包括按照文档标识符的数字次序将列表的第二部分存储在物理存储设备上。8.根据权利要求1的方法,其中每个文档列表的第一部分包括第一分段和第二分段,其中在第一分段中列出的每个文档包括第一多个相关性属性,以及在第二分段中列出的每个文档包括第二多个相关性属性,所述第二多个相关性属性是第一相关性属性集合的子集,并且其中在第一分段中列出的文档的排序高于在第二分段中列出的文档。9.根据权利要求8的方法,其中每个文档列表的第一部分包括第三分段,其中在第三分段中列出的每个文档包括第三多个相关性属性,所述第三多个相关性属性是第二多个相关性属性的子集,并且其中在第二分段中列出的文档的排序高于在第三分段中列出的文档。10.根据权利要求8的方法,其中每个列表的第一部分包含n个条目,其中该列表的第二部分包含n^n个条目,其中m〉2,并且该列表的第三部分包含Pn个条目,其中1>4。11.一种提供信息检索系统的方法,该方法包括存储包括主短语置入列表的主索引,每个置入列表与一个短语相关联并且包括多达最大数目的包含该短语的文档,所述文档按照各自的相关性分值来排列次序;存储包括次短语置入列表的次索引,每个置入列表与主索引中的主短语置入列表相关联,并且包括包含该短语并且相关性分值比针对该短语的主置入列表中最低排序文档的相关性分值小的文档,所述文档按照文档标识符来排序;接收包括至少一个短语的搜索查询;响应于包含具有主置入列表和次置入列表的第一短语以及仅具有主置入列表的第二短语的搜索查询,对第二短语的主置入列表和第一短语的主置入列表取交集,以获得第一共同文档集合,并且对第一短语的次置入列表和第二短语的主置入列表取交集,以获得第二共同文档集合,并且结合第一和第二共同文档集合;以及排序共同文档。12.—种信息冲企索系统,包括包括主短语置入列表的主索引,每个置入列表与一个短语相关联并且包括多达最大数目的包含该短语的文档,所述文档按照各自的相关性分值来排列次序;以及包括次短语置入列表的次索引,每个置入列表与主索引中的主短语置入列表相关联,并且包括包含该短语并且相关性分值比针对该短语的主置入列表中最低排序文档的相关性分值小的文档,所述文档按照文档标识符来排序。全文摘要一种信息检索系统使用短语索引、检索、组织并且描述文档。识别预测文档中其他短语的出现的短语。根据它们包括的短语来索引文档。文档索引被分成多个索引,包括主索引和次索引。主索引存储具有相关性次序排列的文档的短语置入列表。次索引按照文档顺序存储来自于置入列表的额外文档。文档编号G06FGK101133388SQ200680007173公开日2008年2月27日申请日期2006年1月25日优先权日2005年1月25日发明者A·L·帕特森申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1