CN102567461B - 用于大文档索引的匹配漏斗 - Google Patents

用于大文档索引的匹配漏斗 Download PDF

Info

Publication number
CN102567461B
CN102567461B CN201110373395.6A CN201110373395A CN102567461B CN 102567461 B CN102567461 B CN 102567461B CN 201110373395 A CN201110373395 A CN 201110373395A CN 102567461 B CN102567461 B CN 102567461B
Authority
CN
China
Prior art keywords
document
former
justice
search
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110373395.6A
Other languages
English (en)
Other versions
CN102567461A (zh
Inventor
K.M.里斯维克
M.霍普克洛夫特
J.G.贝内特
K.卡尔亚纳拉曼
T.基林比
C.P.沃特斯
J.O.彼得森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102567461A publication Critical patent/CN102567461A/zh
Application granted granted Critical
Publication of CN102567461B publication Critical patent/CN102567461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results

Abstract

提供了一种用于大文档索引的匹配漏斗。通过以多个阶段评估和修剪候选文档来响应于搜索查询识别并返回搜索结果。该过程采用对文档中发现的义原和文档/义原对的预先计算的评分编索引的搜索索引。当接收到搜索查询时,从搜索查询识别义原且基于所识别的义原生成重新阐述的查询。重新阐述的查询用于识别匹配文档,且使用简化评分函数和搜索索引中预先计算的评分来生成匹配文档的初步评分。基于初步评分来修剪文档,且使用最终排序算法来评估其余文档,最终排序算法提供排序文档的最终集合,其用于响应于搜索查询生成搜索结果以返回。

Description

用于大文档索引的匹配漏斗
背景技术
因特网上可用的信息和内容量继续迅速增长。考虑到大量信息,已开发搜索引擎来便于搜索电子文档。特别地,用户可通过输入包括用户可能感兴趣的一个或多个措词的搜索查询而搜索信息和文档。在从用户接收搜索查询之后,搜索引擎基于该搜索查询来识别文档和/或网页。由于其效用,网络搜索,即找到针对用户发布的搜索查询的相关网页和文档的过程,可以说现在已经变成了因特网上最流行的服务。
搜索引擎通过爬取(crawl)文档和在搜索索引中对关于文档的信息编索引来操作。当接收到搜索查询时,搜索引擎采用搜索索引来识别与搜索查询相关的文档。以此方式使用搜索索引允许快速地检索针对查询的信息。在无搜索索引的情况下,搜索索引将需要搜索文档的文集以寻找相关结果,这将花费不可接受量的时间。
随着因特网继续发展,可爬取且在搜索索引中编索引的可搜索文档的数量变得极大。因此,搜索引擎对关于所有网络文档的信息编索引是不可行的。举例而言,将需要过量硬件存储。此外,从极大索引检索结果所需的处理时间将是不可接受的。尽管如此,搜索引擎力图对尽可能多的文档编索引以提供任何查询的搜索结果,同时节省成本且能在终端用户可接受的时间量内提供相关结果。
发明内容
提供此发明内容以便以简化形式引入概念的选择,这些概念将在具体实施方式中详述。此发明内容不预期标识要保护的主题的关键特征或基本特征,也不预期用作确定所保护的主题范围的辅助。
本发明的实施例涉及一种通过在各个阶段评估和修剪(prune)候选文档来响应于搜索查询提供搜索结果的分阶段过程。最初,可通过识别文档中的义原(atom)和预先计算文档/义原对的评分来生成搜索索引。当接收到搜索查询时,可通过识别搜索查询中的义原和基于所识别的义原生成重新阐述的查询而重新阐述该搜索查询。搜索索引可使用重新阐述的查询来查询以识别匹配的文档。可使用简化的评分函数和存储于索引中的预先计算的评分来生成匹配文档的初步评分。可基于初步评分来保留文档的修剪集合。在修剪集合中的文档然后可使用全排序算法来评估以生成排序文档集合,其用于生成响应于搜索查询而返回的搜索结果。
附图说明
将参看附图在下文中详细地描述本发明,在附图中:
图1是适用于实施本发明的实施例的示例性计算环境的方块图;
图2是示出根据本发明实施例的用于检索排序文档集合以减少文档候选者的智能漏斗(funnel)的示意图;
图3是其中可采用本发明的实施例的示例性系统的方块图;
图4是示出根据本发明实施例响应于搜索查询返回搜索结果的分阶段过程的方法的流程图;
图5是示出根据本发明实施例的用于在预先计算/编索引阶段期间生成搜索索引的方法的流程图;
图6是示出根据本发明实施例的用于在匹配时期识别匹配文档的初始集合的方法的流程图;以及
图7是根据本发明实施例的用于在修剪时期从匹配文档的初始集合修剪文档的方法的流程图。
具体实施方式
在本文中具体地描述了本发明的主题以满足法定要求。但是,描述本身不预期限制本专利的范围。而是,本发明人设想到所要求保护的主题也可以以其它方式实施,以结合其它目前或未来的技术包括不同步骤或类似于本文中所述步骤的步骤的组合。此外,尽管可在本文中使用措词“步骤”和/或“方块”来意味着所采用方法的不同要素,但措词不应理解为暗示本文所公开的各种步骤之间的任何特定次序,除非且除了当明确地描述了各个步骤的次序时。
本发明的实施例提供编索引和搜索过程,其允许以节省成本的方式对大量文档编索引和搜索且其满足严格的延迟约束。根据本发明的实施例,采用以多个阶段评估和修剪掉文档候选者的过程。在概念上,该过程看起来类似漏斗,因为经过这些阶段,随着分析变得更复杂,评估且修剪掉文档候选者。随着过程继续经过这些阶段,应用花费更多的计算且候选文档的数量减少多个数量级。在这些阶段中的每个阶段应用不同策略来允许快速且高效的方案来使得从大量文档返回搜索结果。此外,在每个阶段所用的策略可设计成补充在其它阶段所用的策略以使得该过程更高效。
由本发明的实施例所采用的搜索索引对来自文档的更高阶原词(primitive)或“义原”编索引,而不是对单个措词简单地编索引。如本文中所用的,“义原”可指查询或文档的多种单位。这些单位可包括例如措词、n元语法(n-gram)、n元组(n-tuple)、k近n元组(k-near n-tuple)等。措词向下映射到由所用的特定分解器(tokenizer)技术所定义的单个符号或词语。在一个实施例中,措词为单个字符。在另一个实施例中,措词为单个词语或词组。n元语法(n-gram)为可从文档提取的“n”个连续或几乎连续的措词的序列。如果n元语法对应于一连串连续措词,则n元语法被说成是“紧的”,且如果n元语法所包含的措词处于它们在文中出现的次序但这些措词未必连续,那么n元语法被说成是“松的”。松的n元语法通常用于表示非关键词不同的一类等效短语(例如,“if it rains I’ll get wet”和“if it rains then I’ll get wet”)。如本文所用的n元组为在文档中共同出现(与次序无关)的“n”个措词的集合。另外,如本文所用的k近n元组是指在文档中在“k”个措词的窗内共同出现的“n”个措词的集合。因此,义原大体上被定义为所有上面这些的概括。本发明实施例的实施方式可使用不同的各种义原,但如本文所用的,义原大体上描述了上述种类中的每个种类。
当构建搜索索引时,分析每个文档以识别文档中的义原且对于每个义原生成表示义原对于文档上下文的重要性或相关性的预先计算的评分或排序。搜索索引存储针对文档/义原对生成的预先计算的评分的信息,这些信息在漏斗过程中使用。
图2示出根据本发明的一个实施例的漏斗过程的多个阶段。在接收搜索查询之后执行图2中所示的过程阶段,这些阶段包括:L0,匹配阶段202;L1,临时排序阶段204;以及,L2最终排序阶段206。如在图2中所表示,随着过程进展,候选文档的数量减少。
在接收到搜索查询时,分析搜索查询以识别义原。在L0匹配阶段202期间使用义原来查询搜索索引,且所述义原标识包含来自搜索查询的义原的匹配文档的初始集合。如图2中所示的那样,这可将候选文档数量从搜索索引中编索引的所有文档减少到匹配来自搜索查询的义原的那些文档。
在L1临时排序阶段204,使用简化评分函数来计算从L0匹配阶段202保留的候选文档的初步评分。简化的评分函数尤其对存储于文档/义原对的搜索索引中预先计算的评分进行运算。在某些实施例中,简化的评分函数可用作将最终用于排序文档的最终排序算法的近似。但是,简化的评分函数提供没有最终排序算法那么昂贵的运算,这允许快速处理更大量的候选文档。基于初步评分来修剪候选文档。举例而言,可仅保留具有最高初步评分的顶部N个文档。
在L2最终排序阶段206中,使用最终排序算法来评估从L1临时排序阶段204保留的候选文档。当与在L1临时排序阶段204中所用的简化评分函数相比较时,最终排序算法是花费更多的运算,具有更大量的排序特征。但是,最终排序算法应用于少很多的候选文档。最终排序算法提供排序文档的集合且基于排序文档集合响应于原始搜索查询提供搜索结果。
因此,在一个方面,本发明的实施例针对于一个或多个计算机存储介质,其存储计算机可用指令,计算机可用指令当由计算设备使用时使计算设备执行方法。该方法包括:接收搜索查询且重新阐述搜索查询以识别一个或多个义原。该方法还包括基于一个或多个义原来从搜索索引识别文档的初始集合。该方法还包括使用简化的评分函数和预先计算的评分计算文档的初始集合中每个文档的初步评分,所述预先计算的评分存储于一个或多个义原和文档的初始集合的文档/义原对的搜索索引中。该方法还包括基于初步评分从文档的初始集合选择文档的修剪集合。该方法还包括使用全排序算法来计算文档的修剪集合中每个文档的排序评分以提供排序的文档的集合。该方法还包括基于排序文档集合提供搜索结果以呈现给终端用户。
在本发明的另一个实施例中,一方面是针对于一种计算机化系统,其包括至少一个处理器和一个或多个计算机存储介质。该系统包括查询重新阐述组件,其分析所接收的搜索查询来基于包含于所接收的搜索查询中的措词识别一个或多个义原且生成重新阐述的查询。该系统还包括文档匹配组件,其使用重新阐述的查询来查询搜索索引以识别匹配文档的初始集合。该系统还包括文档修剪组件,其使用简化评分函数来计算来自匹配文档的初始集合的每个文档的初步评分且基于初步评分来识别文档的修剪集合。该系统还包括最终文档排序组件,其使用全排序算法来计算文档的修剪集合中每个文档的排序评分。
本发明的再一实施例针对于一种用于使用分阶段过程响应于搜索查询来提供搜索结果的方法。该方法包括:接收搜索查询且从搜索查询识别一个或多个义原。该方法还包括识别包含一个或多个义原的文档的初始集合;使用简化评分函数计算文档的初始集合中的每个文档的初步评分;以及基于初步评分来选择用于进一步处理的文档子集。该方法还包括使用最终排序算法来计算文档子集中每个文档的排序评分。该方法还包括基于排序评分来提供搜索结果集合。
描述了本发明的实施例的概述,在下文中描述了其中可实施本发明的实施例的示例性操作环境以便提供本发明的各个方面的一般背景。最初特别地参看图1,示出了用于实施本发明的实施例的示例性操作环境且其大体上标注为计算设备100。计算设备100只是合适计算环境的一个实例且不预期暗示对于本发明的使用或功能范围的任何限制。计算设备100也不应被解释为具有关于图示的任一组件或组件组合的任何依赖性或要求。
本发明可以在计算机代码或计算机可用指令的一般背景下描述,计算机代码或计算机可用指令包括计算机可执行指令,诸如程序模块,其由计算机或诸如个人数据助理或其它手持设备的其它机器来执行。一般而言,包括例程,程序,对象,组件,数据结构等的程序模块指执行特定任务或实施特定抽象数据类型的代码。本发明可以以多种系统配置来实践,包括手持设备,消费电子器件,通用计算机、更专业的计算设备等。本发明也可在分布式计算环境中实践,其中由通过通信网络链结的远程处理设备来执行任务。
参看图1,计算设备100包括总线110,其直接地或间接地耦合以下设备:存储器112,一个或多个处理器114,一个或多个呈现组件116,输入/输出(I/O)端口118,输入/输出组件120和说明性的电源122。总线110表示一个或多个总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,图1的各个方块以线示出,实际上描绘的各种组件并非如此清晰,且比喻性地,这些线将更准确地为灰色的且模糊的。举例而言,可考虑诸如显示设备的呈现组件为I/O组件。而且,处理器具有存储器。本发明者认识到,这是该技术的性质且重申图1的图解只是说明可结合本发明的一个或多个实施例使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间并无区别,因为这些全都预期处于图1的范围中且指“计算设备”。
计算设备100通常包括多种计算机可读介质。计算机可读介质可为能由计算设备100存取的任何可用介质且包括易失性和非易失性介质,可移动和不可移动的介质。举例而言但并无限制意义地,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息以任何方法或技术实施的易失性和非易失性、可移动和不可移动的介质。计算机存储介质包括(但不限于)RAM、ROM、EEPROM、闪存或其它存储技术;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中所示组件中的每一个可为任何类型的计算设备,诸如参考图1所述的计算设备100。组件可经由网络308彼此通信,网络308可包括(但不限于)一个或多个局域网(LAN)和/或广域网(WAN)。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网中是普遍的。应了解在本发明的范围内,任意数量的用户设备、内容服务器和搜索引擎服务器可用于该系统300内。每个可包括在分布式环境中合作的单个或多个设备。举例而言,搜索引擎服务器306可包括布置于分布式环境中的多个设备,其一起提供本文所述的搜索引擎服务器306的功能。此外,未图示的其它组件也可包括于该系统300内。
搜索引擎服务器306通常操作来从用户设备(诸如用户设备302)接收搜索查询,且响应于搜索查询提供搜索结果。搜索引擎服务器306尤其包括编索引组件310、用户接口组件312、查询改进组件314、文档匹配组件316、文档修剪组件318和最终文档排序组件320。
编索引组件310操作来对关于由诸如内容服务器304之类的内容服务器维持的文档的数据编索引。举例而言,爬取组件(未图示)可用于爬取内容服务器且存取关于由内容服务器维持的文档的信息。编索引组件310然后对关于搜索索引322中的爬取的文档的数据编索引。在实施例中,编索引组件310对文档中发现的义原和其中发现每个义原的文档的评分信息(该评分信息指示义原在该文档的上下文中的重要性)编索引。任意数量的算法可用于计算文档中发现的义原的评分。仅举例说明而言,评分可基于本领域中已知的措词频率逆文档频率(TF/IDF)函数。举例而言,可采用BM25F排序函数。对于文档/义原对所生成的评分在搜索索引322中存储为预先计算的评分。
在实施例中,编索引组件310分析每个文档以识别措词、n元语法和n-元组并确定这些义原中的哪个应针对该文档来编索引。在待编索引的文档处理期间,关于查询分布、措词分布和/或将在漏斗过程期间使用的简化评分函数的统计可用于在统计上选择义原的最佳集合来表示该文档。在搜索索引322中将这些选择的义原与预先计算的评分编索引,这允许在漏斗过程中初期高效地修剪文档。
尽管不是要求的,在本发明的一些实施例中,搜索索引322可包括倒排索引(按义原排序)和正排索引(按文档排序)。倒排索引可包括许多记录列表,每个记录列表针对于义原且列出包含对于每个文档/义原对具有预先计算的评分的义原的文档。如将在下文中进一步详细地描述,倒排索引和正排索引可用于漏斗过程的不同阶段。
用户接口组件312向诸如用户设备302的用户设备提供接口,这允许用户提交搜索查询给搜索引擎服务器306且从搜索引擎服务器306接收搜索结果。用户设备302可为由用户用来提交搜索查询和接收搜索结果的任何类型的计算设备。仅举例而言但并无限制意义地,用户设备302可为台式计算机,膝上型计算机,平板计算机、移动设备或其它类型的计算设备。用户设备302可包括允许用户输入搜索查询并提交搜索查询给搜索引擎服务器306以检索搜索结果的应用程序。举例而言,用户设备302可包括网络浏览器,该网络浏览器包括搜索输入框或者允许用户访问搜索页面以提交搜索查询。用于将搜索查询提交给搜索引擎的其它机制预期为处于本发明实施例的范围内。
当经由用户接口组件312接收搜索查询时,查询重新阐述组件314操作地来重新阐述查询。基于如何在搜索索引322中对数据编索引而将查询从其自由文本形式重新阐述为便于查询搜索索引322的格式。在实施例中,分析搜索查询的措词以识别可用于查询搜索索引322的义原。可以使用用于当在搜索索引322中对文档编索引时识别文档中义原的类似技术来识别义原。举例而言,可基于措词和查询分布信息的统计来识别义原。查询重新阐述组件314可提供一组义原连接词和这些义原的级联变型。
文档匹配组件316采用重新阐述的查询来查询搜索索引322且识别匹配文档的集合。举例而言,重新阐述的查询可包括两个或更多的义原且文档匹配组件316可检索这些义原记录列表的交集以提供匹配文档的初始集合。
文档修剪组件318通过从匹配文档的初始集合修剪文档而操作。这可包括使用存储于搜索索引322中文档/义原对的预先计算的评分来计算来自匹配文档的初始集合的每个文档的初步评分。初步评分可基于针对性能和查全率调谐的简化评分函数。在某些实施例中,基于全排序算法来构建用于生成初步评分的简化评分函数,全排序算法随后用于提供排序的文档的最终集合。照此,简化评分函数用作最终排序算法的近似。在某些实施例中,简化评分函数包含来自最终排序算法的排序特征的子集。
许多不同方案可由文档修剪组件318用于修剪文档的初始集合。在某些实施例中,文档修剪组件318可从文档初始集合保留预定量的匹配同时移除其它文档免于考虑(即,顶部的N个匹配)。举例而言,文档修剪组件318可保留具有最高初步评分的一千个文档。由文档修剪组件318保留的匹配数量可基于用于生成初步评分的简化评分函数的真实性置信度(fidelity confidence)。真实性置信度表示简化评分函数提供与由全排序算法提供的文档集合匹配的文档集合的能力。举例而言,其可从简化评分函数取得平均1200个文档以得到将由最终排序算法提供的顶部的1000个文档。在其它实施例中,作为保留预定数量文档的替代,文档修剪组件318可保留初步评分高于特定阈值的文档。
在某些实施例中,文档匹配组件316和文档修剪组件318可紧密地耦合使得文档匹配和修剪组合为用于多次迭代的单个过程。举例而言,可在识别匹配文档时计算初步评分且初步评分用于移除将很可能被全排序算法丢弃的文档。
每个记录列表将与给定义原相关联且将包括基于分配给文档的表示给定义原与每个文档上下文的相关性的预先计算的评分排序的层级。在每个层级内,该记录可在内部按文档排序。使用这样的搜索索引,文档匹配组件314可使用第一层级来检索文档的初始集合(具有最高预先计算的评分)且使用简化评分函数来修剪文档的初始集合。如果提供足量文档,匹配/修剪过程可结束。可替换地,如果不提供足量文档,可对于低水平层级迭代地执行匹配和修剪直到保留了足量文档。
由文档匹配组件316和文档修剪组件318所提供的匹配和修剪过程保留的文档集合由最终文档排序组件320评估以提供排序文档的最终集合。最终文档排序组件320采用全排序算法,全排序算法可对原始搜索查询和由匹配和修剪过程保留的文档集合执行运算。全排序算法采用比修剪过程中所采用的简化评分函数所用的更多排序特征和来自文档的更多数据。照此,全排序算法是花费更多的运算,其需要更多的处理和花费更长的一段时间来计算。但是,因为候选文档集合已被修剪,所以对更小文档集合执行全排序算法。
最终文档排序组件320提供排序文档的最终集合,其被指示给用户接口组件312。用户接口组件312然后传达搜索结果给用户设备302,搜索结果包括排序文档的最终集合的至少一部分。举例而言,用户接口组件312可基于排序文档的最终集合生成或另外提供列出搜索结果的搜索引擎结果页面(SERP)。
接下来转向图4,提供了说明根据本发明实施例的采用分阶段过程来返回搜索结果给搜索查询的总方法400的流程图。分阶段过程始于预先计算/编索引阶段,如在方块402所示。这个阶段为脱机时期,即,其单独于任何接收的搜索查询来执行。在预先计算/编索引阶段402,爬取文档且在搜索索引中对关于文档的数据编索引。在下文中参看图5更详细地讨论根据一实施例在预先计算/编索引阶段402期间对文档数据编索引的过程。
在预先计算/编索引阶段402之后在图4所示的阶段包括联机时期,在这个时期,接收搜索查询且响应地返回搜索结果。联机时期的第一阶段为匹配阶段,如在方块404处所示。在匹配阶段404,接收搜索查询且重新阐述搜索查询,且使用重新阐述的查询来从搜索索引识别匹配的文档。在下文中参看图6更详细地讨论根据一个实施例在匹配阶段404期间识别匹配文档的过程。
在匹配之后的下一阶段是修剪阶段,如在方块406处所图示。修剪阶段406从匹配阶段404取得文档的初始集合且使用简化评分函数来确定每个文档的初步评分。基于初步评分,从文档初始集合修剪文档。在下文中参看图7更详细地讨论根据一个实施例从匹配文档的初始集合修剪文档的过程。
在某些实施例中,匹配阶段404和修剪阶段406可交错。特别地,可在识别匹配文档时执行修剪以在早期丢弃候选者免于进一步考虑,其中初步评分指示文档将很可能由最终排序算法丢弃。
在最终排序阶段期间进一步评估在匹配阶段404和修剪阶段406之后保留的候选文档集合,如在方块408所图示。在最终排序阶段408期间,采用全排序算法来确定所保留的文档的最终评分。在某些实施例中,可对所保留的文档中每一个的数据和原始搜索查询执行全排序算法。全排序算法可采用许多个不同的排序特征来确定排序文档的最终集合。基于排序文档的最终集合,响应于搜索查询来提供搜索结果,如在方块410处所图示。
现转至图5,提供了说明根据本发明实施例的用于预先计算文档/义原对的评分且对数据编索引的方法500的流程图。最初,存取文档,如在方块502处所图示。举例而言,可采用爬取器(crawler)来爬取文档且检索文档数据。在方块504处处理文档。处理文档以识别包含于文档中的义原。如上文所指出的那样,该过程可包括分析文档文本以识别措词、n元语法和n-元组来确定这些义原中的哪些应针对文档编索引。关于查询分布、措词分布和/或漏斗过程期间将使用的简化评分函数的统计可用于在统计上选择最佳的义原集合来表示该文档。
对于在文档内识别的每个义原生成评分,如在方块506处所图示。评分表示义原在文档上下文中的重要性。任意数量的算法可用于计算文档中发现的义原的评分。仅举例而言,评分可基于措词频率逆文档频率(TF/IDF)函数,这是本领域中已知的。举例而言,可采用BM25F排序函数。
在搜索索引中对数据编索引,如在方块508处所图示。这可包括存储关于文档中发现的义原和每个文档/义原对的评分的信息。这些评分包括预先计算的评分,可在漏斗过程中使用预先计算的评分。在某些实施例中,对于每个义原创建记录列表。每个记录列表可包括包含义原的文档列表和每个文档/义原对预先计算的评分的指示。
接下来参看图6,提供说明根据本发明实施例的用于在匹配时期期间检索匹配文档的初始集合的方法600的流程图。如在方块602所图示,最初接收搜索查询。搜索查询可包含由采用用户设备的用户输入的一个或多个搜索措词。
重新阐述所接收的搜索查询,如在方块604所图示。特别地,分析搜索查询的措词以识别可用于查询搜索索引的一个或多个义原。这种分析可类似于当对文档数据编索引时用于识别文档中义原的分析。举例而言,措词和搜索查询的统计可用于识别搜索查询中的义原。重新阐述的查询可包括一组义原的连接词和这些的级联变型。
重新阐述的查询用于从搜索索引识别匹配文档集合,如在方块606处所图示。特别地,从原始查询识别的义原用于查询搜索索引且识别匹配文档。如上文所指示的那样,搜索索引可包括在编索引的文档中所识别的各个义原的记录列表。可识别与由重新阐述的查询所识别的义原相对应的记录列表且其用于识别匹配文档。举例而言,来自重新阐述的查询的多个义原的记录列表的交集可提供匹配文档的初始集合。
转至图7,提供了说明根据本发明实施例的用于在修剪阶段期间从匹配文档的初始集合修剪文档的方法700的流程图。如在方块702所图示,使用存储于搜索索引中的预先计算的评分来计算每个文档的初步评分。这可包括检索每个义原的文档的预先计算的评分且在简化评分函数中使用预先计算的评分来生成文档的初步评分。可建立简化的评分函数使得其提供将由全排序算法所提供的最终评分的估计。举例而言,简化评分函数可包括由全排序算法所用的特征的子集。
基于初步评分从匹配文档的初始集合修剪文档,如在方块704处所示。在某些实施例中,保留顶部的N个文档,即,保留具有最高初步评分的N个文档以进一步处理。所保留的文档数量可基于用于计算初步评分的简化评分函数的真实性(fidelity)。简化评分函数的真实性表示简化评分函数提供与最终排序算法所提供的文档排序集合类似的文档排序集合的能力。如果已知简化评分函数与包括简化评分函数中误差的最终排序算法之间的相关性,则可利用该知识来确定从修剪阶段保留的文档数量。举例而言,如果需要提供1000个搜索结果且已知,对于所有查询平均,来自简化评分函数的顶部的1200个文档将包括来自最终排序算法的顶部1000个文档,从修剪阶段将保留顶部1200个文档。
在本发明的某些实施例中,漏斗过程可采用搜索索引,搜索索引包括倒排索引和正排索引。倒排索引将以义原排序。这将便于在漏斗过程的匹配和修剪阶段期间快速地检索数据。特别地,当接收到搜索查询且从搜索查询识别了义原时,可迅速地存取与从搜索查询识别的义原相对应的倒排索引中的记录列表且用于识别匹配文档且检索由简化评分函数所用的预先计算的评分。正排索引将以文档排序。这将便于漏斗过程的最终排序阶段。特别地,文档的修剪集合将作为匹配和修剪阶段的结果提供。文档的修剪的集合将相对较小。照此,正排索引将存储文档数据,将在文档的修剪集合中检索文档的文档数据且由最终排序算法用来提供排序文档的最终集合。
如可以理解的,本发明的实施例提供匹配漏斗过程以便通过在随后的阶段采用花费更多的计算将搜索结果返回到搜索查询以修剪掉候选文档。关于特定实施例描述了本发明,其预期在所有方面是说明性的而不是限制性的。在不偏离本发明的范围的情况下,对于本发明所属领域的普通技术人员而言,替代实施例将变得显而易见。
通过前文描述,将看到,本发明良好地适于实现上面所陈述的所有目的和目标,以及对于本系统和方法显而易见的和固有的其它优点。将理解,特定特征和子组合是有效用的且可在不参考其它特征和子组合的情况下采用。这由权利要求设想到且预期处于权利要求的范围内。

Claims (15)

1.一种使用分阶段过程响应于搜索查询提供搜索结果的方法:
接收(602)搜索查询;
重新阐述(604)所述搜索查询以识别用来查询搜索索引的一个或多个义原,所述搜索索引存储多个义原,所述多个义原包括一个或多个n元语法,一个或多个n-元组和一个或多个近n-元组;
基于在重新阐述的搜索查询中识别的所述一个或多个义原来从搜索索引识别(606)文档的初始集合;
使用简化的评分函数和预先计算的评分这两者来计算(702)文档的初始集合中每个文档的初步评分,该预先计算的评分存储于文档的初始集合和一个或多个义原的文档/义原对的搜索索引中,其中每个文档/义原对的预先计算的评分表示从文档中提取的义原在该文档的上下文中的重要性,并且其中简化的评分函数包含全排序算法的排序特征的子集;
基于所述初步评分从所述文档的初始集合选择(704)文档的修剪集合;
使用不同于简化的评分函数的所述全排序算法来计算(408)所述文档的修剪集合中每个文档的排序评分以提供排序文档的集合;以及
基于所述排序文档的集合提供(410)搜索结果以便向终端用户呈现。
2.根据权利要求1所述的方法,其中重新阐述所述搜索查询以识别一个或多个义原包括使用当生成所述搜索索引时用于识别文档中义原的技术来分析所述搜索查询以识别一个或多个义原。
3.根据权利要求1所述的方法,其中从所述搜索索引识别所述文档的初始集合包括识别与所述一个或多个义原中每一个相对应的记录列表且从每个记录列表识别文档。
4.根据权利要求1所述的方法,其中所述简化的评分函数基于全排序算法。
5.根据权利要求4所述的方法,其中所述简化评分函数包括由所述全排序算法使用的排序特征的子集。
6.根据权利要求1所述的方法,其中从所述文档的初始集合选择文档的修剪集合包括选择具有最高初步评分的预定数量的文档。
7.根据权利要求6所述的方法,其中所述预定数量的文档基于所述简化评分函数的真实性置信度。
8.根据权利要求1所述的方法,其中从所述文档的初始集合选择所述文档的修剪集合包括选择初步评分高于初步评分阈值的文档。
9.根据权利要求1所述的方法,其中所述搜索索引包括倒排索引和正排索引,且其中使用倒排索引来识别所述文档的初始集合,使用所述倒排索引来计算所述文档的初始集合的初步评分,且使用正排索引来计算所述排序文档的集合的排序评分。
10.根据权利要求1所述的方法,其中识别所述初始文档集合,计算初步评分和选择所述文档的修剪集合包括识别文档,计算初步评分和为所述文档的修剪集合选择文档的迭代过程直到为所述文档的修剪集合选择了阈值数量的文档为止。
11.一种计算机化的系统,其包括至少一个处理器和一个或多个计算机存储介质,所述系统包括:
查询重新阐述组件(314),其分析所接收的搜索查询来基于包含于所接收的搜索查询中的措词识别一个或多个义原以及生成重新阐述的查询;
文档匹配组件(316),其使用所述重新阐述的查询来查询搜索索引以识别匹配文档的初始集合,所述搜索索引存储多个义原,所述多个义原包括一个或多个n元语法,一个或多个n-元组和一个或多个近n-元组;
文档修剪组件(318),其使用简化的评分函数和预先计算的评分这两者来来计算来自所述匹配文档的初始集合的每个文档的初步评分并且基于所述初步评分来识别文档的修剪集合,该预先计算的评分存储于文档的初始集合和一个或多个义原的文档/义原对的搜索索引中;以及
最终文档排序组件(320),其使用全排序算法来计算所述文档的修剪集合中每个文档的排序评分。
12.根据权利要求11所述的计算机化系统,其中所述系统还包括编索引组件,其通过分析文档以识别所述文档中的义原,计算文档/义原对的预先计算的评分,以及生成义原的记录列表来在所述搜索索引中对文档数据编索引,其中每个记录列表与给定义原相对应且识别包含所述给定义原的文档的预先计算的评分。
13.根据权利要求12所述的计算机化系统,其中所述查询重新阐述组件使用由所述编索引组件用来识别所述文档中的义原的技术从所述接收的搜索查询识别一个或多个义原。
14.根据权利要求11所述的计算机化系统,其中所述搜索索引包括倒排索引和正排索引,且其中由所述文档匹配组件使用所述倒排索引来识别所述文档的初始集合,由所述文档修剪组件使用所述倒排索引来计算所述文档的初始集合的初步评分,以及由所述最终文档排序组件使用所述正排索引来计算所述排序文档的集合的排序评分。
15.一种使用分阶段过程响应于搜索查询提供搜索结果的方法,包括:
接收(602)搜索查询;
从所述搜索查询识别(604)一个或多个义原;
从搜索索引识别(606)包含该一个或多个义原的文档的初始集合,所述搜索索引存储多个义原,所述多个义原包括一个或多个n元语法,一个或多个n-元组和一个或多个近n-元组;
使用简化评分函数和预先计算的评分这两者来计算(702)所述文档的初始集合中的每个文档的初步评分,该预先计算的评分存储于文档的初始集合和一个或多个义原的文档/义原对的搜索索引中;
基于所述初步评分来选择(704)文档子集以便进一步处理;
使用最终排序算法来计算(408)所述文档子集中每个文档的排序评分;以及
基于所述排序评分来提供(410)搜索结果集合。
CN201110373395.6A 2010-11-22 2011-11-22 用于大文档索引的匹配漏斗 Active CN102567461B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/951528 2010-11-22
US12/951,528 US8620907B2 (en) 2010-11-22 2010-11-22 Matching funnel for large document index

Publications (2)

Publication Number Publication Date
CN102567461A CN102567461A (zh) 2012-07-11
CN102567461B true CN102567461B (zh) 2015-07-08

Family

ID=46065327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110373395.6A Active CN102567461B (zh) 2010-11-22 2011-11-22 用于大文档索引的匹配漏斗

Country Status (2)

Country Link
US (1) US8620907B2 (zh)
CN (1) CN102567461B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086024A1 (en) * 2011-09-29 2013-04-04 Microsoft Corporation Query Reformulation Using Post-Execution Results Analysis
US8843493B1 (en) * 2012-09-18 2014-09-23 Narus, Inc. Document fingerprint
US11392568B2 (en) 2015-06-23 2022-07-19 Microsoft Technology Licensing, Llc Reducing matching documents for a search query
US11281639B2 (en) 2015-06-23 2022-03-22 Microsoft Technology Licensing, Llc Match fix-up to remove matching documents
US10467215B2 (en) 2015-06-23 2019-11-05 Microsoft Technology Licensing, Llc Matching documents using a bit vector search index
US10565198B2 (en) 2015-06-23 2020-02-18 Microsoft Technology Licensing, Llc Bit vector search index using shards
US10242071B2 (en) 2015-06-23 2019-03-26 Microsoft Technology Licensing, Llc Preliminary ranker for scoring matching documents
US10733164B2 (en) 2015-06-23 2020-08-04 Microsoft Technology Licensing, Llc Updating a bit vector search index
US20160378803A1 (en) * 2015-06-23 2016-12-29 Microsoft Technology Licensing, Llc Bit vector search index
US10229143B2 (en) 2015-06-23 2019-03-12 Microsoft Technology Licensing, Llc Storage and retrieval of data from a bit vector search index
CN108509461A (zh) 2017-02-28 2018-09-07 华为技术有限公司 一种基于强化学习的排序学习方法及服务器
CN109491740B (zh) * 2018-10-30 2021-09-10 北京云测信息技术有限公司 一种基于上下文背景信息的自动多版本漏斗页面选优方法
CN111652299A (zh) * 2020-05-26 2020-09-11 泰康保险集团股份有限公司 一种业务数据自动匹配的方法及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670723A (zh) * 2004-03-16 2005-09-21 微软公司 改进的拼写检查系统和方法
CN101322125A (zh) * 2005-12-05 2008-12-10 微软公司 使用多嵌套排序来改善排序结果

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US5193180A (en) 1991-06-21 1993-03-09 Pure Software Inc. System for modifying relocatable object code files to monitor accesses to dynamically allocated memory
US5467425A (en) 1993-02-26 1995-11-14 International Business Machines Corporation Building scalable N-gram language models using maximum likelihood maximum entropy N-gram models
US6173298B1 (en) 1996-09-17 2001-01-09 Asap, Ltd. Method and apparatus for implementing a dynamic collocation dictionary
US5983216A (en) 1997-09-12 1999-11-09 Infoseek Corporation Performing automated document collection and selection by providing a meta-index with meta-index values indentifying corresponding document collections
US6167397A (en) 1997-09-23 2000-12-26 At&T Corporation Method of clustering electronic documents in response to a search query
US6571251B1 (en) 1997-12-30 2003-05-27 International Business Machines Corporation Case-based reasoning system and method with a search engine that compares the input tokens with view tokens for matching cases within view
BE1012981A3 (nl) 1998-04-22 2001-07-03 Het Babbage Inst Voor Kennis E Werkwijze en systeem voor het weervinden van documenten via een elektronisch databestand.
US6358309B1 (en) 1998-12-10 2002-03-19 3M Innovative Properties Company Low dust wall repair compound
NO992269D0 (no) 1999-05-10 1999-05-10 Fast Search & Transfer Asa S°kemotor med todimensjonalt skalerbart, parallell arkitektur
US6507829B1 (en) 1999-06-18 2003-01-14 Ppd Development, Lp Textual data classification method and apparatus
AUPQ475799A0 (en) 1999-12-20 2000-01-20 Youramigo Pty Ltd An internet indexing system and method
US6704729B1 (en) 2000-05-19 2004-03-09 Microsoft Corporation Retrieval of relevant information categories
DE60017727T2 (de) 2000-08-18 2005-12-29 Exalead Suchwerkzeug und Prozess zum Suchen unter Benutzung von Kategorien und Schlüsselwörtern
NO313399B1 (no) 2000-09-14 2002-09-23 Fast Search & Transfer Asa Fremgangsmate til soking og analyse av informasjon i datanettverk
AUPR082400A0 (en) 2000-10-17 2000-11-09 Telstra R & D Management Pty Ltd An information retrieval system
US20020091671A1 (en) 2000-11-23 2002-07-11 Andreas Prokoph Method and system for data retrieval in large collections of data
US6766316B2 (en) 2001-01-18 2004-07-20 Science Applications International Corporation Method and system of ranking and clustering for document indexing and retrieval
SE520533C2 (sv) * 2001-03-13 2003-07-22 Picsearch Ab Metod, datorprogram och system för indexering av digitaliserade enheter
JP4342753B2 (ja) 2001-08-10 2009-10-14 株式会社リコー 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体
US6901411B2 (en) 2002-02-11 2005-05-31 Microsoft Corporation Statistical bigram correlation model for image retrieval
US7039631B1 (en) 2002-05-24 2006-05-02 Microsoft Corporation System and method for providing search results with configurable scoring formula
US7111000B2 (en) 2003-01-06 2006-09-19 Microsoft Corporation Retrieval of structured documents
US7382358B2 (en) 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7421418B2 (en) 2003-02-19 2008-09-02 Nahava Inc. Method and apparatus for fundamental operations on token sequences: computing similarity, extracting term values, and searching efficiently
US20040243632A1 (en) 2003-05-30 2004-12-02 International Business Machines Corporation Adaptive evaluation of text search queries with blackbox scoring functions
US7433893B2 (en) 2004-03-08 2008-10-07 Marpex Inc. Method and system for compression indexing and efficient proximity search of text data
US7580921B2 (en) * 2004-07-26 2009-08-25 Google Inc. Phrase identification in an information retrieval system
US7584175B2 (en) 2004-07-26 2009-09-01 Google Inc. Phrase-based generation of document descriptions
US7305385B1 (en) 2004-09-10 2007-12-04 Aol Llc N-gram based text searching
US7461064B2 (en) 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
US7805446B2 (en) 2004-10-12 2010-09-28 Ut-Battelle Llc Agent-based method for distributed clustering of textual information
US20060248066A1 (en) 2005-04-28 2006-11-02 Microsoft Corporation System and method for optimizing search results through equivalent results collapsing
US20070250501A1 (en) 2005-09-27 2007-10-25 Grubb Michael L Search result delivery engine
US20070078653A1 (en) 2005-10-03 2007-04-05 Nokia Corporation Language model compression
US7596745B2 (en) 2005-11-14 2009-09-29 Sun Microsystems, Inc. Programmable hardware finite state machine for facilitating tokenization of an XML document
US7624118B2 (en) 2006-07-26 2009-11-24 Microsoft Corporation Data processing over very large databases
US7593934B2 (en) 2006-07-28 2009-09-22 Microsoft Corporation Learning a document ranking using a loss function with a rank pair or a query parameter
US7805438B2 (en) 2006-07-31 2010-09-28 Microsoft Corporation Learning a document ranking function using fidelity-based error measurements
US7620634B2 (en) 2006-07-31 2009-11-17 Microsoft Corporation Ranking functions using an incrementally-updatable, modified naïve bayesian query classifier
US7765215B2 (en) 2006-08-22 2010-07-27 International Business Machines Corporation System and method for providing a trustworthy inverted index to enable searching of records
US20080059489A1 (en) 2006-08-30 2008-03-06 International Business Machines Corporation Method for parallel query processing with non-dedicated, heterogeneous computers that is resilient to load bursts and node failures
US8401841B2 (en) 2006-08-31 2013-03-19 Orcatec Llc Retrieval of documents using language models
US7895210B2 (en) 2006-09-29 2011-02-22 Battelle Memorial Institute Methods and apparatuses for information analysis on shared and distributed computing systems
US7761407B1 (en) 2006-10-10 2010-07-20 Medallia, Inc. Use of primary and secondary indexes to facilitate aggregation of records of an OLAP data cube
US20080114750A1 (en) 2006-11-14 2008-05-15 Microsoft Corporation Retrieval and ranking of items utilizing similarity
US7783644B1 (en) 2006-12-13 2010-08-24 Google Inc. Query-independent entity importance in books
US20080208836A1 (en) 2007-02-23 2008-08-28 Yahoo! Inc. Regression framework for learning ranking functions using relative preferences
US7702614B1 (en) 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
WO2008120030A1 (en) 2007-04-02 2008-10-09 Sobha Renaissance Information Latent metonymical analysis and indexing [lmai]
US7792846B1 (en) 2007-07-27 2010-09-07 Sonicwall, Inc. Training procedure for N-gram-based statistical content classification
US20090070322A1 (en) * 2007-08-31 2009-03-12 Powerset, Inc. Browsing knowledge on the basis of semantic relations
US8117208B2 (en) 2007-09-21 2012-02-14 The Board Of Trustees Of The University Of Illinois System for entity search and a method for entity scoring in a linked document database
US8332411B2 (en) 2007-10-19 2012-12-11 Microsoft Corporation Boosting a ranker for improved ranking accuracy
US20090112843A1 (en) 2007-10-29 2009-04-30 International Business Machines Corporation System and method for providing differentiated service levels for search index
US20090132515A1 (en) 2007-11-19 2009-05-21 Yumao Lu Method and Apparatus for Performing Multi-Phase Ranking of Web Search Results by Re-Ranking Results Using Feature and Label Calibration
US7917503B2 (en) 2008-01-17 2011-03-29 Microsoft Corporation Specifying relevance ranking preferences utilizing search scopes
US7853599B2 (en) 2008-01-21 2010-12-14 Microsoft Corporation Feature selection for ranking
US8924374B2 (en) 2008-02-22 2014-12-30 Tigerlogic Corporation Systems and methods of semantically annotating documents of different structures
US8229921B2 (en) 2008-02-25 2012-07-24 Mitsubishi Electric Research Laboratories, Inc. Method for indexing for retrieving documents using particles
US20090248669A1 (en) 2008-04-01 2009-10-01 Nitin Mangesh Shetti Method and system for organizing information
US20090254523A1 (en) 2008-04-04 2009-10-08 Yahoo! Inc. Hybrid term and document-based indexing for search query resolution
US8171031B2 (en) 2008-06-27 2012-05-01 Microsoft Corporation Index optimization for ranking using a linear model
US8161036B2 (en) * 2008-06-27 2012-04-17 Microsoft Corporation Index optimization for ranking using a linear model
US8458170B2 (en) 2008-06-30 2013-06-04 Yahoo! Inc. Prefetching data for document ranking
US8255391B2 (en) 2008-09-02 2012-08-28 Conductor, Inc. System and method for generating an approximation of a search engine ranking algorithm
US20100082617A1 (en) 2008-09-24 2010-04-01 Microsoft Corporation Pair-wise ranking model for information retrieval
CN101388026A (zh) 2008-10-09 2009-03-18 浙江大学 一种基于领域本体的语义索引方法
CN101393565A (zh) 2008-11-07 2009-03-25 北京航空航天大学 基于本体的面向虚拟博物馆的搜索方法
JP4633162B2 (ja) 2008-12-01 2011-02-16 株式会社エヌ・ティ・ティ・ドコモ インデックス生成システム、情報検索システム、及びインデックス生成方法
US8359282B2 (en) 2009-01-12 2013-01-22 Nec Laboratories America, Inc. Supervised semantic indexing and its extensions
US8676827B2 (en) 2009-02-04 2014-03-18 Yahoo! Inc. Rare query expansion by web feature matching
US8620900B2 (en) * 2009-02-09 2013-12-31 The Hong Kong Polytechnic University Method for using dual indices to support query expansion, relevance/non-relevance models, blind/relevance feedback and an intelligent search interface
US8166203B1 (en) 2009-05-29 2012-04-24 Google Inc. Server selection based upon time and query dependent hashing
US8271499B2 (en) 2009-06-10 2012-09-18 At&T Intellectual Property I, L.P. Incremental maintenance of inverted indexes for approximate string matching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1670723A (zh) * 2004-03-16 2005-09-21 微软公司 改进的拼写检查系统和方法
CN101322125A (zh) * 2005-12-05 2008-12-10 微软公司 使用多嵌套排序来改善排序结果

Also Published As

Publication number Publication date
US20120130994A1 (en) 2012-05-24
US8620907B2 (en) 2013-12-31
CN102567461A (zh) 2012-07-11

Similar Documents

Publication Publication Date Title
CN102567461B (zh) 用于大文档索引的匹配漏斗
CN102542052B (zh) 优先散列索引
CN102622450B (zh) 用户的浏览器历史的相关性排序
Zhao et al. SmartCrawler: a two-stage crawler for efficiently harvesting deep-web interfaces
US7730060B2 (en) Efficient evaluation of object finder queries
CN102725759B (zh) 用于搜索结果的语义目录
CN102402605B (zh) 用于搜索引擎索引的混合分布模型
US7672943B2 (en) Calculating a downloading priority for the uniform resource locator in response to the domain density score, the anchor text score, the URL string score, the category need score, and the link proximity score for targeted web crawling
US8468156B2 (en) Determining a geographic location relevant to a web page
US9104772B2 (en) System and method for providing tag-based relevance recommendations of bookmarks in a bookmark and tag database
CN100481075C (zh) 分析来自搜索系统的操作数据和其它数据的方法和系统
US20070244863A1 (en) Systems and methods for performing searches within vertical domains
US9529908B2 (en) Tiering of posting lists in search engine index
US9342582B2 (en) Selection of atoms for search engine retrieval
US20070244862A1 (en) Systems and methods for ranking vertical domains
WO2010003129A2 (en) A method for efficiently supporting interactive, fuzzy search on structured data
US20070033229A1 (en) System and method for indexing structured and unstructured audio content
US20070208733A1 (en) Query Correction Using Indexed Content on a Desktop Indexer Program
CN1811763A (zh) 用于查询细化的系统和方法
US7849070B2 (en) System and method for dynamically ranking items of audio content
US20120233096A1 (en) Optimizing an index of web documents
Altingovde et al. Static index pruning in web search engines: Combining term and document popularities with query views
CN104239552A (zh) 生成关联关键词、提供关联关键词的方法及系统
US20070033199A1 (en) System and method for accessing preferred provider of audio content
WO2007120781A2 (en) Systems and methods for performing searches within vertical domains

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150604

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150604

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant