首页> 中国专利> 将外部相关短语信息集成到基于短语的索引编制信息检索系统中

将外部相关短语信息集成到基于短语的索引编制信息检索系统中

摘要

本发明涉及一种信息检索系统,其使用短语来给文献编制索引、检索、组织并描述文献,分析文献并将所述分析的结果存储为短语数据。识别预测文献中的其它短语的存在的短语。根据文献中所包括的短语来对文献编制索引。还识别相关短语与扩展短语。俘获并分析用户提交的对关于文献集的现有短语数据的改变,且更新所述现有短语数据以反映通过所述分析获得的其它知识。

著录项

  • 公开/公告号CN101796480A

    专利类型发明专利

  • 公开/公告日2010-08-04

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN200880105846.4

  • 发明设计人 安娜·L·帕特森;

    申请日2008-09-05

  • 分类号G06F7/00(20060101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人孟锐

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 00:31:18

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-09

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F7/00 变更前: 变更后: 申请日:20080905

    专利权人的姓名或者名称、地址的变更

  • 2013-06-05

    授权

    授权

  • 2010-10-27

    实质审查的生效 IPC(主分类):G06F7/00 申请日:20080905

    实质审查的生效

  • 2010-08-04

    公开

    公开

说明书

优先权主张

本申请案主张基于2007年9月7日申请的题为“将外部相关短语信息集成到基于短语的索引编制信息检索系统中(Integrating External Related Phrase Information into aPhrase-Based Indexing Information Retrieval System)”的第11/851,962号美国申请案的优先权的权益,所述申请案的揭示内容在此以引用的方式并入本文中。

相关申请的交叉参考

本申请案与以下共同待决美国申请案相关:2004年7月26日申请的第10/900,021号申请案“信息检索系统中的短语识别(Phrase Identification in an Information RetrievalSystem)”;2004年7月26日申请的第10/900,055号申请案“信息检索系统中的基于短语的索引编制(Phrase-Based Indexing in an Information Retrieval System)”;2004年7月26日申请的第10/900,041号申请案“信息检索系统中的基于短语的搜索(Phrase-BasedSearching in an Information Retrieval System)”;2004年7月26日申请的第10/900,039号申请案“信息检索系统中的搜索的基于短语的体现(Phrase-Based Personalization ofSearches in an Information Retrieval System)”;2004年7月26日申请的第10/900,259号申请案“在使用短语的搜索结果中的自动分类产生(Automatic Taxonomy Generation inSearch Results Using Phrases)”;及2004年7月26日申请的第10/900,012号申请案“在信息检索系统中的对重复文献的基于短语的检索(Phrase-Based Detection of DuplicateDocuments in an Information Retrieval System)”;所有这些申请案被共同拥有且以引用的方式并入本文中。

技术领域

本发明涉及一种用于对例如互联网(Internet)等大规模语料库中的文献编制索引、搜索与分类的信息检索系统。

背景技术

信息检索系统通常称作搜索引擎,如今它们是一种用于在例如互联网等大规模、多样化并不断增长的语料库中寻找信息的基本工具。一般来说,搜索引擎创建索引以使文献(或“页”)与各文献中存在的个别词相关。响应于一含有多个查询项的查询来检索文献,此通常是基于在文献中存在一定数量的查询项而实现的。根据例如查询项出现的频率、主域、链接分析等其它统计度量来对检索到的文献分等级。然后,通常按分等级后的次序将检索到的文献呈现给用户,而不进行任何其它分组或强制分级。在某些情况下,仅呈现文献文本的选定部分以便使用户能够粗略了解所述文献的内容。

查询项的直接“布尔(Boolean)”匹配具有众所周知的限制,且尤其无法识别那些不具有查询项但具有相关词的文献。举例来说,在典型的布尔系统中,搜索“AustralianShepherds(澳大利亚牧羊犬)”时将不会返回不具有确切查询项的关于其它herding dogs(牧羊犬)(例如,Border Collies(博得牧羊犬))的文献。而是,所述系统通常可能同时检索到关于Australia(澳大利亚)(且与dogs(狗)无关)的文献与关于“shepherds(牧羊犬)”的文献,且将这些文献排在较高等级。

这里的问题是常规的系统是根据个别项而不是概念来为文献编制索引。概念通常以短语表示,如“Australian Shepherd(澳大利亚牧羊犬)”、“President of the United States(美国总统)”或者“Sundance Film Festival(圣丹斯电影节)”等。某些现有系统最多是关于预定且非常有限的“已知”短语集合来编制文献索引,这些“已知”短语一般是由人工操作员选择的。因为察觉到识别由(比如)三个、四个或五个或更多个词组成的所有可能的短语需要计算与存储器,所以通常会避免对短语编制索引。举例来说,如果假定任意五个词可构成一个短语且一个大的语料库将具有至少200,000个唯一项,那么将存在约3.2*1026个可能短语,此明显超出任何现有系统可存储于存储器中的量或者其可另外编程操纵的量。另一个问题是短语不断输入并会超出其在词典中的用法,此比发明新的个别词频繁得多。新短语总是从例如技术、艺术、世界事件与法律等来源中产生。其它短语将随时间降低使用。

某些现有信息检索系统试图通过使用个别词同时出现的模式来提供概念检索。在这些系统中,搜索一个词,例如“President(总统)”,将同时检索到具有频繁地与“President(总统)”一起出现的其它词(如“White(白色)”及“House(房子)”)的文献。尽管这种方法可能产生具有在个别词水平上概念性地相关的文献的搜索结果,但其通常无法俘获在同时出现的短语之间存在的主题关系。

因此,需要一种信息检索系统与方法,其可全面地识别大规模语料库中的短语、根据短语给文献编制索引、根据其短语搜索文献并将文献分等级。另外,在此系统中需要允许用户向系统提供其它短语信息并俘获且集成所得的语义知识。

发明内容

本发明涉及一种信息检索系统与方法,其使用短语来对文献集中的文献编制索引、进行搜索、分等级及描述。所述系统适合于识别那些在文献集中具有足够频繁及/或独特用法的短语以指示其为“有效”或“好”短语。以此方式,可识别多词短语,例如由四个、五个或更多项组成的短语。这就避免了必须识别由给定数量的词的所有可能序列产生的每一可能的短语并对其编制索引的问题。

该系统进一步适于基于短语预测文献中存在其它短语的能力来识别彼此相关的短语。更具体地说,利用使两个短语的实际同时出现率与这两个短语的预期同时出现率相关的预测度量。一种此类预测度量是信息增益,作为实际同时出现率与预期同时出现率的比率。在预测度量超过一预定阈值时,两个短语相关。在那种情况下,第二短语相对于第一短语具有显著的信息增益。语义上,相关短语将是那些共同用来讨论或描述一给定主题或概念的短语,例如“President of the United States(美国总统)”与“White House(白宫)”。对于给定短语,相关短语可根据其相关性或有效性基于其各自的预测度量来定序。

信息检索系统通过有效或好短语来对文献集中的文献编制索引。对于每一个短语,一个张贴列表识别那些含有所述短语的文献。此外,对于一给定短语,使用第二列表、向量或其它结构来存储指示在含有所述给定短语的每一文献中还存在给定短语的哪些相关短语的数据。以此方式,所述系统不仅可响应于搜索查询而容易地识别出哪些文献含有哪些短语,而且可识别出哪些文献还含有与查询短语相关、且因此更可能特定地关于查询短语所表示的主题或概念的短语。

使用短语与相关短语进一步提供相关短语的群集的创建和使用,相关短语的群集在语义上代表短语的有意义的分组。从在群集中的所有短语之间具有非常高的预测度量的相关短语来识别群集。群集可用来组织搜索结果,包括选择搜索结果中包括哪些文献及其次序,以及从搜索结果中去除文献。

网站通常具有从几页到可能数百或数千页之间。因此,信息检索系统产生的短语信息可用于确定每一网站的顶部短语的列表,例如网站的最具代表性的短语。这可通过检查网站上的文献中出现的短语的相关短语信息来完成。此外,短语信息可随后通过俘获管理员或其它经授权用户对顶部短语列表所作的改变且将所得语义知识集成到系统内已含的短语信息中而加以补充和精细化。管理员可将其它相关短语与网站的顶部短语的任一者相关联。已针对其接收到其它相关短语的顶部短语的相关短语信息接着经更新以包含与其它相关短语有关的信息,且其它相关短语也经更新以包含来自顶部短语的信息。此操作以将其它短语视为如同其存在于网站中一样。另外,其它相关短语可经更新以使用顶部短语的相关短语信息。

本发明在系统与软件架构、计算机程序产品及计算机实施的方法以及计算机产生的用户界面与呈现方面具有其它实施例。

上文仅仅是基于短语的信息检索系统与方法的一些特征。信息检索领域的技术人员将了解,短语信息普遍性的灵活性使其能够在文献分析与处理的编制索引、文献注释、搜索、分等级与其它领域中广泛使用与应用。

附图说明

图1是本发明的一个实施例的软件架构的框图。

图2说明一种识别文献中的短语的方法。

图3说明具有短语窗口和二级窗口的文献。

图4说明一种识别相关短语的方法。

图5说明一种对相关短语的文献编制索引的方法。

图6说明一种基于短语检索文献的方法。

图7a和7b说明参考文献与被参考文献之间的关系。

图8说明获得并集成来自用户的短语信息输入的方法。

图9说明用于显示顶部短语并允许用户输入改变的样本用户界面。

这些图式仅是出于说明的目的而描绘本发明的优选实施例。所属领域的技术人员根据以下论述将容易了解,在不偏离本文所述的本发明的原理的情况下,可采用本文所述的结构与方法的替代实施例。

具体实施方式

I.系统概述

现在参看图1,其展示了根据本发明的一个实施例的搜索系统100的一实施例的软件架构。在此实施例中,系统包括索引编制系统100、搜索系统120、呈现系统130和前端服务器140。

索引系统110负责识别文献中的短语并根据其短语通过访问各种网站190与其它文献集来对文献编制索引。前端服务器140从用户端170的用户接收查询,且向搜索系统120提供那些查询。搜索系统120负责搜索与搜索查询相关的文献(搜索结果),包括识别搜索查询中的任何短语,接着使用出现的短语对搜索结果中的文献分等级以影响等级次序。搜索系统120向呈现系统130提供搜索结果。呈现系统130负责修改搜索结果(包括除去几乎重复的文献以及产生文献的主题描述),并将经修改的搜索结果返回给前端服务器140,其将结果提供给用户端170。系统100进一步包括用于存储关于文献的索引编制信息的索引150和用于存储短语与相关统计信息的短语数据存储装置160。

在本申请案的上下文中,“文献”应理解为可以由搜索引擎编制索引并检索的任何类型的媒体,包括网页文献、图像、多媒体文件、文本文献、PDF或其它图像格式的文件等等。一个文献可以具有一个或一个以上页、分区、段或其它适合其内容与类型的组分。同等地,文献可称为“页”,其常用来指互联网上的文献。使用通用术语“文献”并不意味对本发明的范围进行任何限制。搜索系统100可对大的文献语料库进行操作,例如互联网与万维网,但其同样可用于更有限的集合中,例如用于图书馆或私营企业的文献集。在任一情形下应了解,文献通常分布在许多不同的计算机系统与站点中。于是,在不丧失一般性的情况下,不管格式或位置(例如,哪个网站或数据库),将文献统称为语料库或文献集。每一文献都具有唯一识别所述文献的相关联识别符;所述识别符优选为URL,但也可以使用其它类型的识别符(例如,文献号)。在本发明中,假定使用URL来识别文献。

II.索引编制系统

在一个实施例中,索引系统110提供三个主要功能性操作:1)识别短语与相关短语,2)关于短语对文献编制索引,及3)产生并维持基于短语的分类。所属领域的技术人员将了解,在常规索引编制功能的支持下,索引编制系统110还将执行其它功能,且因此本文不再进一步描述这些其它操作。索引编制系统110对短语数据的索引150与数据储存库160进行操作。下文进一步描述这些数据储存库。

1.短语识别

索引编制系统110的短语识别操作识别文献集中的“好”与“坏”短语,其有助于对文献编制索引和搜索。一方面,好短语是那些往往出现在文献集中超过某一百分比的文献中的短语,且/或指示为在所述文献中具有不同的外观,例如由置标标签或其它形态、格式或语法标记来定界。好短语的另一方面是其预测其它好短语,而不仅仅是出现在词典中的词序列。举例来说,短语“President of the United States(美国总统)”是预测例如“George Bush(乔治·布什)”与“Bill Clinton(比尔·克林顿)”等其它短语的短语。然而,例如“fell down the stairs”或“top of the morning”、“out of the blue”的其它短语不具预测性,因为如这些的成语与习语往往与许多其它不同且无关的短语一起出现。因此,短语识别阶段确定哪些短语是好短语且哪些是坏短语(即,缺乏预测能力)。

现在参看图2,短语识别过程具有以下功能性阶段:

200:收集可能的且好的短语,以及所述短语的频率与同时出现的统计值;

202:基于频率统计值将可能的短语分类为好短语或坏短语;

204:基于从同时出现的统计值获得的预测性度量来削减好短语列表。

现在将进一步详细地描述这些阶段中的每一阶段。

第一阶段200是这样一个过程,通过该过程,索引编制系统110爬行(crawl)文献集中的一组文献,随时间形成所述文献集的多个重复分区。每一回合处理一个分区。每一回合爬行的文献数可变化,优选为每一分区约1,000,000个文献。优选仅处理每一分区中先前未爬行的文献,直到处理完所有文献,或满足某一其它终止准则。实际上,由于新文献被不断地添加到文献集,所以爬行继续下去。索引编制系统110对经爬行的每一文献采取下列步骤。

以n的短语窗口长度遍历所述文献的词,其中n是所要的最大短语长度。窗口的长度通常为至少2项,优选为4或5项(词)。短语优选包括短语窗口中的所有词,包括那些原本会被表征为结束词的词,例如“a”、“the”等等。短语窗口可以由行尾、段落回车、置标标签或其它内容或格式变化的标志来终止。

图3说明遍历期间文献300的一部分,其展示短语窗口302从词“stock”开始并向右扩展5个词。窗口302中的第一个词是候选短语i,且序列i+1、i+2、i+3、i+4与i+5中的每一者同样为候选短语。因此,在此实例中,候选短语为:“stock”、“stock dogs”、“stock dogs for”、“stock dogs for the”、“stock dogs for the Basque”与“stock dogsfor the Basque shepherds”。

在每一短语窗口302中,依次检查每一候选短语以确定其是否已经存在于好短语列表208或可能短语列表206中。如果候选短语未存在于好短语列表208或可能短语列表206中,那么确定所述候选短语为“坏”短语并将其跳过。

如果候选短语处于好短语列表208中,例如条目gj,那么更新短语gj的索引150条目以包括所述文献(例如,其URL或其它文献识别符),以指示此候选短语gj出现在当前文献中。短语gj的索引150中的条目(或项)称作短语gj的张贴列表。张贴列表包括其中出现短语的文献d列表(通过其文献识别符,例如文献号或者URL)。

此外,如下文进一步解释,更新同时出现矩阵212。在最初的第一回合中,好的与坏的列表都将为空,且因此往往会将大多数短语添加到可能短语列表206。

如果候选短语未处于好短语列表208中,那么将其添加到可能短语列表206,除非所述候选短语已经存在于其中。可能短语列表206上的每一条目p都具有三个相关联计数:

P(p):存在可能短语的文献数;

S(p):可能短语的所有例子数;及

M(p):可能短语的受关注的例子数。在可能短语与文献中的相邻内容的不同之处在于语法或格式标记,例如黑体或下划线或为超链接或引号中的锚文本时,可能短语的例子“受关注”。这些(与其它)区别外观由各种HTML置标语言标签与语法标记来指示。当一个短语被置于好短语列表208上时,所述短语的这些统计值被维持。

