CN102402604B - 搜索引擎的有效前向排序 - Google Patents
搜索引擎的有效前向排序 Download PDFInfo
- Publication number
- CN102402604B CN102402604B CN201110373394.1A CN201110373394A CN102402604B CN 102402604 B CN102402604 B CN 102402604B CN 201110373394 A CN201110373394 A CN 201110373394A CN 102402604 B CN102402604 B CN 102402604B
- Authority
- CN
- China
- Prior art keywords
- document
- token
- streams
- forward direction
- search inquiry
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000003068 static effect Effects 0.000 claims abstract description 27
- 230000008878 coupling Effects 0.000 claims description 10
- 238000010168 coupling process Methods 0.000 claims description 10
- 238000005859 coupling reaction Methods 0.000 claims description 10
- 230000002441 reversible effect Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 11
- 238000012163 sequencing technique Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 235000008331 Pinus X rigitaeda Nutrition 0.000 description 4
- 235000011613 Pinus brutia Nutrition 0.000 description 4
- 241000018646 Pinus brutia Species 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 238000011282 treatment Methods 0.000 description 4
- 241000894007 species Species 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000011221 initial treatment Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及搜索引擎的有效前向排序,其中提出了用于生成前向索引中的用于文档的条目的方法和计算机存储介质。除查询无关的静态特征之外,还接收文档和其文档标识。文档被解析为令牌,以形成对应于文档的令牌流。标识用于计算文档排序的相关数据并确定数据的位置。然后根据文档标识、文档的令牌流、静态特征和相关数据的位置信息生成条目。将条目存储在前向索引中。
Description
背景技术
在因特网上可得到的信息和内容的数量继续非常快地增长。考虑到信息的数量之大,已开发了搜索引擎以便于电子文档的搜索。具体地,用户可通过键入包括用户可能感兴趣的一个或多个术语的搜索查询而搜索信息和文档。在从用户接收搜索查询后,搜索引擎基于该搜索查询标识相关的文档和/或网络页面。因为其效用,网络搜索,即为用户发出的搜索查询发现相关的网络页面和文档的处理,可以说已成为今天因特网上最流行的服务。
另外,搜索引擎典型地使用单步处理,其基于所接收的搜索查询,利用搜索索引标识相关的文档以返回至用户。然而,搜索引擎排序功能变成为非常复杂的功能,如果该功能用于被索引的每一文档,则可能既耗时又昂贵。另外,这些复杂的公式所需的数据存储也可能出现问题,特别是当数据存储在典型地通过字或短语索引的反向索引(reverse index)中时更是如此。当存储在反向索引中时,复杂公式所需的相关数据的提取效率较低。
发明内容
提出本发明内容以简化的形式介绍以下在具体实施方式中进一步描述的概念选集。本发明内容既不意图标识所要求主题的关键特征或必要特征,也不意图用于辅助确定所要求主题的范围。
本发明的实施例涉及用于对作为搜索查询的结果的文档进行排序的前向索引的生成和使用。在一个实施例中,在排序处理中使用前向索引是最终处理阶段(stage),从而排序处理的先前处理阶段利用反向索引初步地标识可能与搜索查询相关的文档。因为在一些情况下,利用前向索引的最后处理阶段可能更耗时且成本更高,其可被用于先前已标识为与搜索查询相关的有限数量的文档。前向索引一般地包括多个条目,每个条目与具体的文档相关联。可能针对每个条目而包含在前向索引中的示例信息为文档的令牌流,关于各种语境在令牌流中的位置的指示(例如,标题、URL、主体),与文档相关联的静态特征,和指示相关数据在前向索引中的位置的位置索引。如所述,前向索引可独自使用或用作基于搜索结果的排序文档的排序处理中的一处理阶段(诸如,最终处理阶段)。
附图说明
本发明参照附图在下文进行详细描述,其中:
图1是适用于实现本发明的实施例的示例计算环境的框图;
图2是可采用本发明的实施例的示例***的框图;
图3是根据本发明的实施例,前向索引中的条目的示例数据结构;
图4是示出了根据本发明的实施例用于生成前向索引中的条目的方法的流程图;以及
图5是示出了根据本发明的实施例使用前向索引来基于搜索查询提取用于排序文档的信息的方法的流程图。
具体实施方式
这里特别地描述本发明的主题以符合法定要求。然而,该描述本身并不意图限制本专利的范围。相反地,发明者已预期所要求的主题也可能以的其他方式实现,来包括与其他当前或进一步技术相结合的不同的步骤或与本文件中描述的那些步骤相似的步骤组合。此外,虽然术语“步骤”和/或“框”此处可被用于意味着所采用的方法的不同元件,但是除非且除明确地描述的个别步骤的次序之外,术语不应被解释为暗示在此处公开的各种步骤之中或此处公开的各种步骤之间的任何特定次序。
如上所述,本发明的实施例提供了前向索引,在一个实施例中,该前向索引用作多处理阶段文档排序处理中的一处理阶段。例如,第一处理阶段可包括使用反向索引以标识与所接收的查询相关的多个文档。然后,这些文档在利用此处描述的前向索引的排序排序的第二处理阶段中使用。前向索引是包括多个条目(每个条目与文档相关联)的索引。这样,前向索引通过文档索引,并包括数据的各种类型,诸如,对应于文档的令牌流的压缩版本,文档的各种语境部分(例如,主体、标题、URL)的压缩分离流,与文档的静态特征相关联的文档特定数据、与被频繁地用于从前向索引的特征提取的相关数据相关联的位置信息等。
因此,在一方面,本发明的实施例指向用于生成前向索引中的条目的方法。该方法包括接收文档和对应的文档标识,并接收与文档相关联的一个或多个静态特征。该一个或多个静态特征与搜索查询无关。进一步地,该方法包括将文档解析为令牌以形成文档的令牌流,根据一个或多个相关的数据在文档中的位置来确定位置信息,以及根据文档标识、文档的令牌流、静态特征和位置信息生成条目。该方法还包括在前向索引中存储条目。
在另一实施例中,本发明的一个方面指向使用前向索引来基于搜索查询提取用于排序文档的信息的方法。该方法包括接收搜索查询,解析搜索查询以标识一个或多个原子(atom),并使用从搜索查询解析的一个或多个原子创建查询令牌的令牌图。对于第一文档,该方法包括在前向索引的第一条目中标识在与第一文档相对应的令牌流中、匹配令牌图中的查询令牌的文档令牌。对于匹配查询令牌的文档令牌,该方法还包括用每个匹配查询令牌的文档令牌在与第一文档相对应的令牌流中的位置来更新数据结构。另外,该方法包括利用数据结构中的数据,并从前向索引的第一条目中提取用于排序计算的排序信息。
本发明的又一实施例指向一个或多个计算机存储介质,其上存储有表示用于基于搜索查询来排序搜索结果的前向索引的数据的数据结构。数据结构包括包含标识具体文档的文档标识信息的第一数据字段,包含文档的压缩令牌流的第二数据字段。数据结构还包括第三数据字段,其包含文档特定数据,该文档特定数据表示用于当接收查询时排序文档的文档静态特征;以及包含位置信息的第四数据字段,该位置信息指示了被频繁地用于计算文档排序的、与文档相关联的一个或多个相关的数据的位置。
已简要地描述本发明的实施例的概况,下面描述其中可实现本发明的实施例的示例操作环境,以便提供用于本发明的各个方面的一般语境。首先具体参考图1,示出了用于实现本发明的实施例的示例操作环境,并在总体上指定为计算设备100。但是,计算设备100是适合的计算环境的一个例子,且不意图暗示对于本发明的使用或功能范围的任何限制。计算设备100也不应被解释为具有涉及所说明的任何一个部件或部件组合的任何依赖性或要求。
本发明可在计算机代码或机器可用指令的一般语境中描述,包括诸如程序模块之类的计算机可执行指令,该指令可通过计算机或诸如个人数据助理或其他手持设备之类的其他机器执行。一般地,包括例程、程序、对象、部件、数据结构等的程序模块是指执行具体的任务或实现具体的抽象数据类型的代码。本发明可在各种***配置(包括手持设备、消费电子产品、通用计算机、更多专用计算设备等)中实现。本发明也可在其中由通过通信网络链接的远程处理设备来执行任务的分布式计算环境中实现。
参照图1,计算设备100包括总线110,该总线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在内的其他设备逻辑耦接,这些设备中的一些可以是内置的。例示性的部件包括麦克风、控制杆、游戏板、圆盘式卫星天线(satellite dish)、扫描仪、打印机、无线设备等。
现在参照图2,提供了例示其中可以采用本发明的实施例的示例***200的框图。应理解,此处描述的该布置或其他布置仅作为例子列出。除那些已示出之外或代替那些已示出的,可使用其他布置和元件(例如,机器、接口、功能、次序和功能分组等),一些元件可被一并省略。另外,此处描述的许多元件是功能实体,其可作为分立部件或分布式部件或与其他部件结合并以任何适合的组合或位置来实现。此处描述为通过一个或多个实体执行的各种功能可通过硬件、固件和/或软件来完成。例如,各种功能可通过执行存储在存储器中的指令的处理器来完成。
连同未示出的其他部件,***200包括用户设备202、索引服务器204、索引生成器206和前向索引210。例如,图2中示出的每个部件可以是任何类型的计算设备,诸如参考图1描述的计算设备100。部件可经由网络208相互通信。该网络208可包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。这类网络环境在办公室、企业计算机网络、内联网和因特网中是普通事物。应理解,在本发明范围内的***200内可采用任何数目的用户设备、索引服务器和索引生成器。每个可包括单个设备或在分布式环境中协作的多个设备。例如,索引生成器207可包括布置在分布式环境中的多个设备,这些设备集体提供了此处描述的索引生成器206的功能。另外,在***200内也包括未示出的其他部件,同时图2示出的部件在一些实施例中可被忽略。
用户设备202可以是能够访问网络208的终端用户所拥有和/或操作的任何类型的计算设备。例如,用户设备202可以是台式计算机、膝上型计算机、平板计算机、移动设备,或具有网络访问的其他设备。一般地,此外,终端用户可采用用户设备202来访问索引服务器(例如索引服务器204)维护的电子文档。例如,终端用户可在用户设备202上采用网络浏览器来访问和查看来自索引服务器204的电子文档。
索引服务器204可以是能够驻留电子文档并向诸如用户设备202的计算设备提供电子文档服务的任何类型的服务器设备。例如,索引服务器204可以是维护网络页面的网络服务器。
索引生成器206可以是能够生成索引(诸如前向索引210)的任何类型的计算设备。如图2所示,索引生成器206包括文档解析部件212、位置信息部件214、条目生成部件216、搜索查询解析部件218和令牌匹配部件220。进一步地,在一个实施例中,索引生成器206包括被用于抓取索引服务器维护的网络页面并在搜索索引(诸如前向索引210)中索引来自网络页面的数据的抓取器。当用户向搜索引擎提交搜索查询时,搜索引擎可利用前向索引210对文档进行排序。在实施例中,利用前向索引210是用于对文档进行排序以提供最相关的搜索结果的一系列步骤中的一个步骤。例如,在一个实施例中,倒排索引和前向索引两者在更个处理中使用来对文档进行排序。
与简单地索引单个术语相反,本发明的实施例采用的搜索索引索引了更高阶的基元(order primitive)或来自文档的“原子”。此处使用的“原子”可指查询或文档的各种单位。例如,这些单位可包括术语、n元语法(n-gram)、n元组(n-tuple)、k接近n元组(k-near n-tuple)等。术语向下映射到通过所使用的具体令牌化技术定义的单个符号或字。在一个实施例中,术语是单个字符。在另一实施例中,术语是单个字或字组。n元语法(n-gram)是可从文档提取的一系列n个连续的或几乎连续的术语。如果n元语法(n-gram)对应于一连串的连续术语,则n元语法(n-gram)可以说是“紧的”,如果n元语法(n-gram)包含按照在文档中出现的顺序的术语但术语不必然地是连续的,则n元语法(n-gram) 可以说是“松的”。松的n元语法(n-gram)典型地用于表示一类同意义的短语,该短语中不重要的字有所不同(例如,“如果下雨我会淋湿的”和“如果下雨我则会淋湿的”)。此处使用的n元组(n-tuple)是文档中同时出现(次序无关)的一组“n”个术语。进一步地,此处使用的k接近n元组(k-near n-tuple)指在文档中的“k”个术语的窗口内同时出现的一组“n”个术语。因此,原子一般地被定义为上述全部的概称。本发明实施例的实现方式可使用不同的原子种类,但是,此处使用的原子总体上描述上述种类中的每一个。
此处使用的前向索引是通过文档标识排序的搜索索引的一种类型,以便当知晓文档标识时,能够容易地定位与文档相关联的其他信息。在一个实施例中,前向索引被用作排序的最后一处理阶段,以便在访问前向索引时,知晓被认为与查询相关的一个或多个文档标识。除了获取在进行排序以对文档评分的这一处理阶段中使用的特征之外,前向索引用于验证先前的得分。前向索引中可存储各种类型的信息。仅为示例目的,可被存储在前向索引中的与具体文档相关联的一些信息可包括文档令牌流的压缩版本、文档语境(例如,标题、URL、主体)的压缩分离流、静态特征的文档特定数据、和被频繁地用于从前向索引条目的特征提取的重要数据的位置索引。例如,可枚举并以一定顺序列出文档中的字,然后进行压缩。在一个实施例中,文档语境(例如,标题、URL、主体)可被存储为上述分离流,但在其他实施例中,前向索引可简单地示出在文档的令牌流中标题开始的位置,主体开始的位置等。此处使用的静态特征是不依赖于查询的那些特征。例如,这些可包括页面排序、语言、总锚点计数和页面类型。
在一个实施例中,存储在单个计算机或机器上的全部文档被组装在一起。对位置图的文档标识用于标识每个文档的起始位置。例如,如果需要具有标识“3”的文档,则可访问位置图的文档以确定文档在位置8500。如果访问该位置,则可发现压缩的令牌流和其他与该文档相关联的信息。进一步地,在一个例子中,可计算前向索引的大小,以便常规的匹配算法随时能够遍历(go through)全部的压缩令牌流并提取进行排序所需的特征。前向索引中与具体的文档相关联的每个条目可占据大约一至三个千字节(kB),从而有可能将文档和相关的信息放进更高效的存储***内。在一些例子中,取决于文档的长度和复杂性,条目或文档可消耗超过3kB。
如上所述,前向索引可被用作更大的对文档进行排序的处理的一部分。在一些实施例中,搜索引擎可采用分阶段的处理以选择搜索查询的搜索结果。例如,可以使用在多个处理阶段中评估和删除文档候选者的漏斗处理。每个都随着查询评估而前进的处理阶段变得越来越复杂。在一个实施例中,第一处理阶段利用通过原子(例如,字、术语)排序的反向索引来首先限制对于所接收的搜索查询是潜在最佳匹配的文档的数目。在这个实施例中,然后,第二排序处理使用通过文档标识排序的前向索引,来进一步地将相关文档的数目削减至仅被发现相对于所接收的搜索查询而言是最相关的那些文档。在一个例子中,利用前向索引的第二排序处理也是排序处理中较昂贵的,因为其更耗时且更昂贵,因此用在已削减的一组文档上。
更具体地,当接收搜索查询时,采用整体排序处理以将匹配文档的数量削减至易管理的大小时。当接收搜索查询时,分析搜索查询以标识原子。然后,在整体排序处理的各个处理阶段期间使用这些原子。这些处理阶段可被称为L0处理阶段(匹配处理阶段),来查询搜索索引(例如,反向索引)并标识包含来自搜索查询的原子的匹配文档初始集合。该初始处理可将候选文档的数目从搜索索引中索引的全部文档减少至匹配来自搜索查询的原子的那些文档。例如,搜索引擎可查遍数百万或甚至数百亿的文档,以确定与具体的搜索查询最相关的那些文档。一旦完成L0匹配处理阶段,候选文档的数目会显著地减少。然而,定位最相关的文档的许多算法是成本高且耗时的。因此,可采用包括初步排序处理阶段和最终排序处理阶段两个其他处理阶段。
初步排序处理阶段,也被称为L1处理阶段,采用简化的评分功能,该评分功能用于为从上述L0匹配处理阶段保留的候选文档计算初步得分或排序。为从L0匹配处理阶段保留的每个候选文档提供初步排序。当与最终排序处理阶段相比较时,因为初步排序处理阶段仅采用最终排序处理阶段所使用的排序特征的子集,所以初步排序处理阶段被简化了。例如,初步排序处理阶段采用在最终排序处理阶段中使用的一个或多个(但很可能不是全部)的排序特征。另外,初步排序处理阶段可采用最终排序处理阶段未采用的特征。在本发明的实施例中,初步排序处理阶段使用的排序特征没有诸如术语紧密度和术语共存性之类的原子互依赖性。例如,仅为示例目的,在初步排序处理阶段中使用的排序特征可包括静态特征和动态孤立原子分量。一般地,静态特征是仅调查具有查询独立性的特征的那些分量。静态特征的例子包括页面排名、具体网络页面的垃圾评级等。动态孤立原子分量是仅查看每次与单个原子相关的特征的分量。例如,例子可包括BM25f,文档中某个原子的频率,文档中原子的位置(语境)(例如,标题、URL、锚点、头、主体、流量、类、属性)等。
一旦已经通过初步排序处理阶段再次减少了候选文档的数目,最终排序处理阶段(也被称为L2处理阶段)对初步排序处理阶段提供给其的候选文档进行排序。与在初步排序处理阶段中使用的排序特征相比,结合最终排序处理阶段使用的算法是利用更大数目的排序特征的、更昂贵的操作。然而,最终排序算法应用于少得多的候选文档。最终排序算法提供了一组排序文档,并基于该组排序文档提供响应于原始搜索查询的搜索结果。
返回图2,可采用各种不同的算法来生成前向索引210以及利用前向索引210来排序文档。例如,示例算法可包括以下步骤中的一个或多个。首先,令牌图由已从用户接收的搜索查询中的全部原子建成。每个原子可用对应的优选的语境流标记。此处使用的语境流是与文档相关联的语境的各部分或类型,仅为示例目的,其可包括标题、锚点、标头、主体、流量、类、属性、URL等。一旦建成令牌图,扫描与具体文档相对应的前向索引条目的令牌流。当令牌匹配查询原子令牌图时,更新诸如数据结构之类的结构。该结构保留查询中的原子的令牌位置。在完成对前向索引条目的扫描时,完成具有查询中的每个原子的语境和位置的表格。对于要从前向索引提取的全部排序特征,位置图与在查询中注解的字典统计数一并使用,以提取用于排序计算的值。
如所述,索引生成器206包括文档解析部件212、位置信息部件214、条目生成部件216、搜索查询解析部件218和令牌匹配部件220。其他部件预期在本发明的范围内。一般地,文档解析部件212负责将文档解析为令牌以形成文档的令牌流。当正在生成文档的条目以存储在前向索引210中时,该文档被解析为令牌。令牌可代表单个的字母数字字符(例如,字母、数字、符号)或可代表字或短语。位置信息部件214根据相关数据在文档中的位置来确定位置信息。当数据被频繁地用于从前向索引中的条目的特征/数据提取时,该数据被认为是相关的。位置可包括从令牌流的起点至令牌流内的字符数。条目生成部件216负责在前向索引210中生成各单独的条目。例如,条目生成部件216可采用文档令牌流、文档标识、相关数据的位置信息和静态特征,并使用该信息生成具体文档的条目。
当从用户接收搜索查询时,利用搜索查询解析部件218。当接收搜索查询时,可通过标识搜索查询中的原子并基于所标识的原子生成重新表述的查询来重新表述搜索查询。更具体地,当经由用户接口接收搜索查询时,该查询从其自由文本形式重新表述为便于基于数据怎样在搜索索引中索引来查询搜索索引的格式。在实施例中,分析搜索查询的术语以标识可用于查询搜索索引的原子。可使用与当在搜索索引中索引文档时标识文档中的原子类似的技术(其可由文档解析部件212执行)来标识原子。例如,可基于术语的统计数据和查询分布信息来标识原子。可根据搜索查询生成查询令牌以便构造令牌图。最后,令牌匹配部件220扫描具体文档的令牌流,以标识匹配查询令牌的任何文档令牌。
现在转向图3,示出了根据本发明实施例的前向索引中条目的示例数据结构300。首先,图3的数据结构说明了各种数据字段。虽然在本发明范围内也预期多于或少于四个数据字段,但是这些数据字段一般地包括第一、第二、第三和第四数据字段。第一数据字段包括标识具体文档的文档标识信息。例如,图3说明了在“DOCID-TO-POSITION”列310中的数个文档标识312。如位于最后列出的文档标识之下的椭圆所示,其仅是前向索引中会包含的文档标识的取样。每个文档标识可被认为是前向索引中的条目。在一个实施例中,每个条目具有指针,其指向存储设备中有关文档所定位的位置。这里,以上列出的典型地位于前向索引中的信息可能位于前向索引自身中,或可能位于存储器中且指针会指向该位置。
如图3所示,对于前向索引中的每个文档标识条目,示出了附加信息314。可把文档看作是有属性的令牌流。例如,此处,包括文档的流偏移316和令牌流318。此处,图3的数据结构中的第二数据字段说明了文档的令牌流318,其是存储文档的字符或字以便容易检索的方式。在一个实施例中,对文档的每个字符进行令牌化,以便文档的每个字符有对应的令牌。在一个例子中,该令牌流318为了存储目的而被压缩。
除令牌流318外,附加信息314包括流偏移316。如早先所述,可把文档划分成具有属性的令牌流。文档可被拆分成节,而每一节有其定义的令牌流。仅为示例目的,各种令牌可包括标题、锚点、标头、主体、流量、属性和URL。前向索引的条目中可包括这些中的一个或多个,以定义每个令牌类别在文档中的位置。例如,如图3所述,在流偏移316中,标题在令牌0处开始,因此人们会查看文档的最开始处以定位标题。进一步地,文档的主体在令牌14开始,并且URL位于令牌950。这提供了对被指定为位于文档的某一部分(诸如标题、主体等)中的令牌进行定位的快速方式。在令牌流318中,从T0至TN示出每个令牌,N表示文档中的最后令牌,其因文档而不同。尽管在一个实施例中,针对以上列出的文档的一个或多个节,前向索引中包括分离的令牌流,但在替代实施例中,包括流偏移(如图3所示)而没有分离流。
文档的标题是举出文档的标题的令牌流。对于HTML文档,这可映射至标题标签。锚点包括通过外部计算确定的在页面上登陆的全部锚文本。标头是在文档内的头部。主体是除了其标题、锚点和标头之外的全部文档。流量是用于文档的外部信号和内容的流。其主要用于点击文本信号和来自流量分析的匹配扩展器。类是用于利用分类器输出来对文档加标签的流或被映射至该流的语言或区域分类。属性是针对文档配对使用(标签,整数)的流,以有效地执行对属性的范围查询。URL是页面的实际URL并被认为是特别的流。
在一个实施例中,虽然图3中未示出,前向索引的条目的数据结构中包括了第三数据字段。第三数据字段包含文档特定数据,该文档特定数据代表了当接收查询时可用于排序文档的文档的静态特征。仅为示例目的,静态特征可包括文档的页面排名、文档的语言、总锚点计数和页面类型等。更进一步地,数据结构中可包括包含位置信息的第四数据字段(未示出),该位置信息指示与被频繁地用于计算文档排序的一个或多个与文档相关联的相关数据的位置。可以每一文档地提供字典,该字典可包括最通常的原子及其各自的位置来作为表格,以潜在地加速对与各位置相关联的排序值的检索。
图4是示出了生成在前向索引中的条目的方法400的流程图。如所述,前向索引包含通过文档标识排序的多个条目。首先,在步骤410,接收文档和对应于文档的文档标识。可预分配文档标识或一旦接收该文档时分配文档标识。该文档标识可以是随机的或唯一的标识,或可多少与文档相关(例如,文档类型,接收日期)。在步骤412,接收与文档相关联的静态特征。静态特征是与任何搜索查询无关的那些特征。仅为示例目的,这些特征可包括与文档相关的页面排名、文档的语言、总锚点计数和页面类型(例如,信息性、娱乐、***)。在步骤414,该文档被解析为令牌。此处,文档的各令牌形成文档的令牌流。在一个实施例中,令牌流被压缩。在又一实施例中,可标识对应于文档的一个或多个语境流。仅为示例目的,这些语境流可包括对应于该文档的标题、锚点、标头、主体、流量、类、属性和URL。
在步骤416,确定相关数据的位置信息。根据相关数据在文档中的位置确定该位置信息。在一些例子中,该相关数据被频繁地使用并从前向索引提取来基于查询排序文档,因此,在前向索引中标注该数据的位置。在一个实施例中,位置信息是指向具体的相关数据的在存储设备中的位置的指针。在另一实施例中,位置信息是该具体数据在令牌流中的位置。例如,如这里所述,位置信息可包括具体原子在具体文档中的相对位置,以便可以计算文档中两个原子之间(例如,相同原子)的距离并用于排序。在步骤418,生成条目。根据文档标识、文档的令牌流、静态特征和位置信息生成条目。如图3所示,前向索引由多个条目组成并可采用数据结构的形式。在步骤420,将在步骤418生成的条目存储在前向索引中。在一个实施例中,该数据在存储设备中被压缩了。
如图5所示,示出了方法500的流程图,该方法用于基于搜索查询,使用前向索引来提取用于排序文档的信息。如前所述,前向索引是通过文档或文档标识组织或排序的索引。首先,在步骤510,接收搜索查询。在步骤512,解析搜索查询以标识一个或多个原子。在一个实施例中,每个原子用优选的语境流(如果指定了的话)来标记。这些语境流可包括标题、锚点、标头、主体、类、属性或URL中的一个或多个。
如所述,此处使用的原子或原子单位可指查询或文档的各种单位。例如,这些单位可包括术语、n元语法(n-gram)、n元组(n-tuple)、k接近n元组(k-near n-tuple)等。如所使用的具体令牌化技术定义的那样,术语向下映射到单个符号或字。在一个实施例中,术语是单个字符。在另一实施例中,术语是单个字或字组。n元语法(n-gram)是可从文档提取的一系列n个连续的或几乎连续的术语。如果n元语法(n-gram)对应于一连串的连续术语,则n元语法(n-gram)可以说是“紧的”,如果n元语法(n-gram)包含按照术语在文档中出现的顺序的术语但术语不必地是连续的,则n元语法(n-gram)可以说是“松的”。松的n元语法(n-gram)典型地用于表示一类等同意义的短语,这些短语中不重要的字有所不同(例如,“如果下雨我会淋湿的”和“如果下雨则我会淋湿的”)。此处使用的n元组(n-tuple)是文档中同时出现(顺序无关)的一组“n”术语。进一步地,此处使用的k接近n元组(k-near n-tuple)指在文档中的“k”个术语的窗口内同时出现的一组“n”术语。因此,原子一般地被定义为上述全部的概称。本发明实施例的实现可使用不同的原子种类,但是,此处使用的原子总体上描述上述种类中的每一个。
在步骤514,根据在步骤512处从搜索查询解析的原子,创建查询令牌的令牌图。这样,从查询解析的原子被令牌化为一系列的令牌。在一个实施例中,令牌图也包括一个或多个查询令牌的具体语境。对于第一文档,扫描对应于前向索引中的第一文档的条目中的文档令牌,以确定是否有任何查询令牌匹配文档令牌。在步骤516,在前向索引中,从对应于第一文档的令牌流中标识匹配令牌图中的查询令牌的文档令牌。在步骤518,用匹配的令牌更新数据结构。在一个例子中,利用每个匹配的令牌在第一文档的令牌流中的位置来更新数据结构。然后,在步骤520,利用数据结构中的数据,从前向索引的第一条目中提取用于排序计算的排序信息。第一条目与第一文档相关联。排序信息可包括与匹配查询图中的查询令牌的文档令牌相对应的、第一文档的令牌流中的位置。
在一个实施例中,根据上述涉及图5描述的步骤来索引其他文档。例如,对于第二文档,可在第二文档的令牌流中标识与令牌图中的查询令牌相匹配的文档令牌。对于那些匹配的文档令牌,用每个文档令牌在第二文档的令牌流中的位置来更新数据结构。利用数据结构中的数据,可从与第二索引相关联的前向索引中的第二条目提取排序信息。该第二条目与第二文档相关联。
如前所述,在又一实施例中,基于搜索查询使用前向索引来提取用于排序文档的信息,这可以为整体排序处理中的第二甚至第三处理阶段。例如,假定前向索引通过文档索引(例如,文档标识),可能已预先地在排序处理的先前处理阶段处标识了多个文档,以便先前处理阶段可能已将一个或多个文档标识为与搜索查询相关。如此处所述,这些文档是使用存储在前向索引中的信息进行进一步地处理的那些文档。
已经参照具体实施例描述了本发明,其意图在所有方面中是例示性的而非限制性的。对于本发明所属领域的技术人员而言,替代实施例将变得清楚而不脱离其范围。
综上所述,将看到,本发明较好地适用于实现上述全部目标,具有该***和方法的显著和固有的其他优势。将理解,某些特征和子组合是有用的并可被采用而与其他特征和子组合无关。这根据权利要求的范围是可预期的并且在权利要求的范围之内。
Claims (12)
1.一种生成前向索引中的条目的方法,所述方法包括:
接收(410)文档和相应的文档标识;
接收(412)与所述文档相关联的一个或多个静态特征,其中所述一个或多个静态特征与搜索查询无关;
将所述文档解析(414)为令牌,以形成所述文档的令牌流;
根据一个或多个相关数据在所述文档中的位置,确定(416)位置信息,
将该文档拆分成节使得每一节有其定义的令牌流;
为被定义的令牌流使用流偏移,其中每个流偏移定义每个被定义的令牌流在该文档的令牌流中的位置;
根据所述文档标识、所述流偏移、所述文档的令牌流、所述静态特征和所述位置信息来生成(418)条目,其中所述文档标识被用于标识与所述文档的令牌流、所述流偏移、所述静态特征和用于所述文档的位置信息对应的所述文档的起始位置;以及
在前向索引中存储(420)所述条目。
2.如权利要求1所述的方法,进一步包括标识对应于所述文档的一个或多个语境流,其中所述一个或多个语境流包括以下中的一个或多个:标题、锚点、标头、主体、流量、类、属性和统一资源定位符(URL)。
3.如权利要求1所述的方法,其中所述一个或多个相关的数据在响应于接收搜索查询而计算文档的排序中被频繁地使用。
4.如权利要求1所述的方法,其中所述条目是数据结构。
5.如权利要求1所述的方法,其中所述位置数据被如此确定,以便当提交搜索查询并确定结果时能容易地访问所述一个或多个相关的数据。
6.如权利要求1所述的方法,进一步包括:
接收搜索查询;
接收与所生成的前向索引中的条目相关联的文档与所述搜索查询相关的指示,其中通过使用由原子索引的反向索引来确定所述相关性;
创建搜索查询的令牌图,所述令牌图包括各查询令牌;
扫描所述文档的令牌流,以标识是否有任何文档令牌匹配任何查询令牌;以及
用任何匹配在令牌流中的位置来更新数据结构。
7.一种用于生成前向索引中的条目的设备,所述设备包括:
用于接收(410)文档和相应的文档标识的装置;
用于接收(412)与所述文档相关联的一个或多个静态特征的装置,其中所述一个或多个静态特征与搜索查询无关;
用于将所述文档解析(414)为令牌,以形成所述文档的令牌流的装置;
用于根据一个或多个相关数据在所述文档中的位置,确定(416)位置信息的装置;
用于将该文档拆分成节使得每一节有其定义的令牌流的装置;
用于为被定义的令牌流使用流偏移的装置,其中每个流偏移定义每个被定义的令牌流在该文档的令牌流中的位置;
用于根据所述文档标识、所述流偏移、所述文档的令牌流、所述静态特征和所述位置信息来生成(418)条目的装置,其中所述文档标识被用于标识与所述文档的令牌流、所述流偏移、所述静态特征和用于所述文档的位置信息对应的所述文档的起始位置;以及
用于在前向索引中存储(420)所述条目的装置。
8.如权利要求7所述的设备,进一步包括用于标识对应于所述文档的一个或多个语境流的装置,其中所述一个或多个语境流包括以下中的一个或多个:标题、锚点、标头、主体、流量、类、属性和统一资源定位符(URL)。
9.如权利要求7所述的设备,其中所述一个或多个相关的数据在响应于接收搜索查询而计算文档的排序中被频繁地使用。
10.如权利要求7所述的设备,其中所述条目是数据结构。
11.如权利要求7所述的设备,其中所述位置数据被如此确定,以便当提交搜索查询并确定结果时能容易地访问所述一个或多个相关的数据。
12.如权利要求7所述的设备,进一步包括:
用于接收搜索查询的装置;
用于接收与所生成的前向索引中的条目相关联的文档与所述搜索查询相关的指示的装置,其中通过使用由原子索引的反向索引来确定所述相关性;
用于创建搜索查询的令牌图的装置,所述令牌图包括各查询令牌;
用于扫描所述文档的令牌流,以标识是否有任何文档令牌匹配任何查询令牌的装置;以及
用于用任何匹配在令牌流中的位置来更新数据结构的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/951747 | 2010-11-22 | ||
US12/951,747 US8713024B2 (en) | 2010-11-22 | 2010-11-22 | Efficient forward ranking in a search engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102402604A CN102402604A (zh) | 2012-04-04 |
CN102402604B true CN102402604B (zh) | 2015-04-01 |
Family
ID=45884804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110373394.1A Active CN102402604B (zh) | 2010-11-22 | 2011-11-22 | 搜索引擎的有效前向排序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8713024B2 (zh) |
CN (1) | CN102402604B (zh) |
WO (1) | WO2012071169A2 (zh) |
Families Citing this family (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US9824091B2 (en) | 2010-12-03 | 2017-11-21 | Microsoft Technology Licensing, Llc | File system backup using change journal |
US9047363B2 (en) * | 2010-12-14 | 2015-06-02 | Oracle International Corporation | Text indexing for updateable tokenized text |
US8620894B2 (en) * | 2010-12-21 | 2013-12-31 | Microsoft Corporation | Searching files |
US10311513B2 (en) | 2012-03-14 | 2019-06-04 | Nasdaq Technology Ab | Method and system for facilitating access to recorded data |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
KR20150104615A (ko) | 2013-02-07 | 2015-09-15 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US8849833B1 (en) * | 2013-07-31 | 2014-09-30 | Linkedin Corporation | Indexing of data segments to facilitate analytics |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
US9146918B2 (en) | 2013-09-13 | 2015-09-29 | International Business Machines Corporation | Compressing data for natural language processing |
US10210156B2 (en) | 2014-01-10 | 2019-02-19 | International Business Machines Corporation | Seed selection in corpora compaction for natural language processing |
US10474700B2 (en) * | 2014-02-11 | 2019-11-12 | Nektoon Ag | Robust stream filtering based on reference document |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US11010768B2 (en) * | 2015-04-30 | 2021-05-18 | Oracle International Corporation | Character-based attribute value extraction system |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US10565198B2 (en) | 2015-06-23 | 2020-02-18 | Microsoft Technology Licensing, Llc | Bit vector search index using shards |
US11281639B2 (en) * | 2015-06-23 | 2022-03-22 | Microsoft Technology Licensing, Llc | Match fix-up to remove matching documents |
US10229143B2 (en) | 2015-06-23 | 2019-03-12 | Microsoft Technology Licensing, Llc | Storage and retrieval of data from a bit vector search index |
US11392568B2 (en) | 2015-06-23 | 2022-07-19 | Microsoft Technology Licensing, Llc | Reducing matching documents for a search query |
US10242071B2 (en) | 2015-06-23 | 2019-03-26 | Microsoft Technology Licensing, Llc | Preliminary ranker for scoring matching documents |
US10467215B2 (en) | 2015-06-23 | 2019-11-05 | Microsoft Technology Licensing, Llc | Matching documents using a bit vector search index |
US10733164B2 (en) | 2015-06-23 | 2020-08-04 | Microsoft Technology Licensing, Llc | Updating a bit vector search index |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10002128B2 (en) * | 2015-09-09 | 2018-06-19 | Samsung Electronics Co., Ltd. | System for tokenizing text in languages without inter-word separation |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10546030B2 (en) * | 2016-02-01 | 2020-01-28 | Microsoft Technology Licensing, Llc | Low latency pre-web classification |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180349472A1 (en) * | 2017-06-02 | 2018-12-06 | Apple Inc. | Methods and systems for providing query suggestions |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11010376B2 (en) * | 2018-10-20 | 2021-05-18 | Verizon Patent And Licensing Inc. | Methods and systems for determining search parameters from a search query |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US10943056B1 (en) * | 2019-04-22 | 2021-03-09 | Relativity Oda Llc | System and method for identifying location of content within an electronic document |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11043220B1 (en) | 2020-05-11 | 2021-06-22 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596745B2 (en) * | 2005-11-14 | 2009-09-29 | Sun Microsystems, Inc. | Programmable hardware finite state machine for facilitating tokenization of an XML document |
Family Cites Families (84)
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 |
JP4342753B2 (ja) | 2001-08-10 | 2009-10-14 | 株式会社リコー | 文書検索装置、文書検索方法、プログラム及びコンピュータに読み取り可能な記憶媒体 |
US7664840B2 (en) | 2001-09-13 | 2010-02-16 | Network Foundation Technologies, Llc | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network |
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 |
US6999958B2 (en) | 2002-06-07 | 2006-02-14 | International Business Machines Corporation | Runtime query optimization for dynamically selecting from multiple plans in a query based upon runtime-evaluated performance criterion |
US20040139167A1 (en) | 2002-12-06 | 2004-07-15 | Andiamo Systems Inc., A Delaware Corporation | Apparatus and method for a scalable network attach storage system |
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 |
US7324988B2 (en) | 2003-07-07 | 2008-01-29 | International Business Machines Corporation | Method of generating a distributed text index for parallel query processing |
US7433893B2 (en) | 2004-03-08 | 2008-10-07 | Marpex Inc. | Method and system for compression indexing and efficient proximity search of text data |
US7254774B2 (en) | 2004-03-16 | 2007-08-07 | Microsoft Corporation | Systems and methods for improved spell checking |
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 |
US7689615B2 (en) | 2005-02-25 | 2010-03-30 | Microsoft Corporation | Ranking results using multiple nested ranking |
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 |
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 |
US7930290B2 (en) | 2007-01-12 | 2011-04-19 | Microsoft Corporation | Providing virtual really simple syndication (RSS) feeds |
US20080208836A1 (en) | 2007-02-23 | 2008-08-28 | Yahoo! Inc. | Regression framework for learning ranking functions using relative preferences |
US7693813B1 (en) | 2007-03-30 | 2010-04-06 | Google Inc. | Index server architecture using tiered and sharded phrase posting lists |
US7702614B1 (en) | 2007-03-30 | 2010-04-20 | Google Inc. | Index updating using segment swapping |
WO2008120030A1 (en) | 2007-04-02 | 2008-10-09 | Sobha Renaissance Information | Latent metonymical analysis and indexing [lmai] |
US7984043B1 (en) | 2007-07-24 | 2011-07-19 | Amazon Technologies, Inc. | System and method for distributed query processing using configuration-independent query plans |
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 |
US8095512B2 (en) | 2007-11-19 | 2012-01-10 | International Business Machines Corporation | Managing database resources used for optimizing query execution on a parallel computer system |
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 |
US8386508B2 (en) | 2008-04-28 | 2013-02-26 | Infosys Technologies Limited | System and method for parallel query evaluation |
US8171031B2 (en) | 2008-06-27 | 2012-05-01 | 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 | 株式会社エヌ・ティ・ティ・ドコモ | インデックス生成システム、情報検索システム、及びインデックス生成方法 |
US8341095B2 (en) | 2009-01-12 | 2012-12-25 | 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 |
US20100318516A1 (en) | 2009-06-10 | 2010-12-16 | Google Inc. | Productive distribution for result optimization within a hierarchical architecture |
US8478704B2 (en) | 2010-11-22 | 2013-07-02 | Microsoft Corporation | Decomposable ranking for efficient precomputing that selects preliminary ranking features comprising static ranking features and dynamic atom-isolated components |
-
2010
- 2010-11-22 US US12/951,747 patent/US8713024B2/en active Active
-
2011
- 2011-11-08 WO PCT/US2011/059834 patent/WO2012071169A2/en active Application Filing
- 2011-11-22 CN CN201110373394.1A patent/CN102402604B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7596745B2 (en) * | 2005-11-14 | 2009-09-29 | Sun Microsystems, Inc. | Programmable hardware finite state machine for facilitating tokenization of an XML document |
Also Published As
Publication number | Publication date |
---|---|
WO2012071169A3 (en) | 2012-07-19 |
US20120130995A1 (en) | 2012-05-24 |
WO2012071169A2 (en) | 2012-05-31 |
CN102402604A (zh) | 2012-04-04 |
US8713024B2 (en) | 2014-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402604B (zh) | 搜索引擎的有效前向排序 | |
US11803596B2 (en) | Efficient forward ranking in a search engine | |
CN102043833B (zh) | 一种基于查询词进行搜索的方法和搜索装置 | |
US9208185B2 (en) | Indexing and search query processing | |
US7680778B2 (en) | Support for reverse and stemmed hit-highlighting | |
CN102725759B (zh) | 用于搜索结果的语义目录 | |
US8504553B2 (en) | Unstructured and semistructured document processing and searching | |
US7917493B2 (en) | Indexing and searching product identifiers | |
KR101450358B1 (ko) | 구조형 지리적 데이터 검색 | |
CN101151607B (zh) | 用于提供产品评论的方法和*** | |
JP5721818B2 (ja) | 検索におけるモデル情報群の使用 | |
US8707167B2 (en) | High precision data extraction | |
US20090327249A1 (en) | Intellegent Data Search Engine | |
US20110047171A1 (en) | Answering web queries using structured data sources | |
CN103294781B (zh) | 一种用于处理页面数据的方法与设备 | |
CN106909663B (zh) | 基于标签用户品牌偏好行为预测方法及其装置 | |
CN101128821A (zh) | 不明确地理引用的分类 | |
CN101535945A (zh) | 全文查询和搜索***及其使用方法 | |
CN101297288A (zh) | 用于确定字词排列的自然度的装置、方法和程序存储介质 | |
US20090210389A1 (en) | System to support structured search over metadata on a web index | |
CN104050243A (zh) | 一种将搜索与社交相结合的网络搜索方法及其*** | |
CN101088082A (zh) | 全文查询和搜索***及其使用方法 | |
CN109948154B (zh) | 一种基于邮箱名的人物获取及关系推荐***和方法 | |
CN104778232B (zh) | 一种基于长查询的搜索结果的优化方法和装置 | |
CN102915312A (zh) | 网站中的信息发布方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150611 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150611 Address after: Washington State Patentee after: Micro soft technique license Co., Ltd Address before: Washington State Patentee before: Microsoft Corp. |