用于搜索引擎检索的原子(atom)的选择的制作方法

文档序号:6365998阅读:172来源:国知局
专利名称:用于搜索引擎检索的原子(atom)的选择的制作方法
用于搜索引擎检索的原子(ATOM)的选择
背景技术
互联网上可得到的信息和内容的数量持续快速地增长。考虑到信息的巨大数量,搜索引擎已经被开发以便于搜索电子文件。特别地,用户可以通过输入包含用户可能感兴趣的一个或多个词语(term)的搜索查询来搜索信息和文件。在接收到来自用户的搜索查询之后,搜索引擎基于搜索查询识别相关的文件和/或网页。因为其实用性,网络搜索(即,针对用户发布的搜索查询找到相关网页和文件的过程)已经可论证地成为当今互联网上最流行的业务。搜索引擎通过爬取(crawl)文件以及在搜索索引中标引(index)与文件相关的信息来操作。当接收到搜索查询时,搜索引擎使用搜索索引以 识别与搜索查询相关的文件。以这种方式使用搜索索引允许针对查询快速地检索信息。没有搜索索引,搜索引擎将需要搜索文件集以寻找相关结果,这将占用无法接受的时间量。由于互联网持续增长,可以被爬取并在搜索索引中标引的可搜索的文件数量已经变得非常大。结果,对于搜索引擎而言,标引关于所有网络文件的信息是不可行的。例如,将需要过分大的硬件存储量。另外,从非常大的索引中检索结果所需要的处理时间将是不可接受的。虽然如此,搜索引擎力争标引可行的尽量多的文件以提供搜索结果给任意查询,同时是成本有效的(cost-effective)并且能够在终端用户可接受的时间量之内提供相关结果。

发明内容
提供该发明内容以按照简化的形式介绍概念的选择,其在下面的具体实施方式
中被进一步描述。该发明内容不意图识别所请求保护的主题的关键特征或者必需特征,也不意图被用于帮助确定所请求保护的主题的范围。本发明的实施方式涉及用已经从多个文件中识别出的原子来填充(population)一个或多个搜索索引。原子可以是一元模型(unigrams)、n元模型(n-grams)或者n元组(n-tuples)。原子/文件对的列表被生成,这样原子能够例如基于文件标识被识别为来自于特定文件。对于每个原子/文件对,计算一个信息度量,其表示原子与特定文件相关程度的近似度。许多因素被用于计算信息度量,诸如原子出现在文件中的频度、文件中包括原子的词语的接近度、词语的相关程度、通过检查查询日志看看词语是否已经被链接在一起等等。在一些实例中,机器学习工具被使用以计算信息度量。信息度量符合或超过特定阈值的原子/文件对被标引在搜索索引中,而那些不符合的被丢弃并因此不被标引。附图简沭
在下面参考附图详细描述本发明,其中
图I是适于在本发明的实施方式的实现中使用的示例性计算环境的框 图2是图示了根据本发明实施方式的智能漏斗状物(smart funnel)的图,其用于减少文件候选以取得分级的文件集合;
图3是可以使用本发明实施方式的示例性系统的框图;图4是示出根据本发明实施方式的方法流程图,该方法用于分阶段的处理以返回响应于搜索查询的搜索结果;
图5是示出根据本发明实施方式的方法流程图,该方法用于在预先计算/标引阶段期间生成搜索索引;
图6是示出根据本发明实施方式的方法流程图,该方法用于在匹配阶段期间识别初始的匹配文件集合;
图7是示出根据本发明实施方式的方法流程图,该方法用于在删减(prune)阶段期间从初始的匹配文件集合中删减文件;
图8示出可以使用本发明实施方式的示例性系统;
图9A,9B和9C分别图示了根据本发明实施方式的、在一元模型搜索索引、n元模型搜索索引和n元组搜索索引中条目的例子;