除了各列表外,还维持好短语的同时出现矩阵212(G)。矩阵G具有m×m维,其中m是好短语的数量。矩阵中的每一条目G(j,k)代表一对好短语(gj,gk)。同时出现矩阵212在逻辑上(但在物理上不一定)维持每对好短语(gj,gk)关于二级窗口304的三个单独计数,所述二级窗口304的中心位于当前词i,且扩展+/-h个词。在一个实施例中,例如图3所说明,二级窗口304有30个词。因此,同时出现矩阵212维持:

R(j,k):原始的同时出现计数,即短语gj与短语gk一起出现在二级窗口304中的次数;

D(j,k):分离的受关注的计数,即短语gj或短语gk作为特异文本出现在二级窗口中的次数;及

C(j,k):连接的受关注的计数,即短语gj与短语gk两者作为特异文本出现在二级窗口中的次数。使用连接的受关注的计数尤其有利于避免短语(例如,版权通知)频繁出现在侧边栏、页脚或页眉中并因此实际上无法预测其它文本的情形。

参看图3的实例,假定“stock dogs”以及短语“Australian Shepherd”与“Australian Shepard Club of America”都位于好短语列表208上。后两个短语出现在二级窗口304内当前短语“stock dogs”周围。然而,短语“Australian Shepherd Club ofAmerica”作为到网站的超链接(由下划线指示)的锚文本出现。因此,递增所述对{“stock dogs”,“Australian Shepherd”}的原始同时出现计数,且递增{“stock dogs”,“Australian Shepherd Club of America”}的原始同时出现计数和分离的受关注的计数两者,因为后者是作为特异文本出现的。

对分区中的每一文献重复以序列窗口302与二级窗口304两者遍历每一文献的过程。

在遍历完分区中的文献后,编制索引操作的下一阶段将从可能短语列表206更新202好短语列表208。如果可能短语列表206上的可能短语p的出现频率与出现所述短语的文献数指示其足够用作语义上有意义的短语,那么将所述短语移动到好短语列表208。

在一个实施例中,如下对其测试。从可能短语列表206中除去一个可能短语p且将其置于好短语列表208上,前提条件是:

a)P(p)>10且S(p)>20(含有短语p的文献数大于10,且短语p的出现次数大于20);或者

b)M(p)>5(短语p的受关注的例子数大于5)。

这些阈值通过分区中的文献数而缩放;例如,如果在一个分区中爬行2,000,000个文献,那么阈值大约加倍。当然,所属领域的技术人员将了解,这些阈值的具体值或测试其的逻辑可按照需要而变化。

如果短语p没有资格进入好短语列表208,则检查其成为坏短语的资格。短语p是一个坏短语的条件是:

a)含有短语的文献数P(p)<2;且

b)短语的受关注的例子数M(p)=0。

这些条件指示所述短语不频繁,且不能用来指示有效内容两者,且再次地,这些阈值可根据分区中的文献数而缩放。

应注意,如上所述,除了多词短语外,好短语列表208自然将包括个别词作为短语。这是因为短语窗口302中的每一第一词总是一个候选短语,且适当的例子计数将累加。因此,索引编制系统110可自动地对个别词(即,具有单个词的短语)与多词短语两者编制索引。好短语列表208也将比基于m个短语的所有可能组合的理论最大值短很多。在典型实施例中,好短语列表208将包括约6.5x105个短语。由于系统只需要追踪可能短语和好短语,所以不需要存储坏短语列表。

通过最后一回合检查文献集,由于大语料库中短语使用的预期分布,所以可能短语的列表将相对较短。因此,如果在第10回合(例如,10,000,000个文献),一个短语第一次出现,那么其在那次是极不可能是一个好短语的。其可能是刚开始使用的新短语,因此在随后爬行期间变得越来越常见。在那种情况下,其相应计数将增加,且可能最终满足成为一个好短语的阈值。

编制索引操作的第三阶段是使用从同时出现矩阵212获得的预测性度量来削减204好短语列表208。在不削减的情况下,好短语列表208很可能包括许多尽管合理地出现在词典中但本身无法充分预测其它短语的存在或本身是更长短语的子序列的短语。除去这些较不好的短语使得更可能稳健地获得好短语。为了识别好短语,使用一预测性度量,其表达给定一短语的存在,在文献中出现另一短语的可能性增加。在一个实施例中,此如下完成:

如上所述,同时出现矩阵212是存储与好短语相关联的数据的m×m矩阵。矩阵中的每行j代表好短语gi,且每列k代表好短语gk。对于每一好短语gj,计算期望值E(gj)。期望值E是库中预期含有gj的文献的百分比。例如,其被计算为含有gj的文献数与库中已爬行的文献总数T的比率:P(j)/T。

如上所述,在gj每次出现在文献中时,便更新含有gj的文献的数目。每次gj的计数增加时或在此第三阶段期间,可更新E(gj)的值。

接下来,对于每一其它好短语gk(例如,矩阵的各列),确定gj是否预测了gk。gj的预测性度量的如下确定:

i)计算期望值E(gk)。如果gj与gk是无关短语,则预期的同时出现率E(j,k)为E(gj)*E(gk);

ii)计算gj与gk的实际同时出现率A(j,k)。此为将原始同时出现计数R(j,k)除以文献总数T;

iii)当实际同时出现率A(j,k)超过预期的同时出现率E(j,k)一阈值量时,称gj预测gk

在一个实施例中,预测性度量为信息增益。因此,当在短语gj存在下另一短语gk的信息增益I超过一阈值时,短语gj预测短语gk。在一个实施例中,此计算如下:

I(j,k)=A(j,k)/E(j,k)。

且当满足下列条件时,好短语gj预测好短语gk

I(j,k)>信息增益阈值。

在一个实施例中,信息增益阈值为1.5,但优选在1.1与1.7之间。将阈值升高到1.0以上用来减少两个原本无关的短语同时出现超过随机预测的可能性。

如上所述,相对于给定行j,对矩阵G的每列k重复信息增益的计算。在一行完成后,如果好短语gk中无一短语的信息增益超过信息增益阈值,那么这意味着短语gj不预测任何其它好短语。在那种情况下,从好短语列表208中除去gj,其基本上变为坏短语。注意,不除去短语gj的列j,因为这个短语本身可由其它好短语来预测。

当已评估同时出现矩阵212中的所有行后,结束这个步骤。

此阶段的最后一个步骤是削减好短语列表208以除去不完整短语。一个不完整短语是仅预测其扩展短语且从所述短语的最左侧(即,短语的开始处)开始的短语。短语p的“扩展短语”是以短语p开始的超序列。举例来说,短语“President of”预测“President of the United States”、“President of Mexico”、“President of AT&T”等等。由于所有后面这些短语都是以“President of”开始且是其超序列,所以他们都是“President of”的扩展短语。

因此,维持在好短语列表208上的每一短语gj都将基于先前论述的信息增益阈值来预测一定量的其它短语。现在,对于每一短语gj,索引编制系统110执行其与其所预测的每一短语gk的字符串匹配。字符串匹配测试每一预测短语gk是否为短语gj的扩展短语。如果所有预测短语gk都是短语gj的扩展短语,那么gj就不完整,将从好短语列表208中将其除去并添加到不完整短语列表216。因此,如果存在至少一个不是gj的扩展短语的短语gk,那gj是完整的,且维持在好短语列表208中。于是举例来说,因为“President of the United”所预测的唯一其它短语是“President of the United States”且这个预测短语是所述短语的扩展短语,所以“President of the United”就是一个不完整短语。

不完整短语列表216本身在实际搜索期间非常有用。当接收到搜索查询时,可将其与不完整列表216进行比较。如果所述查询(或其一部分)与所述列表中的一个条目匹配,那么搜索系统120就可查找这个不完整短语的最可能的扩展短语(给定不完整短语,具有最高信息增益的扩展短语),且向用户建议此短语或对扩展短语自动搜索。例如,如果搜索查询是“President of the United”,那么搜索系统120可自动向用户建议“President of the United States”以作为搜索查询。

在完成编制索引过程的最后一个阶段后,好短语列表208将含有在语料库中发现的大量好短语。这些好短语中的每一者都将预测至少一个不是其扩展短语的其它短语。即,每一个好短语都以足够的频率使用,且独立代表语料库中所表达的有意义的概念或思想。与使用预定或人工选择的短语的现有系统不同,好短语列表反映了语料库中正在实际使用的短语。此外,由于随着将新文献添加到文献集而周期性地重复上述爬行与编制索引过程,所以索引编制系统110在新短语进入词典时自动检测所述新短语。

2.识别相关短语与相关短语的群集

参看图4,相关短语识别过程包括以下功能操作:

400:识别具有高信息增益值的相关短语;

402:识别相关短语的群集;

404:存储群集位向量与群集号。

现在详细描述这些操作中的每一者。

首先,回想到同时出现矩阵212含有好短语gj,其中每一者都预测至少一个具有大于信息增益阈值的信息增益的其它好短语gk。然后,为了识别400相关短语,对于每一对好短语(gj,gk),将信息增益与相关短语阈值(例如,100)进行比较。即,在以下条件下,gj与gk是相关短语:

I(gj,gk)>100。

使用此高阈值来识别很好地超过统计上期望率的好短语的同时出现。在统计上,其意味着短语gj与gk同时出现率超过预期同时出现率的100倍。举例来说,给定文献中的短语“Monica Lewinsky”,短语“Bill Clinton”在相同文献中更可能出现率是其100倍,则短语“Bill Clinton”可能出现在任意随机选择的文献中。因为出现率是100∶1,所以另一种表述方式是预测准确度为99.999%。

因此,将小于相关短语阈值的任何条目(gj,gk)调零,从而指示短语gj,gk不相关。现在,同时出现矩阵212中的任何剩余条目都指示所有相关短语。

接下来,通过信息增益值I(gj,gk)来对同时出现矩阵212的各行gj中的列gk分类,使得首先列出具有最高信息增益的相关短语gk。因此,此分类为给定短语gj识别出按照信息增益哪些其它短语最可能相关。

下一步骤是确定402哪些相关短语一起形成相关短语群集。群集是相关短语的集合,其中每一短语相对于至少一个其它短语而具有高信息增益。在一个实施例中,如下识别群集。

在矩阵的每行gj中,将存在一个或一个以上与短语gj相关的其它短语。这个集合就是相关短语集合Rj,其中R={gk,gl…gm}。

对于Rj中的每一相关短语m,索引编制系统110确定R中的每一其它相关短语是否也与gj相关。因此,如果I(gk,gl)也为非零,那么gj、gk与gl是群集的一部分。对R中的每一对(gl,gm)重复此群集测试。

举例来说,假定好短语“Bill Clinton”与短语“President”、“Monica Lewinsky”相关,这是因为这些短语中的每一者相对于“Bill Clinton”的信息增益都超过相关短语阈值。另外,假定短语“Monica Lewinsky”与短语“purse designer”相关。这些短语随后形成集合R。为确定群集,索引编制系统110通过确定这些短语中的每一者的对应信息增益来评估所述短语相对于其它短语的信息增益。因此,索引编制系统110确定R中的所有对短语的信息增益I(“President”,“Monica Lewinsky”)、I(“President”,“purse designer”)等等。在此实例中,“Bill Clinton”、“President”与“Monica Lewinsky”形成一个群集,“Bill Clinton”与“President”形成第二群集,且“Monica Lewinsky”与“purse designer”形成第三群集,且“Monica Lewinsky”、“Bill Clinton”与“purse designer”形成第四群集。这是因为尽管“Bill Clinton”没有足够的信息增益来预测“purse designer”,但“Monica Lewinsky”预测这两个短语。

为记录404群集信息,向每一个群集指派一个唯一的群集号(群集ID)。然后,结合每一个好短语gj一起记录此信息。

在一个实施例中,由群集位向量来确定群集号,群集位向量还指示短语之间的正交关系。群集位向量是长度为n的位的序列,n是好短语列表208中的好短语的数量。对于给定的好短语gj,位位置对应于gj的经分类的相关短语R。如果R中的相关短语gk与短语gj在同一个群集中,则设定一个位。更一般来说,这意味着如果在gj与gk之间的任一方向上存在信息增益,则设定群集位向量中的对应位。

于是,群集号是所得位串的值。此实施方案具有这样一个特性,即具有多向或单向信息增益的相关短语出现在相同群集中。

如下是使用上述短语的群集位向量的一个实例:

  Bill Clinton  President  Monica Lewinsky  purse designer群集ID  Bill Cliton  1  1  1  0  14  President  1  1  0  0  12  Monica Lewinsky  1  0  1  1  11  purse designer  0  0  1  1  3

于是进行概括,在此过程后,将为每一个好短语gj识别一组相关短语R,其按照信息增益I(gj,gk)从高到低的次序分类。此外,对于每一个好短语gj,都将有一个群集位向量,其值是用于识别短语gj是其成员的主要群集的群集号,且正交值(对于每一位位置为1或0)指示R中的相关短语中哪个短语与gj处于共同群集中。因此,在上述实例中,“Bill Clinton”、“President”与“Monica Lewinsky”处于基于短语“BillClinton”的行中的位的值的群集14中。

为存储此信息,可使用两种基本表示法。第一,如上所指示,可将信息存储在同时出现矩阵212中,其中:

条目G[行j,列k]=(I(j,k),群集号,群集位向量)。

或者,可避免矩阵表示法,且将所有信息存储在好短语列表208中,其中每一行代表一个好短语gj

短语行j=列表[短语gk,(I(j,k),群集号,群集位向量)]。

此方法提供了一种有用的群集组织法。首先,此方法不是一个严格且常任意界定的主题与概念的分级,而是认识到相关短语所指示的主题形成一个复杂的关系表,其中某些短语与许多其它短语相关,且某些短语的范围更有限,且其中各关系可以是相互的(每一短语预测其它短语)或单向的(一个短语预测其它短语,但反之则不可)。结果是可将群集表征成对每一好短语来说是“局部”的,随后某些群集将由于具有一个或一个以上共同的相关短语而重叠。

随后对于一个给定的好短语gj,相关短语按照信息增益的定序提供了一种用来命名短语群集的分类法:群集名是群集中具有最高信息增益的相关短语的名称。

上述方法提供了一种用于识别出现在文献集中的有效短语的非常稳健的方式,且有益的是,提供这些相关短语在实际实施中一起用在自然“群集”中的方式。因此,对相关短语的此数据驱动群集避免了许多系统中常见的相关术语与概念的任何人工导向的“编辑”选择所固有的偏差。

3.以短语与相关短语对文献编制索引

给定包括关于相关短语与群集的信息的好短语列表208,索引编制系统110的下一个功能操作是关于好短语与群集来对文献集中的文献编制索引,并将经更新的信息存储在索引150中。图5说明此过程,其中存在对文献编制索引的下列功能阶段:

500:将文献张贴到文献中所发现的好短语的张贴列表。

502:更新相关短语与二级相关短语的例子计数和相关短语位向量。

504:以相关短语信息来注释文献。

506:根据张贴列表大小来对索引条目重新定序。

现在将更详细地描述这些阶段。

如上所述,遍历或爬行一文献集合;此可以是相同或不同的文献集合。对于一给定文献d,以上述方式从位置i开始,以长度为n的序列窗口302逐词遍历500文献。

在一给定短语窗口302中,从位置i开始识别窗口中的所有好短语。每一好短语都表示为gi。因此,g1是第一个好短语,g2将是第二个好短语,且依此类推。

对于每一好短语gi(实例g1“President”与g4“President of ATT”),将文献识别符(例如,URL)张贴到索引150中的好短语gi的张贴列表。此更新识别出,在此特定文献中出现好短语gi

在一个实施例中,短语gj的张贴列表采用以下逻辑形式:

短语gj:列表:(文献d,[列表:相关短语计数][相关短语信息])。

对于每一短语gj,存在一个出现所述短语的文献d的列表。对于每一文献,存在一个同样出现在文献d中的短语gj的相关短语R的出现次数的计数的列表。