图10是示出根据本发明实施方式的方法流程图,该方法用于使用在多个文件中识别出的原子填充一个或多个搜索索引;
图11是示出根据本发明实施方式的方法流程图,该方法用于使用在多个文件中识别出的原子填充一个或多个搜索索引;和
图12是示出根据本发明实施方式的方法流程图,该方法用于使用在多个文件中识别出的原子填充一个或多个搜索索引。
具体实施例方式本发明的主题在此处被具体性地描述以符合法定的要求。然而,该描述本身不意图限制该专利的范围。相反,发明者已经考虑到所请求保护的主题还可能以其它方式实现,在与其它现有或将来的技术相结合的情况下,包括与该文件中描述的步骤类似的不同步骤或步骤组合。此外,虽然词语“步骤”和/或“框”可在此处使用以指示所使用的方法的不同要素,但是该词语不应被解释为暗示了在此处公开的多个步骤之中或之间的任何特定顺序,除非以及除了各个步骤的顺序被明确地描述。本发明的实施方式提供了一种标引和搜索处理,其允许大量文件以成本有效的方式被标引并检索,并符合严格的等待时间约束。根据本发明的实施方式,利用在多个阶段中估计并删减文件候选的处理。概念上,该处理看起来像是漏斗状物(funnel),由于在整个阶段上分析变得更加复杂,因此文件候选被估计并删减。随着该处理在整个阶段上持续,更昂贵的计算被应用并且候选文件的数量可以被减少多个数量级。在每个阶段应用不同的策略以允许用快速和有效的方式从大量文件中返回搜索结果。另外,在每个阶段使用的策略可以被设计以补充在其它阶段使用的策略,从而使该处理更加有效。本发明的实施方式使用的搜索索引标引来自文件的较高次序的基元(primitive)或“原子”,这与简单地标引单个词语相反。如此处使用的,“原子”可指查询或者文件的多种单元。这些单元可以包括例如词语、n元模型、n元组、k邻近n元组等。词语向下映射为单个符号或字,如由所使用的特定分词器(tokenizer )技术限定。在一个实施方式中,词语是单个字符。在另一个实施方式中,词语是单个字或者字的组合。n元模型是可从文件提取出来的“n”个连续或者几乎连续的词语序列。如果n元模型对应于一串连续的词语,则可以说它是“紧的”,如果其按照出现在文件中的顺序包含词语,但该词语不是必须连续的,则是“松的”。松的n元模型通常地被用于表示区别在于无足轻重的词的一类等同的短语(例如“如果下雨我将被淋湿”和“如果下雨则我将被淋湿”)。如此处使用的n元组是在文件中共现(顺序无关)的“n”个词语的集合。进一步地,如此处使用的,k邻近n元组指的是在文件中“k”个词语的窗口中共现的“n”个词语的集合。因此,原子通常被定义为以上所有的普遍化概括。本发明实施方式的实现可以使用不同种类的原子,但是如此处使用的,原子一般性地描述上述种类的每一个。当建立搜索索弓I时,每个文件被分析以识别文件中的原子并为每个原子生成预先计算的分数或等级,其表示原子的重要性或者与文件上下文的相关性。搜索索引存储关于为文件/原子对生成的预先计算的分数的信息,其在漏斗处理期间被使用。图2图示了根据本发明的一个实施方式的漏斗处理的多个阶段。在图2中示出的处理的阶段在接收到搜索查询之后被执行,并包括LO匹配阶段202,LI临时分级阶段204,和L2最终分级阶段206。如图2中表示的,随着该处理进行,候选文件的数量被减少。当接收到搜索查询时,搜索查询被分析以识别原子。该原子在LO匹配阶段202期 间被使用以查询搜索索引和识别包含来自搜索查询的原子的初始匹配文件集合。如在图2中所示出的,这可以将候选文件的数量从在搜索索引中标引的全部文件减少到匹配来自搜索查询的原子的那些文件。在LI临时分级阶段204,使用简化计分函数为从LO匹配阶段202中保留下来的候选文件计算初步分数。该简化计分函数尤其对在搜索索引中存储的为文件/原子对预先计算的分数进行运算。在一些实施方式中,简化计分函数可以用作将最终被用于分级文件的最终分级算法的近似。然而,简化计分函数提供了比最终分级算法更廉价的运算,这允许大量候选文件被快速处理。基于初步的分数,候选文件被删减。例如,只有具有最高初步分数的顶部N个文件可以被保留。在L2最终分级阶段206,使用最终分级算法估计从LI临时分级阶段204保留下来的候选文件。相比于在LI临时分级阶段204期间使用的简化计分函数,最终分级算法是具有大量分级特征的较昂贵的运算。然而,最终分级算法被应用于数量少得多的候选文件。最终分级算法提供了分级的文件集合,响应于原来的搜索查询,基于该分级的文件集合提供搜索结果。 从而,在一个方面,本发明的实施方式针对存储有计算机可使用的指令的一个或多个计算机存储介质,当由计算设备使用时,该指令使得计算设备执行方法。该方法包括接收搜索查询并改写(reformulating)该搜索查询以识别一个或多个原子。该方法还包括基于一个或多个原子从搜索索引识别初始的文件集合。该方法进一步包括针对一个或多个原子和初始的文件集合,使用简化计分函数和存储在搜索索引中为文件/原子对预先计算的分数,为初始的文件集合中的每个文件计算初步分数。该方法还包括基于初步分数从初始的文件集合中选择删减的文件集合。该方法进一步包括使用完整分级算法为删减的文件集合中的每个文件计算分级分数以提供分级的文件集合。该方法还进一步包括基于分级的文件集合提供搜索结果以呈现给终端用户。在本发明的另一个实施方式中,其方面是针对包括至少一个处理器和一个或多个计算机存储介质的计算机化系统。该系统包括查询改写组件,其分析接收到的搜索查询以基于在接收到的搜索查询中包含的词语识别一个或多个原子并生成改写的查询。该系统还包括文件匹配组件,其使用改写的查询来查询搜索索引以识别初始的匹配文件集合。该系统还包括文件删减组件,其使用简化计分函数为初始的匹配文件集合的每个文件计算初步分数,并基于该初步分数识别删减的文件集合。该系统还进一步包括最终文件分级组件,其使用完整分级算法为删减的文件集合中的每个文件计算分级分数。本发明的进一步的实施方式针对一种使用分级处理提供响应于搜索查询的搜索结果的方法。该方法包括接收搜索查询并从搜索查询识别一个或多个原子。该方法还包括识别包括一个或多个原子的初始的文件集合,使用简化计分函数为初始的文件集合中的每个文件计算初步分数,并基于该初步分数选择文件的子集以便进一步处理。该方法进一步包括使用最终分级算法为文件的子集中的每个文件计算分级分数。该方法还进一步包括基于该分级分数提供搜索结果的集合。除了上面描述的实施方式,还在此处描述了用于从文件识别相关原子并标引原子/文件对的方法。例如,原子(其可以被分类为一元模型、n元模型或n元组)从文件中被识别或提取。为每个原子/文件对计算信息度量。该信息度量的计算能够基于许多因素,甚至能够由机器学习工具完成,该机器学习工具能够学习如何计算信息度量。阈值被使用以 基于信息度量丢弃在解析查询中被认为不是像其它原子/文件对一样相关或有用的那些原子/文件对。被认为是最相关的那些在搜索索引中被标引以供将来接收到搜索查询时使用。根据本发明的第一方面,提供了一种方法以使用在多个文件中识别出的原子填充一个或多个搜索索引。该方法包括识别在搜索索引中将被标引的文件集合,对于文件集合中的每个文件,识别多个原子,该多个原子包括一个或多个一元模型、一个或多个n元模型和一个或多个n元组。另外,该方法包括基于所识别的文件集合和多个原子,生成原子/文件对的列表,并计算每个原子/文件对的信息度量,其中该信息度量表示与特定文件相关的原子的分级。附加地,该方法包括基于每个原子/文件对的信息度量,选择与原子被标识的特定文件最相关的原子/文件对的子集。该方法进一步包括使用该特定文件的原子/文件对的子集填充搜索索引。根据本发明的第二方面,提供了存储计算机可使用指令的一个或多个计算机存储介质,当由计算设备使用时,其使得计算设备执行一种使用在多个文件中标识出的原子填充一个或多个搜索索引的方法。该方法包括从将被标引的多个文件的第一文件识别多个原子,按照一元模型、n元模型或n元组中的一个或多个来分类多个原子中的每一个,并计算与第一文件相关的多个原子的每个的信息度量。进一步地,该方法包括确定多个原子的每个的信息度量是否符合预定的阈值。符合预定阈值的原子是与第一文件最相关的那些。该方法还包括丢弃不符合预定阈值的原子,并将与第一文件相关的符合预定阈值的原子并入到一个或多个搜索索引中。根据本发明的第三方面,提供了存储计算机可使用指令的一个或多个计算机存储介质,当由计算设备使用时,其使得计算设备执行一种使用在多个文件中识别出的原子填充一个或多个搜索索引的方法。该方法包括从文件中提取多个原子,该多个原子包括一个或多个一元模型、一个或多个n元模型和一个或多个n元组,并对于多个原子的每一个,计算表示与文件相关的特定原子的分级的信息度量。该信息度量的计算基于以下的一个或多个原子在文件中的频度、在文件中原子的两个或更多词语的接近度、原子的两个或更多词语的相关性,或者如检查查询日志所证明的,原子的两个或多个词语是否先前已经被联系在一起。该方法进一步包括确定信息度量阈值。其信息度量符合或超过信息度量阈值的原子/文件对被标引。另外,该方法包括基于信息度量丢弃一部分原子/文件对。相应于所丢弃的原子/文件对的信息度量低于信息度量阈值。通过标引其信息度量符合或超过信息度量阈值的原子/文件对而填充一个或多个搜索索引,其中一元模型、n元模型和n元组被分别标引。一个或多个搜索索引被访问以识别查询中原子的相关文件。已经描述了本发明的实施方式的概述,在下面描述可实现本发明实施方式的一种示例性操作环境,以便提供本发明的多个方面的一般性场景。特别地,初始地参照图1,示出了用于实现本发明的实施方式的示例性操作环境,通常被称为计算设备100。但是计算设备100只是合适的计算环境的一个例子,并不意图暗示关于发明的使用或功能的范围的任何限制。计算设备100也不应当被解释为具有与所图示的组件的任何一个或其组合有关的任何依赖或需要。本发明可以在计算机代码或机器可使用指令的通常场景中描述,所述代码或指令包括诸如程序模块的计算机可执行指令,由计算机或诸如个人数字助理或其它手持设备等的其它机器执行。通常地,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或实施特定抽象数据类型的代码。本发明可以被实现在多种系统配置中,包括手持设备、消费电子设备、通用计算机、更专业的计算设备等。本发明还可以实现在分布式计算环境中,其中任务由通过通信网络链接的远程处理设备执行。参照图1,计算设备100包括总线110,其直接或间接地耦合以下设备存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口 118、输入/输出组件120以及图示性的电源122。总线110表示可以是一种或多种总线(诸如地址总线、数据总线或其组合)。虽然为了清楚用线示出了图I中的多个块,但是实际上,描绘多个组件不是那么清楚,并且隐喻性地,该线更准确地是灰暗和模糊的。例如,可以将诸如显示设备的呈现组件看做是I/O组件。另外,处理器具有存储器。发明者认识到这是技术本身具有的,并且重申图I的图解仅是能够与本发明的一个或多个实施方式相关地使用的示例性计算设备的图示。在如“工作站”、“服务器”、“膝上型电脑”、“手持设备”等这些种类之间没有区别,因为所有都被预期在图I的范围内并被称为“计算设备”。计算设备100典型地包括多种计算机可读介质。计算机可读介质能够是可由计算设备100访问的任意可用的介质,并且包括易失和非易失介质、可移除和非可移除介质。通过示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任意方法和技术实施的易失和非易失、可移除和非可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、磁盒、磁带、磁盘存储或其它磁存储设备,或者能够被用于存储所期望的信息并能够由计算设备100访问的任意其它介质。通信介质典型地包括计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其它传输机制)中的其它数据,并且包括任意信息传递介质。词语“调制的数据信号”指的是按照在信号中编码信息的方式来设置或改变其一个或多个特 性的信号。通过示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,和诸如超声、RF、红外和其它无线介质的无线介质。以上任意的组合也应当被包括在计算机可读介质的范围中。存储器112包括易失和/或非易失存储器形式的计算机存储介质。存储器可以是可移除的、非可移除的或者其组合。示例性硬件设备包括固态存储器、硬盘驱动、光盘驱动等。计算设备100包括一个或多个处理器,其从诸如存储器112或I/O组件120的多种实体读取数据。(多个)呈现组件116呈现数据指示给用户或其它设备。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等。I/O端口 118允许计算设备100逻辑地耦合至包括I/O组件120的其它设备,其中一些可以是内置的。图示的组件包括麦克风、操纵杆、游戏手柄、卫星蝶形天线、扫描仪、打印机、无线设备等。