在一个实施例中,相关短语信息是一个相关短语位向量。此位向量可表征为一个“双位”向量,这是因为对于每一相关短语gk,存在两个位位置:gk-1与gk-2。第一位位置存储指示是否在文献d中存在相关短语gk(即,文献d中的gk的计数大于0)的旗标。第二位位置存储指示是否在文献d中也存在短语gk的相关短语gl的旗标。短语gj的相关短语gk的相关短语gl在本文中称作“gj的二级相关短语”。所述计数与位位置对应于R中短语的规范次序(按照递减的信息增益的次序分类)。此分类次序产生这样一个效果,即使得gj最高度预测的相关短语gk与相关短语位向量的最高有效位相关联,且gj最少预测的相关短语gl与最低有效位相关联。

比较有用的是注意到对于给定短语g,相对于所有含有g的文献,相关短语位向量的长度以及相关短语与所述向量的个别位之间的关联都相同。此实施方案具有以下特性,即允许系统容易地比较含有g的任何(或所有)文献的相关短语位向量,以观察哪些文献具有给定的相关短语。这有利于促进搜索过程响应于搜索查询来识别文献。因此,给定文献将出现在许多不同短语的张贴列表中,且在每一此类张贴列表中,所述文献的相关短语向量将专用于拥有所述张贴列表的短语。这方面保持了相关短语位向量相对于个别短语和文献的局部性。

因此,下一阶段502包括遍历文献中的当前索引位置的二级窗口304(如前所述,+/-K项(例如30项)的二级窗口),例如从i-K到i+K。对于出现在二级窗口304中的gi的每一相关短语gk,索引编制系统110相对于相关短语计数中的文献d来递增gk的计数。如果gi稍后出现在文献中且在稍后的二级窗口中再次发现相关短语,则再次递增计数。

如上所述,基于计数来设定相关短语位映射中的对应第一位gk-1,如果gk的计数>0,则将位设定为1,或如果所述计数等于0,则将其设定为0。

接下来,通过在索引150中查找相关短语gk,在gk的张贴列表中识别文献d的条目,且然后检查gk的任何相关短语的二级相关短语计数(或位),而设定第二位gk-2。如果设定了这些二级相关短语计数/位中的任一者,则此指示在文献d中还存在gj的二级相关短语。

当以此方式完全处理完文献d时,索引编制系统110将已经识别出以下内容:

i)文献d中的每一好短语gj

ii)针对每一好短语gj,识别出其哪些相关短语gk存在于文献d中;

iii)针对存在于文献d中的每一相关短语gk,识别出其哪些相关短语gl(gj的二级相关短语)也存在于文献d中。

a)确定文献主题

通过短语对文献编制索引并使用群集信息提供索引编制系统110的另一个优点,其为基于相关短语信息来确定文献所关于的主题的能力。

假定对于给定短语gj与给定文献d,张贴列表条目如下:

gj:文献d:相关短语计数:={3,4,3,0,0,2,1,1,0}

相关短语位向量:={11 11 10 00 00 10 10 10 01}

其中,相关短语位向量展示为双位对。

从相关短语位向量,我们可确定文献d的一级与二级主题。一级主题由位对(1,1)指示,且二级主题由位对(1,0)指示。相关短语位对(1,1)指示文献d中存在所述位对的相关短语gk以及二级相关短语gl两者。此可解释为意味着在撰写所述文献d时文献的作者一起使用了若干相关短语gj、gk与gl。位对(1,0)指示存在gj与gk两者,但不存在gk的任何其它二级相关短语,因此这是一个较不有效的主题。

b)改善分等级的文献注释

索引编制系统110的另一方面是能够在编制索引期间用使得随后搜索期间的分等级得以改善的信息来注释504每一文献d。注释过程506如下。

文献集中的给定文献d可具有一定数量的对其它文献的外链接。每一外链接(超链接)都包括锚文本与目标文献的文献识别符。出于解释的目的,将正在处理的当前文献d称作URL0,且将文献d上的外链接的目标文献称作URL1。为了稍候用于对搜索结果中的文献分等级,对于指向某些其它URLi的URL0中的每一链接,索引编制系统110创建所述链接相对于URL0的锚短语的外链接得分和所述锚短语相对于URLi的内链接得分。即,文献集中的每一链接都有一对得分,即一外链接得分与一内链接得分。如下计算这些得分。

在给定文献URL0上,索引编制系统110识别对另一文献URL1的每一外链接,其中锚文本A是在好短语列表208中的一个短语。图7a示意性地说明此关系,其中文献URL0中的锚文本“A”用于超链接700中。

在短语A的张贴列表中,将URL0作为短语A的外链接张贴,且将URL1作为短语A的内链接张贴。对于URL0,如上所述来完成相关短语位向量,以识别URL0中存在的A的相关短语与二级相关短语。将此相关短语位向量用作从URL0到含有锚短语A的URL1的链接的外链接得分。

接下来,如下确定内链接得分。对于对含有锚短语A的URL1的每一内链接,索引编制系统110扫描URL1,且确定在URL1的主体中是否出现短语A。如果短语A不仅指向URL1(经由URL0上的外链接),而且出现在URL1本身的内容中,那么此表明可称URL1与短语A所代表的概念内部相关。图7b说明了此情况,其中短语A出现在URL0(作为锚文本)与URL1的主体中。在此情况下,将URL1的短语A的相关短语位向量用作从URL0到含有短语A的URL1的链接的内链接得分。

如果锚短语A没有出现在URL1的主体中(如图8a),则采取不同的步骤来确定内链接得分。在此情况下,索引编制系统110创建用于短语A的URL1的相关短语位向量(如同在URL1中存在短语A),且指示短语A的哪些相关短语出现在URL1中。接下来,将此相关短语位向量用作从URL0到URL1的链接的内链接得分。

举例来说,假定在URL0与URL1中最初存在以下短语:

(在以上和以下表中,未展示二级相关短语)。URL0行是来自锚文本A的链接的外链接得分,且URL1行是所述链接的内链接得分。这里,URL0含有目标为URL1的锚短语“Australian Shepard”。在“Australian Shepard”的五个相关短语中,仅一个“Aussie”出现在URL0中。于是直观上,URL0与Australian Shepards仅弱相关。通过比较,URL1不仅具有存在于文献主体中的短语“Australian Shepherd”,而且还具有许多相关短语“blue merle”、“red merle”与“tricolor”。因此,因为锚短语“AustralianShepard”出现在URL0与URL1中,所以URL0的外链接得分与URL1的内链接得分是以上所示的相应行。

上述第二种情况是URL1中没有出现锚短语A的情形。在那种情况下,索引编制系统110扫描URL1并确定在URL1中存在相关短语“Aussie”、“blue merle”、“redmerle”、“tricolor”与“agility training”中的哪些短语,并因此产生一个相关短语位向量,例如:

这里,此展示URL1不含有锚短语“Australian Shepard”,但含有相关短语“bluemerle”、“red merle”与“tricolor”。此方法有利于完全防止对网页(一类文献)进行某些类型的操纵以便歪曲搜索结果。通过人工创建大量具有指向所要页的给定锚文本的页可“轰击”使用有赖于指向给定文献的链接数的分等级算法来对所述文献分等级的搜索引擎。因此,当输入使用锚文本的搜索查询时,通常返回所要页,即使实际上此页与锚文本几乎或完全没有关系。将相关位向量从目标文献URL1导入到文献URL0的短语A的相关短语位向量中消除了搜索系统对指向URL1以作为有效性的指示符的URL0中或URL1中的短语A与锚文本短语之间的关系的依赖性。

基于索引150中的每一短语在语料库中的出现频率,还给予每一短语一短语号。短语越常见,其在索引中接收的短语号就越低。接下来,索引编制系统110根据每一张贴列表中的短语号所列出的文献数来对索引150中的所有张贴列表降序分类506,使得首先列出最频繁出现的短语。于是,可使用短语号来查找特定短语。

III.搜索系统

搜索系统120操作以接收查询并搜索与所述查询相关的文献,且在搜索结果集合中提供这些文献的列表(以及这些文献的链接)。图6说明搜索系统120的主要功能操作:

600:识别查询中的短语;

602:检索与查询短语相关的文献;

604:根据短语对搜索结果中的文献分等级。

这些阶段中的每一阶段的细节如下。

1.识别查询和查询展开中的短语

搜索系统120的第一阶段600是识别查询中存在的任何短语以便有效地搜索索引。在这部分中使用下列术语:

q:输入的并由搜索系统120接收的查询;

Qp:查询中存在的短语;

Qr:Qp的相关短语;

Qe:Qp的扩展短语;

Q:Qp和Qr的并集。

从用户端190接收查询q,所述查询q具有至多某一最大数量的字符或词。

搜索系统120使用大小为N(例如5)的短语窗口来遍历所述查询q的各项。所述短语窗口先从所述查询的第一项开始,然后向右扩展N项。然后,这个窗口向右移动M-N次,其中M是所述查询中的项数。

在每一窗口位置处,窗口中都将存在N项(或更少项)。这些项构成一个可能的查询短语。在好短语列表208中查找可能短语,确定它是否为一个好短语。如果好短语列表208中有这个可能短语,那么给短语返回一个短语号;现在,这个可能短语就是一个候选短语。

在测试完每一窗口中的所有可能短语以确定它们是否为好的候选短语后,搜索系统120将为查询中的对应短语赋予一组短语号。接下来,将这些短语号分类(降序)。

从作为第一候选短语的最高短语号开始,搜索系统120确定在经分类的列表内的固定数值距离内是否有另一个候选短语,即短语号之间的差在(例如)20,000的阈值量内。如果有,那么选择查询中最左边的短语作为有效的查询短语Qp。从候选短语列表中去除这个查询短语及其所有子短语,且将所述列表重新分类并重复上述过程。这个过程的结果是一组有效查询短语Qp。

例如,假定搜索查询是“Hillary Rodham Clinton Bill on the Senate Floor”。搜索系统120将识别下列候选短语:“Hillary Rodham Clinton Bill on”、“Hillary RodhamClinton Bill”及“Hillary Rodham Clinton”。丢弃前两个,而保持最后一个作为有效查询短语。接下来,搜索系统120将识别“Bill on the Senate Floor”和子短语“Bill on theSenate”、“Bill on the”、“Bill on”、“Bill”,且会选择“Bill”作为有效查询短语Qp。最后,搜索系统120会解析“on the Senate Floor”,并识别“Senate Floor”作为有效查询短语。

接下来,搜索系统120调整有效短语Qp以使首字母大写。在解析查询时,搜索系统120识别每一有效短语中的潜在首字母大写。此可以通过利用已知的首字母大写表(例如,“united states”的首字母大写为“United States”)或利用以语法为基础的首字母大写算法来完成。此产生适当首字母大写的查询短语的集合。

接下来,当该集合中存在短语及其子短语两者时,搜索系统120第二回合检查首字母大写的短语,且只选择那些短语的最左边字母且将其变成大写。例如,对“president ofthe united states”的搜索的大写将为“President of the United States”。

在下一阶段,搜索系统120识别602与查询短语Q相关的文献。搜索系统120接着检索查询短语Q的张贴列表,且使这些列表相交以确定哪些文献出现在查询短语的所有(或一些)张贴列表上。如果查询中的短语Q具有一组扩展短语Qe(下文中将进一步解释),那么搜索系统120首先形成所述扩展短语的张贴列表的并集,然后使其与这些张贴列表相交。如上所述,搜索系统120通过在不完整短语列表216中查找每一查询短语Q来识别扩展短语。

相交的结果是一组与查询相关的文献。通过短语和相关短语给文献编制索引,识别查询中的短语Q,且然后将查询展开到包括扩展短语,从而产生一组比常规的基于布尔的搜索系统更与查询相关的文献的选集,在常规的基于布尔的搜索系统中,只选择含有所述查询项的文献。

在一个实施例中,搜索系统120可使用优化机制来响应于查询识别文献而不一定使查询短语Q的所有张贴列表相交。由于索引150的结构,所以对于每一个短语gj,其相关短语gk均是已知的,且在gk的相关短语位向量中识别。因此,此信息可用于简化其中两个或两个以上查询短语是彼此相关的短语或具有共同的相关短语的相交过程。在那些情况下,可直接访问相关短语位向量,且然后用于接下来检索对应文献。下文更全面地描述此方法。

给定任意两个查询短语Q1和Q2,存在三种可能的相关情形:

1)Q2是Q1的相关短语;

2)Q2不是Q1的相关短语,且其相应的相关短语Qr1和Qr2不相交(即,没有共同的相关短语);及

3)Q2不是Q1的相关短语,但其相应的相关短语Qr1和Qr2相交。

对于每一对查询短语,搜索系统120通过查找查询短语Qp的相关短语位向量来确定适当的情形。

搜索系统120继续针对查询短语Q1检索包括含有Q1的文献的张贴列表,并针对这些文献中的每一文献检索相关短语位向量。Q1的相关短语位向量将指示短语Q2(且如果有的话,还包括剩余查询短语中的每一者)是否为Q1的相关短语且是否存在于该文献中。

如果第一种情况适用于Q2,那么搜索系统120扫描Q1的张贴列表中的每一文献d的相关短语位向量,以便确定其中是否具有为Q2设定的位。如果Q1张贴列表中的文献d没有设定这个位,那么其意味着Q2没有出现在那个文献中。因此,可立即将这个文献排除在考虑之外。然后,可对剩余文献计分。这进一步意味着搜索系统120无需处理Q2的张贴列表来查看它还存在于哪些文献中,从而节省了计算时间。

如果第二种情况适用于Q2,那么这两个短语彼此无关。例如,查询“cheap bolt actionrifle”具有两个短语“cheap”和“bolt action rifle”。这些短语彼此不相关,且另外,这些短语中的每一者的相关短语都不重叠;即“cheap”具有相关短语“low cost”、“inexpensive”、“discount”、“bargain basement”和“lousy”,而“bolt action rifle”具有相关短语“gun”、“22caliber”、“magazine fed”和“Armalite AR30M”,因此这些列表不相交。在此情况下,搜索系统120使Q1和Q2的张贴列表规则(regular)相交以获得文献用于计分。

如果第三种情况适用,那么两个短语Q1和Q2虽然不相关,但它们具有至少一个共同的相关短语。例如,短语“bolt action rifle”和“22”两者均具有“gun”作为相关短语。在此情况下,搜索系统120检索这两个短语Q1和Q2的张贴列表且使这些列表相交以产生含有两个短语的文献列表。

然后,搜索系统120可快速地对所得文献中的每一者计分。首先,搜索系统120确定每一文献的得分调整值。得分调整值是由在文献的相关短语位向量中对应于查询短语Q1和Q2的位置的位所形成的掩码。例如,假定Q1和Q2对应于文献d的相关短语位向量中的第3和第6个双位位置,且第3个位置的位值是(1,1),且第6对中的位值是(1,0),那么得分调整值就是位掩码“00 00 11 00 00 10”。然后,使用得分调整值来屏蔽文献的相关短语位向量,且接着将经修改的短语位向量传递到分等级函数(如下所述)中以用于计算所述文献的主体得分。

2.分等级

a)基于所含短语对文献分等级

搜索系统120提供分等级阶段604,其中使用每一文献的相关短语位向量中的短语信息和查询短语的群集位向量来对搜索结果中的文献分等级。此方法是根据文献中所含有的短语或非正式的“主体命中”来对文献分等级。

如上所述,对于任一给定的短语gj,gj的张贴列表中的每一文献d具有识别在文献d中存在哪些相关短语gk和哪些二级相关短语gi的相关联相关短语位向量。给定文献中存在的相关短语和二级相关短语越多,在给定短语的文献相关短语位向量中将设定的位就越多。设定的位越多,相关短语位向量的数值就越大。

因此,在一个实施例中,搜索系统120根据文献的相关短语位向量的值来对搜索结果中的文献分类。含有与查询短语Q最相关的短语的文献将具有最高值的相关短语位向量,且这些文献将是搜索结果中的最高等级的文献。