现在参考图3,提供了图示可以使用本发明的实施方式的示例性系统300的框图。应当理解在此处描述的这种和其它布置仅是作为例子而提出。除了或代替所示出的那些,能够使用其它布置和元件(例如机器、接口、功能、次序、和功能组合等),一些元件可以被完全忽略。进一步地,此处描述的许多元件是功能实体,其可以被实现为分离的或分布式组件或者与其它组件结合,并处于任何合适的组合和位置。此处描述的由一个或多个实体执行的多种功能可以由硬件、固件和/或软件实现。例如,多种功能可以通过处理器执行在存储器中存储的指令而实现。在未示出的其它组件中,系统300可以包括用户设备302、内容服务器304和搜索引擎服务器306。图3中示出的每个组件可以是任意类型的计算设备,例如,诸如参照图I描述的计算设备100。组件可以经由网络308彼此通信,其可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。这种联网环境在办公室中、企业范围的计算机网络、内联网和互联网是普遍的。应当理解任意数量的用户设备、内容服务器和搜索引擎服务器可以在本发明范围内的系统300中被使用。每个可以包括单个设备或者在分布式环境中协作的多个设备。例如,搜索引擎服务器306可以包括布置在分布式环境中的多个设备,其共同地提供此处描述的搜索引擎服务器306的功能。附加地,未示出的其它组件也可以被包括在系统300中。搜索引擎服务器306通常地操作以接收来自诸如用户设备302的用户设备的搜索查询,以提供响应于搜索查询的搜索结果。搜索引擎服务器306尤其包括索引组件310、用户接口组件312、查询改写组件314、文件匹配组件316、文件删减组件318和最终文件分级组件320。 索引组件310操作以标弓I关于由诸如内容服务器304的内容服务器维护的文件的数据。例如,爬取组件(未示出)可以被使用以爬取内容服务器和访问由内容服务器维护的文件有关的信息。从而索引组件310标引在搜索索引322中与爬取到的文件有关的数据。在实施方式中,索引组件310标引在文件中发现的原子和其中发现每个原子的文件的打分信息,其指示原子在文件的上下文中的重要性。可以使用任意数量的算法以计算在文件中发现的原子的分数。仅通过示例的方式,该分数可以基于本领域已知的词频逆向文件频率(TF/IDF)函数。例如,BM25F分级(ranking)函数可以被使用。为文件/原子对生成的分数作为预先计算的分数被存储在搜索索引322中。在实施方式中,索引组件310分析每个文件以识别词语、n元模型、n元组并确定这些原子中哪些应当针对该文件被标引。在处理将被标引的文件期间,关于查询分布、词语分布和/或将在漏斗处理期间使用的简化计分函数的统计可以被使用以统计地选择最好的原子集合以表示该文件。这些选择的原子利用预先计算的分数被标引在搜索索引322中,其允许在漏斗处理的早期有效地删减文件。虽然不是必需的,但是在本发明的一些实施方式中,搜索索引322可以包括反向索弓I (按原子的顺序)和正向索弓I (按文件的顺序)。反向索引可以包括多个标记列表(posting list),每个标记列表指向一个原子和列出的包括该原子的文件,带有每个文件/原子对的预先计算的分数。如将在下面更详细描述的,反向索引和正向索引可以在漏斗处理的不同阶段被使用。用户接口组件312提供至诸如用户设备302的用户设备的接口,其允许用户提交搜索查询至搜索引擎服务器306并从搜索引擎服务器306接收搜索结果。用户设备302可以是由用户使用以提交搜索查询和接收搜索结果的任意类型的计算设备。仅通过示例而非限制,用户设备302可以是桌面计算机、膝上型计算机、平板电脑、移动设备或其它类型的计算设备。用户设备302可以包括一种应用,其允许用户输入搜索查询并提交该搜索查询 至搜索引擎服务器306以取得搜索结果。例如,用户设备302可以包括网页浏览器,其包括搜索输入框或允许用户访问搜索页面以提交搜索查询。用于提交搜索查询至搜索引擎的其它机制也预期在本发明实施方式的范围中。当经由用户接口组件312接收到搜索查询时,查询改写组件314操作以改写该查询。查询从其自由文本形式被改写为便于基于在搜索索引322中如何标引数据而查询搜索索引322的格式。在实施方式中,搜索查询的词语被分析以识别可以被用于查询搜索索引322的原子。可以使用与用于在搜索索引322中标引文件时在文件中识别原子类似的技术来识别该原子。例如,可以基于词语的统计和查询分布信息来识别原子。查询改写组件314可以提供原子连接词(conjunction)集合和这些原子的级联变量(cascading variant)。文件匹配组件316使用该改写后的查询以查询搜索索引322并识别匹配的文件集合。例如,改写的查询可以包括两个或更多原子,文件匹配组件316可以取得这些原子的标记列表的交集,以提供初始的匹配文件集合。文件删减组件318通过从初始的匹配文件集合中删减文件而操作。这可以包括使用存储在搜索索引322中的文件/原子对的预先计算的分数来计算来自初始的匹配文件集合的每个文件的初步分数。该初步分数可以基于简化计分函数,其为了性能和检索(recall)而调整。在一些实施方式中,被用于生成初步分数的简化计分函数是基于完整分级算法而建立,该完整分级算法随后被用于提供最终的分级文件集合。这样,简化计分函数用作最终分级算法的近似。例如,诸如在US专利申请号(尚未分配)(代理档案号MFCP. 157122),名称为 “DECOMPOSABLE RANKING FOR EFFICIENT PRECOMPUTING” 中描述的方法可以被使用以建立简化计分函数。在一些实施方式中,简化计分函数包含来自最终分级算法的分级特征的子集。多个不同的方法可以被文件删减组件318使用以删减该初始的文件集合。在一些实施方式中,文件删减组件318可以保留初始的文件集合中的预定匹配的数量,而移除其它文件不再考虑(即顶部N个匹配)。例如,文件删减组件318可以保留具有最高初步分数的一千个文件。文件删减组件318保留的匹配的数量可以基于用于生成初步分数的简化计分函数的保真置信度。该保真置信度表示简化计分函数提供与将由完整分级算法提供的文件集合相匹配的文件集合的能力。例如,可从简化计分函数取得平均1200个文件以得到将由最终分级算法提供的顶部1000个文件。在其它实施方式中,代替保留预定数量的文件,文件删减组件318可以保留具有在特定阈值之上的初步分数的文件。在一些实施方式中,文件匹配组件316和文件删减组件318可以被紧密耦合,这样文件匹配和删减被合并在单个处理中以便多次重复。例如,初步分数可以被计算,因为匹配文件被识别并用于移除将很可能被完整分级算法丢弃的文件。在一些实施方式中,使用分层的标记列表的搜索索引(诸如在美国专利申请号(尚未分配)(代理案号 MFCP. 157121),名称为“TIERING OF POSTING LISTS IN SEARCH ENGINEINDEX”中所描述的)可以被使用以便于这种匹配/删减处理。每个标记列表将与给定的原子相关联并且将包括基于预先计算的分数(该分数被分配给文件,表示给定原子对于每个文件的上下文的相关性)而排序的层。在每个层中,标记(posting)可以按文件内部地排序。使用这种搜索索引,文件匹配组件314将使用第一层(具有最高的预先计算的分数)取得初始的文件集合并使用简化计分函数删减初始的文件集合。如果提供了足够数量的文件,匹 配/删减处理可以结束。可替换地,如果没有提供足够数量的文件,匹配和删减可以在较低水平层重复地执行,直到保留了足够数量的文件。由文件匹配组件316和文件删减组件318提供的匹配和删减处理所保留的文件集合由最终文件分级组件320估计以提供最终的分级文件集合。最终文件分级组件320使用完整分级算法,该算法可以对原始的搜索查询和由匹配和删减处理保留的文件集合操作。完整分级算法使用比删减处理期间用的简化计分函数所使用的更多的分级特征和更多的来自文件的数据。这样,完整分级算法是更昂贵的运算,其需要更多处理并占用较长的时间来计算。然而,因为候选文件的集合已经被删减,完整分级算法在较小的文件集合上执行。最终文件分级组件320提供最终的分级文件集合,其被指示给用户接口组件312。用户接口组件312然后将包括最终的分级文件集合的至少一部分的搜索结果传递给用户设备302。例如,用户接口组件312可以基于最终的分级文件集合生成或以其它方式提供列出搜索结果的搜索引擎结果页面(SERP)。接下来转向图4,提供了示出根据本发明实施方式的、用于使用分阶段的处理以返回搜索查询的搜索结果的整个方法400的流程图。分阶段的处理开始于预先计算/标引阶段,如在框402处所示。这个阶段是离线阶段,即,其与任何接收到的搜索查询相分离地执行。在预先计算/标引阶段402中,文件被爬取,并且关于该文件的数据被标引在搜索索引中。根据一个实施方式在预先计算/标引阶段402期间标引文件数据的处理在下面参照图5被进一步详细讨论。在预先计算/标引阶段402之后,在图4中示出的阶段包括在线阶段,在该阶段中接收搜索查询并响应地返回搜索结果。在线阶段的第一阶段是匹配阶段,如在框404处所示的。在匹配阶段404期间,搜索查询被接收到并被改写,该改写的查询被用于从搜索索引中识别匹配文件。根据一个实施方式在匹配阶段404期间用于识别匹配文件的处理在下面参照图6被进一步详细讨论。在匹配之后的下一阶段是删减阶段,如在框406处示出的。删减阶段406从匹配阶段404取得初始的文件集合,并使用简化计分函数为每个文件确定初步分数。基于该初步分数,从初始的文件集合中删减文件。根据一个实施方式从初始的匹配文件集合中删减文件的处理在下面参照图7被进一步详细讨论。在一些实施方式中,匹配阶段404和删减阶段406可以交替进行。特别地,当匹配文件被识别时可以执行删减以较早地丢弃其中初步分数指示文件将很可能被最终分级算法丢弃的候选不再进一步的考虑。在匹配阶段404和删减阶段406之后保留的候选文件集合在最终分级阶段期间被进一步估计,如框408处示出。在最终分级阶段408期间,使用完整分级算法以确定所保留的文件的最终分数。在一些实施方式中,完整分级算法可以在原始的搜索查询和保留的每个文件的数据上执行。完整分级算法可以使用多个不同分级特征以确定最终的分级文件集合。响应于搜索查询,基于最终的分级文件集合提供搜索结果,如在框410处所示。现在转向图5,提供了图示根据本发明实施方式的、用于预先计算文件/原子对的分数并标引数据的方法500的流程图。初始地,如在框502处所示,访问一个文件。例如, 爬取器可以被使用以爬取文件并取得文件数据。在框504处,该文件被处理。该文件被处理以识别文件中包含的原子。如上面提到的,该处理包括分析文件的文本以识别词语、n元模型和n元组,并确定对于该文件这些原子中的哪些应当被标引。关于查询分布、词语分布的统计和/或将在漏斗处理期间使用的简化计分函数可以被用于统计地选择最好的原子集合以表示该文件。如在框506处所示,对于文件中识别出的每个原子生成一个分数。该分数表示在文件的上下文中该原子的重要性。可以使用任何数量的算法以计算在文件中发现的原子的分数。仅通过示例,分数可以基于本领域已知的词频逆向文件频率(TF/IDF)函数。例如,可以使用BM25F分级函数。如在框508处所示,在搜索索引中标引数据。这可以包括存储关于在文件中发现的原子的信息和每个文件/原子对的分数。这些分数包括预先计算的分数,其可以在漏斗处理期间被使用。在一些实施方式中,为每个原子创建标记列表。每个标记列表可以包括包含该原子的文件列表以及预先计算的每个文件/原子对的分数的指示。接下来参照图6,提供了示出根据本发明实施方式的、用于在匹配阶段期间取得初始的匹配文件集合的方法600的流程图。如在框602处所示,初始地接收到搜索查询。该搜索查询可以包含由使用用户设备的用户输入的一个或多个搜索词语。如在框604处所示,该接收到的搜索查询被改写。特别地,搜索查询的词语被分析以识别可以被用于查询搜索索引的一个或多个原子。该分析可以类似于在标引文件数据时用于识别文件中原子的分析。例如,词语和搜索查询的统计可以被用于识别搜索查询中的原子。该改写后的查询可以包括原子的连接词集合以及它们的级联变量(cascadingvariant)。如在框606处所示,该改写后的查询被用于根据搜索索引识别匹配文件的集合。特别地,根据原始查询识别出的原子被用于查询搜索索引并识别匹配文件。如上面所指示的,搜索索引可以包括在标引的文件中识别的各种原子的标记列表。相应于由改写后的查询识别出的原子的标记列表可以被识别出并被用于识别匹配文件。例如,根据改写后的查询的多个原子的标记列表的交集可以提供初始的匹配文件集合。转向图7,提供了图示根据本发明实施方式的、用于在删减阶段期间从初始的匹配文件集合中删减文件的方法700的流程图。如在框702处所示,使用存储在搜索索引中的预先计算的分数为每个文件计算初步分数。这可以包括取得文件的每个原子的预先计算的分数,并在简化计分函数中使用该预先计算的分数以生成文件的初步分数。该简化计分函数可以按这样一种方式建立其提供由完整分级算法提供的最终分数的估计。例如,该简化计分函数可以包括由完整分级算法使用的特征的子集。在一些实施方式中,使用诸如美国专利申请号(尚未分配)(代理案号MFCP. 157122),名称为“DECOMPOSABLE RANKING FOREFFICIENT PRECOMPUTING”所描述的处理来定义简化计分函数。如在框704处所示,基于初步分数从初始的匹配文件集合中删减文件。在一些实施方式中,顶部N个文件被保留,即,具有最高初步分数的N个文件被保留以进一步处理。保留的文件的数量可以基于被用来计算初步分数的简化计分函数的保真度。该简化计分函数的保真度表示简化计分函数提供类似于由最终分级算法提供的那些分级的文件集合的能力。如果已知在包括简化计分函数中的误差的最终分级算法和简化计分函数之间的关联性,该知识可以被用于确定从删减阶段中保留的文件的数量。例如,如果期望提供1000个搜索结果并且已知在所有查询上平均地来自简化计分函数的顶部1200个文件将包括来自最终分级算法的顶部1000个文件,则顶部1200个文件将从删减阶段中被保留。 在本发明的一些实施方式中,漏斗处理可以使用包括反向索引和正向索引的搜索索引。该反向索引按照原子排序。这将便于在漏斗处理的匹配和删减阶段期间快速地取得数据。特别地,当接收到搜索查询并从搜索查询中识别出原子时,在相应于从搜索查询中识别出的原子的反向索引中的标记列表可以被快速地访问并用于识别匹配文件,以及取得由简化计分函数使用的预先计算的分数。正向索引按照文件排序。这将便于漏斗处理的最终分级阶段。特别地,删减的文件集合将作为匹配和删减阶段的结果被提供。该删减的文件集合将是相对小的。这样,正向索引存储文件数据,该文件数据是针对删减的文件集合中的文件取得的并由最终分级算法使用以提供最终的分级文件集合。在一些实施方式中,正向索引可以按照美国专利申请号(尚未分配)(代理案号MFCP. 157165),名称为“EFFICIENTFORWARD RANKING IN A SEARCH ENGINE”中所描述的那样被构造。附加地,在一些实施方式中,混合分布模型可以被用于反向和正向索引,诸如在美国专利申请号(尚未分配)(代理案号 MFCP. 157166),名称为 “HYBRID DISTRIBUTION MODEL FOR SEARCH ENGINE INDEXES”(其全部内容通过引用被结合于此)中所描述的那样。现在转向图8,图示了可以使用本发明实施方式的示例性系统。尽管本发明的一些实施方式(如此处讨论的)是针对在多个阶段中估计并删减文件候选的漏斗处理,但其它实施方式是针对识别文件中最有用和最相关的原子并在与特定文件相关的搜索索引中标引那些原子。原子可以采取多种形式,包括词语或一元模型、n元模型或n元组。此处尽管只有单个词语被通常地标引,如将在下面讨论的,一些类型的原子具有多个词语,这样,词语的组合可以被共同地标引。如此处使用的,按照由所使用的分词器技术所定义的,一元模型映射到单个符号或字(word)。这样,一元模型可以是文件中发现的单字。n元模型是从文件中提取到的“n”个连续或几乎连续的词语序列。n元模型可以是紧的或者松的。如果它相应于一连串连续的词语,则n元模型被称为是紧的。松的n元模型按照词语出现在文件中的顺序包含它们,但是词语不是必须连续的。松的n元模型通常被用于表示由无足轻重的字(word)加以区分的一类等同的短语(例如“如果下雨我将被淋湿”相比于“如果下雨则我将被淋湿”)。例如二元模型是具有“n”等于2的两个字。类似地,三元模型是具有“n”等于3的三个字。n元组,如此处使用的,是在文件中共现的“n”个词语的集合,其顺序是独立的。在文件中识别的原子被标引到一个或多个搜索索引中。在一个实施方式中,对于一元模型、n元模型和n元组有各自的索引。回到图8,应当理解此处描述的这种和其它布置仅是作为例子被提出。其它布置和元素(例如机器、接口、功能、次序和功能组合等)能够除示出的那些之外被使用或代替示出的那些来使用,并且一些元素可以被完全忽略。进一步地,此处描述的许多元素是功能实体,其可以实现为分立的或分布式的组件或者与其它组件相结合,并且处于任何合适的组合和位置。此处描述的由一个或多个实体执行的多种功能可以由硬件、固件和/或软件执行。例如,多种功能可以由执行存储器中存储的指令的处理器执行。在未示出的其它组件之中,系统800可以包括用户设备802、索引服务器804、搜索索引生成器808和搜索索引818。图8中示出的每个组件可以是任意类型的计算设备,例如,诸如参照图I描述的计算设备100。组件可以经由网络806彼此通信,网络806可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。这种联网环境在办公室、企业域 计算机网络、内联网和互联网中是常见情形。应当理解在本发明的范围内,任何数量的用户设备、索引服务器、搜索索引生成器和搜索索引可以在系统800内被使用。每个可以包括单个设备或者在分布式环境中协作的多个设备。例如,索引服务器804可以包括布置在分布式环境中的多个设备,其共同地提供此处描述的索引服务器804的功能。同样地,如此处描述的,可以有多个搜索索引。这些可以被存储在搜索索引818中或者可以被存储在分离的位置。附加地,未示出的其它组件也可以被包括在系统800中。索引服务器804 —般地操作以从诸如用户设备802的用户设备接收搜索查询,并通过搜索一个或多个搜索索引提供响应于该搜索查询的搜索结果。搜索索引生成器808尤其包括原子识别组件810、信息度量计算组件812、原子删减组件814和搜索索引组件816。通常地,搜索索引生成器808负责生成或使用被确定对于将来的查询是最有用或最相关的原子/文件对填充现有搜索索引。原子识别组件810通常负责检查文件并从文件中提取独立的词语。附加地,原子识别组件810识别是n元模型和n元组的那些原子。例如,原子识别组件810通过确定各个词语相对于彼此的位置可能能够识别n元模型。如所提及的,包括n元组的词语是位置独立的,因此可以位于文件中任何位置。图9A,9B和9C的描述在下面进一步解释n元模型和n元组。信息度量计算组件812计算信息度量。文件中识别的原子可以基于信息度量被选择为与特定文件最相关或最有用的。通常,信息度量是原子相对于特定文件(其中原子从该特定文件中被识别或解析出)的分级。信息度量估计在解析一般的查询中原子的有用性。在一个实施方式中,信息度量计算组件812利用一种算法计算每个原子/文件对的信息度量。多种因素可以与该算法相结合地被使用以计算信息度量。仅为了示例的目的,这些因素可以包括信息分数、文件中原子的频率、如果原子是n元模型或n元组的字的分离、原子中的词语单独出现的次数以及词语一起出现的次数、以及原子或包括该原子的词语在查询日志中是否出现。该最后一个因素证明原子的词语以某种方式关联,以及该词语先前已经被搜索过。至于词语在文件中出现的次数,如果原子中每个字出现多次,但是在距离上不是彼此接近的,这可能意味着这些字仅是碰巧位于同一个文件中而没有更深的含义。如果比起偶然情况下所预料的距离,这些字彼此更加接近地出现,则变得更具有意义。
原子删减组件814负责删减针对每个文件的原子/文件对的数量,这样对于特定文件不太可能是相关或重要的那些原子不会被标引,由此不会占用过多存储空间。对于具有400个不同的字并因此在搜索索引中有400个条目的文件,如果在这个文件中二元模型也被识别出,则对于这个单个的文件将有80000对字。如果三元模型和n元组也被标引出,则这个数量会增长得更大。不但原子/文件对的数量愈加巨大,而且每个词语的位置也可被存储在搜索索引中,这与原子/文件对自身一样占用存储空间。如所提及的,基于许多因素,其中一些在上面被列出,算法计算信息度量,其稍后被用于确定特定原子/文件对是否将被标引。这种确定是基于阈值。该阈值在一个实施方式中是通过检查先前的运行而设置,诸如从前一天,还根据初始的测试。有许多种计算阈值的方式,上述方式仅是为了示例的目的而提供。阈值因此通常是预定的值。这样,基于阈值,原子删减组件814检查每个原子/文件对的信息度量并作出关于每个对应当被标引或丢弃的决定。一旦原子删减组件814已经删减了原子/文件对的数量,如上面所描述的,搜索索引组件816可以生成搜索索引或者增加条目至现有的搜索索引。在一个例 子中,搜索索引可以在上面描述的处理期间被生成,在搜索索引中的那些条目可以被并入已有的搜索索弓丨,诸如主索引。在一个实施方式中搜索索引818存储多个搜索索引。同样地,如在前提及的,对于各种类型的原子可以有单独的搜索索引,包括一元模型索引、n元模型索引、n元组索引。一元模型索引是从给定词语至文件识别/分级记录的列表的映射。在一个实施方式中,删减处理不被应用于一元模型,由于一元模型的数量通常是可管理的,因此可以不需要被删减,或者至少不需要如n元模型和n元组删减那么多。n元模型索引包括通过滑动窗算法对于给定的“n”在文件中识别的n元模型。例如,对于词语流tlt2t3t4t5,此处n=2,则n元模型原子包括(tlt2)、(t2t3)、(t3t4)和(t4t5)。因此,从n=2的五个字的一串中,有四个原子产生。这些原子以(docID,分级)记录被标引并存储,此处该“分级”是文件中两个连续词语的分级的近似。在一些实施方式中,分级或信息度量不被存储在索引中,而是代替地仅被用于确定哪些原子被标引和哪些被丢弃。n元组索引类似于此处描述的n元模型索引,除了存在指数级多的n元组从文件中被识别出,由于n元组的词语的位置可以被认为是不相关的。这样,n元组通常比n元模型和一元模型被删减的更多。进一步地,在一些情况中,n元模型和n元组可以被复制,因此该副本在删减处理期间被丢弃。一旦被识别并标引,在一个实施方式中,原子(一元模型、n元模型、n元组)使用优先级哈希索引被存储在词典中,诸如在美国专利申请号12/980582 (代理案号MFCP. 157119),名称为“PRIORITY HASH INDEX”(其全部内容通过引用被结合于此)所描述的。图9A、9B和9C根据本发明实施方式分别图示了一元模型搜索索引、n元模型搜索索引和n元组搜索索引中条目的例子。图9A、9B和9C的实施方式使用“Holistic Approachin Southern Sweden”的采样词语串。图9A图示了从该词语串中识别的一元模型900。如所示,有5个识别的一元模型,每个由单个词语组成。图9B图示了从该采样词语串中识别的n元模型910。由于n元模型是彼此接近或相邻的,识别出7个n元模型,这是比识别出的一元模型更高的数量。图9C图示了从该采样词语串中识别的n元组920。如所示,比起一元模型或n元模型,非常多的n元组被识别出,由于n元组可以是成对或以其它方式匹配在一起,即使在文件中它们不是彼此相邻或接近。从由5个词语组成的采样词语串识别出13个n元组。图9A、9B和9C被示出以图示n元组的数量通常如何远大于一元模型或n元模型的数量。参照图10,根据本发明的实施方式的方法1000的流程图被示出,方法1000用于使用在多个文件中识别出的原子填充一个或多个搜索索引。初始地,在步骤1010识别将在搜索索引中被标引的文件集合。文件被一般地标引,这样当接收到搜索查询时,通过访问搜索索引,最相关的文件能够容易地为用户找到。在步骤1012,在每个文件中识别出原子。如所提及的,原子可以是一元模型、n元模型 或n元组的一个或多个。一元模型通常是单个符号或词语,而当“n”大于一时,n元模型是多个词语或符号,其在文件中彼此相邻或接近地设置。例如,n元模型可以是从特定文件中提取出来的连续或几乎连续的词语序列,此处“n”是连续或几乎连续的词语的数量。N元组是共现在相同的文件中、但不是必须彼此相邻或接近地位于文件中的多个词语或符号。在一个例子中,包含n元组的这些词语可以完全不是彼此接近的,诸如在文件的不同部分。此外,n元组是次序无关的。在步骤1014,生成原子/文件对的列表。原子/文件对是在文件中识别的原子和对应于从中识别该原子的文件的文件标识。在步骤1016针对每个原子/文件对计算信息度量。信息度量表示与特定文件相关的原子的分级,诸如在解析搜索查询中原子相对于文件有多么相关。在一个实施方式中,机器学习工具被用于为每个原子计算信息度量,除此以外还选择最相关的原子/文件对,其是基于信息度量和其它因素被确定为与从中识别出原子的文件最相关。信息度量的计算可以使用利用多种因素的算法。仅为了示例的目的,这些因素可以包括在任意语料库中的字的信息分数、文件中包含原子的一个或多个字的频率、字的间隔、一个或多个字独立地出现多少次和它们共同出现多少次、以及原子是否出现在查询日志中以及以什么频率出现。存在其它因素可以被使用并预期处于本发明的范围内。在步骤1018处选择原子/文件对的子集作为与特定文件最相关的。在步骤1018处的这种选择是基于为原子/文件对计算的信息度量。通常地,阈值被确定,这样在阈值之上的那些信息度量被认为是相关的,在之下的那些不被认为是相关的或者至少不是那么相关。在一个实施方式中,选择原子/文件对的子集包括使用删减算法以删减或限制原子/文件对的数量至较小的数量,这样比其它更相关的原子/文件对较不相关的原子/文件对被丢弃,并因此不被标引。在步骤1020,使用特定文件的原子/文件对的子集填充搜索索弓I。如所提及的,所有原子/文件对可以被初始地标引在分离的索引中,然后只有作为最相关的被选择的那些被填充或标引到主搜索索引中。附加地,如所提及的,可以存在多于一个的搜索索引,因此在一个实施方式中,一元模型被标引在一元模型索引中,n元模型被标引在n元模型索引中,n元组被标引在n元组索引中。在一个实施方式中,接收到搜索查询。搜索查询可以被改写为一元模型、n元模型、n元组或其组合中的至少一个。原子已经被标引在其中的搜索索引被访问以确定对于改写后的搜索查询最相关的文件。图11是流程图,其示出根据本发明的实施方式的方法1100,用于使用在多个文件中识别出的原子填充一个或多个搜索索引。初始地在步骤1110,原子从第一文件中被识别出。这些原子中的每一个在步骤1112被分类为一元模型、n元模型、n元组或其组合。在步骤1114,为识别的原子的每个计算信息度量。如所提及的,信息度量表示原子/文档对的分级,因为其在解析一般的查询中是有用的。在计算信息度量中使用的因素包括但不限于在第一文件中原子的频率、第一文件中原子的两个或多个词语的位置的接近度、原子的词语的关联性、以及如通过检查查询日志所证明的原子的词语是否先前已经被链接在一起。在步骤1116,确定每个原子的信息度量是否符合预定的阈值。符合阈值的原子是被认为或知道关于第一文件是最相关的那些。在一个实施方式中,阈值可以是任意的,或者在另一实施方式中可以纯粹基于诸如多少原子被标引的数量。在又另一个实施方式中,阈值是基于在前的尝试,该尝试关于被发现与特定文件相关的原子而执行。在步骤1118,不符合预定阈值的原子被丢弃。符合阈值的原子被并入至一个或多个搜索索引中,在步骤1120示出。在一个实施方式中,该一个或多个搜索索引包括一元模型索引、n元模型索引和n元组索引。在一个实施方式中,如先前提及的,在被标引的文件中识别的全部一元模型可以被并入搜索索引中并因此不被删减。附加地,在一个实施方式中相同的处理对于n元组是合适的。可替换地,n元模型可以被删减至特定程度但不像n元组那么多。这样,比n元模型和一元模型更大百分比的n元组可被丢弃。另外,一些n元组也可被识别为n元模型,因此在删减处理期间副本可以被丢弃。图11的另一个实施方式包含来自第二文件的原子的标识。这些原子的每个被分类为一元模型、n元模型、n元组或其组合。对于与第二文件相关的每个原子计算信息度量。一些原子可以与从第一文件中识别出来的那些相同或类似,但是基于从中识别出原子的不同文件,可以具有不同的信息度量。从而确定针对每个原子的信息度量是否符合预定的阈值。符合的那些被认为关于第二文件是最相关的。不符合阈值的那些被丢弃。符合阈值的那些原子被并入至搜索索引中。图12是流程图,其示出根据本发明的实施方式的方法1200,该方法用于使用在多个文件中识别出的原子填充一个或多个搜索索引。在步骤1210处,原子从文件中被提取出。原子可以被分类为一元模型、n元模型或n元组。对于每个原子,在步骤1212处计算信息度量。信息度量表示关于文件的特定原子的分级。此外,信息度量的计算可以基于例如在文件中原子的频率、文件中原子的词语的接近度、原子的词语的相关性、以及如通过检查查询日志所证明的原子的词语是否已经先前被链接在一起。其它因素也可以被使用并预期处于本发明的范围内。在步骤1214,确定信息度量阈值,这样信息度量符合或超过信息度量阈值的那些原子/文件对被标引。在步骤1216,基于信息度量,一部分原子/文件对被丢弃,诸如如果该信息度量不符合阈值。在步骤1218使用信息度量符合或超过信息度量阈值的原子/文件对填充一个或多个搜索索引。在一个实施方式中,一元模型、n元模型和n元组分别被标弓I。在步骤1220,搜索索引被访问以识别与接收到的搜索查询中的原子相关的文件。如能够被理解的,本发明的实施方式提供针对每个原子/文件对的信息度量的计算,并使用信息度量以确定哪些原子/文件对被标引和哪些被丢弃。本发明已经关于特定实施方式被描述,其在所有方面都意图是示意性而非限制性。可替换的实施方式对于本发明所属领域的技术人员将变得明显,而不脱离其范围。从前述内容,将看到该发明很好地适于达到上面提出的所有目的和目标(与对于系统和方法是明显的和固有的其它优势一起)。将理解特定特征和子组合是实用的并且可以被使用,无需参考其它特征和子组合。这都由权利要求的范围来预期并包括在其中。权利要求
1.一种用于使用在多个文件中识别的原子填充ー个或多个搜索索引的方法,该方法包括 识别(1010)将在搜索索引中被标引的文件的集合; 对于文件集合的每个文件,识别(1012)多个原子,该多个原子包含ー个或多个一元模型,ー个或多个η元模型,和ー个或多个η元组; 基于所识别的文件集合和该多个原子,生成(1014)原子/文件对的列表; 为每个原子/文件对计算(1016)信息度量,其中该信息度量表示与特定文件相关的原子的分级; 基于每个原子/文件对的信息度量,选择(1018)与从中识别出原子的特定文件最相关的原子/文件对的子集;以及 使用针对特定文件的原子/文件对的子集填充(1020)捜索索引。
2.权利要求I的方法,其中搜索索引包括一个或多个搜索索引,其中一个或多个搜索索引包括一元模型索引、η元模型索引和η元组索引。
3.权利要求I的方法,其中选择与特定文件最相关的原子/文件对的子集进ー步包括利用删减算法将原子/文件对的数量删减至较小的数量,这样比起其它原子/文件对较不相关的原子/文件对不被标引。
4.权利要求I的方法,其中机器学习工具被用来针对原子/文件对计算信息度量并选择与从中识别出原子的特定文件最相关的原子/文件对的子集。
5.权利要求I的方法,进ー步包括 接收搜索查询; 将该搜索查询改写为ー个或多个一元模型、ー个或多个η元模型或者ー个或多个η元组中的至少一个;以及 使用该改写的搜索查询,访问搜索索引以确定对于搜索查询最相关的文件。
6.ー种使用在多个文件中识别出的原子填充ー个或多个搜索索引的方法(1100),该方法包括 从将被标引的多个文件的第一文件中识别(1110)多个原子; 将多个原子的每个原子分类(1112)为一元模型、η元模型或η元组的ー个或多个; 针对多个原子的每个原子计算(1114)与第一文件相关的信息度量; 确定(1116)多个原子的每个原子的信息度量是否符合预定的阈值,其中符合预定阈值的原子是对于第一文件最相关的那些; 丢弃(1118)不符合预定阈值的原子; 将对于第一文件符合预定阈值的原子并入(1120)至一个或多个搜索索引中。
7.权利要求6的方法,其中在第一文件中识别的第一原子的信息度量表示第一原子的分级,其关于对于第一文件在解析具有第一原子的搜索查询中该第一原子多么有用。
8.权利要求6的方法,其中对于多个原子的每个原子的信息度量的计算是基于以下内容的ー个或多个在第一文件中原子的频率、在第一文件中的原子的两个或多个词语的接近度、原子的两个或多个词语的相关性、或者如通过检查查询日志所证明的原子的两个或多个词语是否先前已经被链接在一起。
9.权利要求9的方法,进ー步包括从第二文件中识别多个原子; 将多个原子的每个原子分类为一元模型、η元模型或η元组中的ー个或多个; 针对多个原子的每个原子计算关于第二文件的信息度量; 确定多个原子的每个原子的信息度量是否符合预定阈值,其中符合预定阈值的原子是对于第二文件最相关的那些; 丢弃不符合预定阈值的原子;以及 将对于第二文件符合预定阈值的原子并入至一个或多个搜索索引中。
10.一种用于使用在多个文件中识别的原子填充ー个或多个搜索索引的方法(1200),该方法包括 从文件中提取(1210)多个原子,该多个原子包括ー个或多个一元模型、ー个或多个η元模型以及ー个或多个η元组; 对于多个原子的每个原子,计算(1212)表示与文件相关的特定原子的分级的信息度量,其中信息度量的计算是基于以下内容的ー个或多个在文件中原子的频率、在文件中的原子的两个或多个词语的接近度、原子的两个或多个词语的相关性、或者如通过检查查询日志所证明的原子的两个或多个词语是否先前已经被链接在一起; 确定(1214)信息度量阈值,其中信息度量符合或超过该信息度量阈值的原子/文件对被标引; 基于信息度量丢弃(1216)—部分原子/文件对,其中相应于被丢弃的原子/文件对的信息度量低于该信息度量阈值; 通过标引信息度量符合或超过该信息度量阈值的原子/文件对,填充(1218)所述ー个或多个搜索索引,其中一元模型、η元模型和η元组被分别标引;以及 访问(1220)所述ー个或多个搜索索引以识别查询中针对原子的相关文件。
11.一个或多个计算机存储介质,其存储有计算机可使用的指令,当由计算设备使用时,其使得计算设备执行如权利要求I 一 10中任ー项的方法。
全文摘要
提供了一种使用在文件中识别的原子来填充搜索索引的方法。识别将被标引的文件,对于每个文件,识别原子并将其分类为一元模型、n元模型和n元组。生成原子/文件对的列表,这样对于每个对能够计算信息度量。信息度量表示与特定文件相关的原子的分级。基于该信息度量,一些原子/文件对被丢弃,其它的被标引。
文档编号G06F17/30GK102682073SQ20121006093
公开日2012年9月19日 申请日期2012年3月9日 优先权日2011年3月10日
发明者J.G.班尼特, K.M.里斯维克, K.卡亚纳拉曼, M.霍普克罗夫特, T.基林比 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1