此方法之所以较理想是因为在语义上,这些文献在主题上与查询短语最相关。注意,此方法可提供高度相关的文献,即使这些文献不含有高频率的输入查询项q,这是因为相关短语信息曾用于识别相关文献,而且接着对这些文献分等级两者。具有低频率的输入查询项的文献仍可具有查询项和短语的大量相关短语,且因此比仅具有高频率的查询项和短语但无相关短语的文献更相关。

在第二实施例中,搜索系统120根据结果集合中的每一文献所含有的查询短语Q的相关短语来对每一文献计分。此通过如下方式完成。

给定每一查询短语Q,将存在某一数目N的与所述查询短语相关的短语Qr,其可在短语识别过程期间识别。如上所述,根据相关查询短语Qr的来自查询短语Q的信息增益来对相关查询短语Qr定序。然后,对这些相关短语指派点,先为第一相关短语Qr1(即,具有来自Q的最高信息增益的相关短语Qr)指派N个点,然后为下一个相关短语Qr2指派N-1个点,然后为Q3指派N-2个点,依此类推,因此为最后一个相关短语QrN指派1个点。

然后,通过确定存在查询短语Q的哪些相关短语Qr,且给予所述文献指派给每一所述相关短语Qr的点,而对搜索结果中的每一文献计分。接着根据从最高到最低的得分将所述文献分类。

作为进一步的精细化,搜索系统120可从结果集合中精选某些文献。在一些情况下,文献可能关于许多不同的主题;对于较长文献尤其如此。在许多情况下,与许多不同主题相关的文献相比,用户更喜欢那些与查询中所表达的单个主题密切相关的文献。

为了精选后一类型的文献,搜索系统120使用查询短语的群集位向量中的群集信息,且去除其中存在多于阈值数量的群集的任何文献。例如,搜索系统120可去除任何含有多于两个群集的文献。此群集阈值可预先确定,或由用户设定为一个搜索参数。

b)基于锚短语对文献分等级

除了基于查询短语Q的主体命中来对搜索结果中的文献分等级外,在一个实施例中,搜索系统120还基于对其它文献的锚中出现的查询短语Q和相关查询短语Qr来对文献分等级。在一个实施例中,搜索系统120计算每一文献的得分,所述得分是两个得分(即,主体命中得分和锚命中得分)的函数(例如,线性组合)。

例如,可如下计算给定文献的文献得分:

得分=.30*(主体命中得分)+.70*(锚命中得分)。

.30和.70的权值可按照需要调整。以上文所述的方式给定查询短语Qp,则文献的主体命中得分是所述文献的最高值的相关短语位向量的数值。或者,搜索系统120可以通过如下方式直接获得此值:查找索引150中的每一查询短语Q,从查询短语Q的张贴列表访问文献,且然后访问相关短语位向量。

文献d的锚命中得分是查询短语Q的相关短语位向量的函数,其中Q是参考文献d的文献中的锚项。当索引编制系统110为文献集中的文献编制索引时,其为每一短语维持文献列表,其中所述短语是外链接中的锚文本,且还为每一文献维持来自其它文献的内链接列表(和相关联的锚文本)。一个文献的内链接是从其它文献(参考文献)到给定文献的参考(例如,超链接)。

然后为了确定给定文献d的锚命中得分,搜索系统120通过以索引列出的参考文献R集合(i=1-参考文献数)的锚短语Q在所述参考文献R集合上迭代,且对下列乘积求和:

Ri.Q.相关短语位向量*D.Q.相关短语位向量。

这里的乘积值是锚短语Q与文献D主题相关的程度的得分。这里将此得分称为“入站得分分量”。此乘积有效地通过参考文献R中的锚短语的相关位向量来对当前文献D的相关位向量加权。如果参考文献R本身与查询短语Q相关(且因此具有较高值的相关短语位向量),那么此增加当前文献D得分的有效性。然后,组合主体命中得分和锚命中得分以如上所述产生文献得分。

接下来,针对参考文献R中的每一者,获得每一锚短语Q的相关短语位向量。这是对锚短语Q与文献R主题相关程度的度量。这里将此值称为“出站得分分量”。

然后从索引150提取所有(参考文献,被参考文献)对的锚短语Q。然后通过这些对的相关联的(出站得分分量,入站得分分量)值来对这些对分类。依据实施方案,这些分量中的任一者都可以是主分类关键词,而另一个分量可为二级分类关键词。然后,将经分类的结果呈现给用户。根据出站得分分量对文献分类使具有许多与查询相关的短语作为锚命中的文献的等级最高,因此将这些文献表示为“专家”文献。根据入站文献得分分类使由于锚项而经常被参考的文献的等级最高。

IV.顶部短语和短语信息精细化

短语信息精细化系统130使用索引编制系统110产生的每个文献短语信息来确定个别网站(或其它有限文献集)的其它短语信息,且使用用户对此其它信息所作的任何修改来精细化存储在索引150中的现有所产生的短语信息。图8说明短语信息精细化系统130的主要功能操作:

800:确定与给定网站相关联的顶部短语

810:接收顶部短语的其它相关短语

820:以其它相关短语更新顶部短语的相关短语

830:以来自现有相关短语的信息更新其它相关短语

1.确定顶部短语

除了确定其中出现特定短语和相关短语的文献外(如索引编制系统110已实现的),短语信息精细化系统130还经配置以确定特定网站或其它有限文献集的具代表性或有效短语的集合;这些具代表性的短语一般可称为“顶部短语”。网站的“顶部短语”是所述网站很可能相关的查询的有用指示符,且因此提供实现用于改善的搜索效率的机制。

对于给定网站,短语信息精细化系统130处理800网站内的每一文献以确定每页的顶部短语,且接着聚集这些每页顶部短语以整体确定文献集的顶部短语。

(a)每文献处理

对于网站中的每一文献,短语信息精细化系统130从索引150确定文献中出现的短语。对于每一识别的短语,基于相关短语计算重要性得分。在一个实施例中,短语的重要性得分是文献中相关短语的每一者的总计出现频率的函数。这已通过检查索引编制系统110早先创建的文献的张贴列表而实现,因为相关短语的列表和文献中每一相关短语的频率存储在针对给定短语和文献的张贴列表内。此确定意味着将具有最多相关短语的短语视为最代表给定文献。

(b)确定网站的顶部短语

在确定了网站中的每一文献的顶部短语的情况下,短语信息精细化系统130现使用此每文献信息以便整体确定网站的顶部短语。在一个实施例中,跨越网站中的文献对每一顶部短语的得分求和,且选择具有最高总得分的数目N(例如,10)个短语作为网站的顶部短语。在另一实施例中,根据文献的顶部短语在文献集中的位置而对其得分加权。举例来说,在由网页组成的文献集中,具有到网站的根较短路径的页被给予比具有较长路径的页高的加权(假设较接近根的页比深深嵌套在页层级中的页重要)。网站的顶部短语接着存储在由网站的首页的文献识别符编制索引的数据结构中。

可周期性地或按照网站管理员的需要而重新计算网站的顶部短语。在一个实施例中,每次更新时,先前的顶部短语集合的得分可衰减并与当前顶部短语集合的得分组合,随后确定最终得分,且将其分类以识别新的顶部短语。举例来说,最终得分可以是75%的当前得分与25%的先前得分的加权组合。此(或其它线性或非线性)衰减函数使网站能够逐渐改变其最重要的短语。

2.接收当前顶部短语的替代顶部短语

短语信息精细化系统130还提供一界面,其允许文献集的管理员(例如,网站管理员)观看顶部短语并手动将其改变为认为更能代表网站内容的短语。允许管理员作出此些改变给予了以更具代表性短语更新顶部短语列表使得库中的文献将认为是与较广范围的查询相关以及提供其它可靠语义信息的双重益处,如下文所论述。

图9示意性地说明为此目的设计的简化的基于网站的用户界面。网站管理员或其它经授权管理员首先输入适当的识别信息,例如早先注册过程期间创建的并将其识别为对于网站拥有权限的用户名和密码。在此识别信息验证后,短语信息精细化系统130接着显示一页,例如图9的用户界面。网站的顶部短语呈现于文本字段902中。管理员可针对顶部短语的任一者提供不同的替代短语,且以按钮904将这些替代短语提交给系统130。举例来说,管理员可规定,用更具代表性的顶部短语(例如,“dog sports”)替代顶部短语“working dog”906。

3.更新现有短语信息

管理员所作的改变表示关于短语的关系的尤其可靠的知识,因为其是由对文献集拥有权限且因此关于文献集表示什么概念可能非常了解的管理员手动输入的。因此,俘获此其它知识,用其来补充索引编制系统110自动确定的现有短语信息并创建对于短语关系的更丰富且更具代表性的理解是非常有价值的。

起初,短语信息精细化系统130更新短语信息,注意使用当前顶部短语TPold到新的管理员指定的替代顶部短语TPnew的改变作为更新的基础。响应于顶部短语改变,执行一系列动作,其次序不需要以下文陈述的特定次序执行。事实上,所述动作的次序可在不同实施例中变化很大,但仍实现相同结果。更新步骤820的效果是将每一替代顶部短语视为“如同”其已存在于网站中一样。一般来说,这通过将网站添加到替代短语的张贴列表且接着以来自旧顶部短语和其它顶部短语的相关短语数据更新替代顶部短语的相关短语数据来完成。现更详细地描述此过程。

首先,将网站的根文献(例如,网站的基础URL)添加到替代顶部短语TPnew的张贴列表。这实际上将TPnew与网站相关联,将其视为如同其出现在网站的首页上一样。这是合理的,因为顶部短语表示整个文献集,而不是其任何特定文献,且因此首页充当网站上替代顶部短语出现的位置的代理。

另一动作是将当前顶部短语TPold添加到替代顶部短语TPnew的相关短语列表,以及同样地将TPnew添加到TPold的相关短语列表。此动作是适当的,因为管理员已通过提供新短语作为旧短语的替代而明确地指示短语是相关的。此特征因此允许系统俘获两个短语之间的语义关系。这通过访问短语TPold和TPnew每一者的张贴列表,进一步访问文献集的根文献的条目(例如,网站的基础URL)且接着更新此条目以反映存在其它短语作为相关短语来完成。

另一动作是确定哪些相关短语TPold和TPnew具有共同点。由于一个短语的相关短语位向量的位不对应于另一短语的相关短语位向量的位,所以相关短语的相交不能简单地通过使两个短语的相关短语位向量相交来确定。事实上,针对TPold和TPnew中的每一者确定对应于位向量位的实际相关短语的集合,且接着使两个集合相交,结果是与TPold和TPnew两者相关的短语。在一个实施例中,相交(即,共同)的相关短语在TPnew的张贴列表中的计数被设定为TPold的计数,这用以给予TPnew针对其共同相关短语的TPold的计数的副本。

举例来说,如果TPold的相关短语为“blue merle”、“red merle”和“Aussie”且TPnew的相关短语为“agility training”、“red merle”和“working dog”,那么相关短语“red merle”为相交的。因此,在TPnew的张贴列表中,访问库的根文献的条目,且递增相关短语“red merle”的计数。

预期一些网站管理员和管理员将试图提供其实际上语义上不相关的顶部短语的替代短语;这可意外地或故意进行,例如以便将搜索结果追击到页。此问题可通过确保替代短语TPnew具有与其将替代的TPold最小程度的语义关系而得以避免。随后在一个实施例中,TPnew不能替代TPold,除非两个短语存在某一程度的相关性,例如至少一个短语的相应一级相关短语或二级相关短语存在共同点。此外,在此实施例中,短语信息精细化系统130可另外通过递减关于网站的TPnew的相关短语的计数而为替代不相关短语的尝试设置障碍。“递减障碍”用以阻止管理员输入流行的但虚假的顶部短语来吸引用户到所述网站。

又一动作是递增相关短语(其也是网站的顶部短语)的TPnew的相关短语列表中的计数。此递增反映以下事实:顶部短语已存在于文献集中某处(在自动确定的顶部短语的情况下)或至少视为有效地(如果并非实际上)存在(在手动指定的顶部短语的情况下)。举例来说,假定网站中食谱配方的顶部短语为“baked chicken”、“chicken salad”、“vegetable stew”和“roast beef”,且进一步假定正使用新的顶部短语“chickendishes”替代旧的顶部短语“baked chicken”。还假定“baked chicken”的相关短语为“roast chicken”、“broiled chicken”和“chicken salad”。因为“chicken salad”是网站中现有的顶部短语,且还是替代短语“chicken dishes”的相关短语,所以短语“chicken salad”的相关短语列表中“chicken salad”的条目递增。

这些各种更新动作的效果是以信息更新数据结构,如同管理员指定的替代短语TPnew本身存在于网站中并与其张贴列表相关短语条目指示的其它短语相关。尽管TPnew可能实际上不存在,但管理员声明其为文献集的顶部短语的事实意味着此“模拟”关系数据具有强大的语义基础且是对系统100追踪的短语数据的有价值的添加。

在使用替代短语对顶部短语进行更新的情况下,在上文描述的搜索过程期间,将响应于对应于替代短语(及其相关短语)的查询而返回网站。

上文已关于一个可能的实施例特别详细地描述了本发明。所属领域的技术人员将明白,可在其它实施例中实施本发明。首先,各组件的特定命名、术语的首字母大写、属性、数据结构或任何其它编程或结构方面都不是强制性的或重要的,且实施本发明或其特征的机制可具有不同的名称、格式或协议。另外,可经由如上所述的硬件和软件的组合或完全在硬件元件中实施所述系统。而且,本文所描述的各种系统组件之间的功能性的特定划分仅仅是示范性的而不是强制性的;由单个系统组件执行的功能可改为由多个组件执行,由多个组件执行的功能可改为由单个组件执行。

以上描述的一些部分在信息操作的算法和符号表示方面呈现了本发明的特征。这些算法描述和表示是数据处理领域的技术人员用以最有效地将其工作实质传达给所属领域的其它技术人员的手段。虽然在功能上或逻辑上描述了这些操作,但应了解,这些操作将由计算机程序实施。此外,还证实有时可方便地将这些操作布置称为模块或其它功能名称,而不会丧失一般性。

除非另外特定指出,如从以上论述显而易见,在整篇描述中,利用“处理”或“计算(“computing/calculating”或“确定”或“显示”等术语的论述是指计算机系统或类似电子计算装置的动作和过程,其操纵和转换计算机系统的存储器或寄存器或其它此类信息存储、传输或显示装置内表示为物理(电子)量的数据。

本发明的某些方面包括本文所述的具有算法形式的过程步骤和指令。应注意,本发明的过程步骤和指令可体现在软件、固件或硬件中,且当体现在软件中时,可将其下载以驻存在由实时网络操作系统使用的不同平台上并从这些平台操作。

本发明还涉及一种用于执行本文中的操作的设备。此设备可经特殊构造以用于所需的目的,或者其可包括通用计算机,其由存储在可由所述计算机访问的计算机可读媒体上的计算机程序选择性地启动或重新配置。此类计算机程序可以存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘(包括软盘)、光盘、CD-OM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC),或任何类型的适合于存储电子指令的媒体,且各自耦合到计算机系统总线。此外,本说明书中涉及的计算机可包括单个处理器,或者可以是采用多个处理器设计以便增加计算能力的架构。

本文呈现的算法和操作固有地与任何特定的计算机或其它设备无关。各种通用系统也可与根据本文的教示的程序一起使用,或者可证实可便利地建造更特殊的设备来执行所需方法步骤。所属领域的技术人员将明白各种这些系统所需的结构以及等效变化。此外,并没有参照任何特定的编程语言来描述本发明。应了解,可使用多种编程语言来实施本文所述的本发明的教示,而且提供对特定语言的任何参考以用于揭示本发明的实现及最佳模式。

本发明良好适合众多拓扑上的广泛多种计算机网络系统。在此领域内,大网络的配置和管理包括存储装置和计算机,其在通信上耦合到例如互联网等网络上的不同计算机和存储装置。

最后应注意,本说明书中所用的语言主要是出于可读性和指导性的目的而选择的,且可不选择所述语言来描绘或限定发明主题。因此,本发明的揭示内容意欲是说明性的,而不限制所附权利要求书所陈述的本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号