专利名称:基于知识的实体检测和消歧的利记博彩app
基于知识的实体检测和消歧
背景技术:
因特网提供了对大量信息的访问。给予信息量的主要挑战是如何查找和发现信息以向用户提供针对特定环境的最相关的信息。现今用于完成此的最常用的工具是提供给搜索引擎的基于关键词的搜索查询。搜索引擎将接收到的关键词与搜索索引中的一个或多个词或短语进行匹配,以便标识与用户的查询潜在相关的文档、网页或其它内容。例如,如果用户搜索“恐龙(dinosaurs)”,则搜索引擎给用户提供搜索结果的列表,所述搜索结果是到包含该术语的web页面的链接。用户查询通常包含由与实体相关联的名称或属性所标识的一个或多个实体(例如,人、位置或组织名称)。例如,一个查询可能搜索“Barack Obama (巴拉克奥巴马)”,而另一个可能搜索“President of the United States (美国总统)”。这两个查询都正在寻找与特定实体相关的信息。用户还可以搜索位置,诸如饭店、银行、购物中心等等。实体可以包括任何类型的可命名的事物,不管它是公司、人、消费品或是服务等等。现今,当用户使用搜索引擎搜索命名实体时,搜索引擎呈现了可能是关于具有相同或类似名称的不同实体的混合的混杂结果。例如,对于查询“ harry shum ”, 一个最近的搜索引擎以混合的次序返回关于三个不同人的页面:位置1、3、5和8是关于在微软的在线服务部门的公司副总裁的;位置2、4、6和9是关于在Glee中饰演了 Mike Chang的美国演员和舞蹈家Harry Shum Jr.的;以及位置7是关于又一个Harry的,其为IP Systems (IP系统)的网络支持工程师。从用户的查询实际上不清楚用户正试图查找这些人中的哪一个,但是很可能的是,用户仅对他们中的一个感兴趣,并且结果的大量子集因此是不相关的。搜索引擎无能力解析网页中的实体实例的潜在身份阻碍了它们有效地组织搜索结果的能力。
发明内容
在本文中描述了基于实体的搜索系统,其检测并且识别基于因特网的内容中的实体并且使用这个识别来组织搜索结果。该系统将一个或多个实体标识符与某个网页相关联,并且将此信息作为该页面的元数据存储在搜索引擎索引中。这个元数据将在搜索引擎结果页面(SERP)中使能基于实体的查询以及丰富的数据呈现,包括:按实体对结果进行分组;按一个或多个特定实体对结果进行过滤;或者基于实体的用户偏好对搜索结果进行重新排名。该系统提供了:用于检测文本数据中的实体实例的方法;用于基于知识储存库生成针对每个实体实例的候选消歧(d i s amb i gu a t i ο η )组的方法;用于解析该候选消歧组中的实体实例的身份的方法;以及用于索引被消歧的实体的实体标识符以允许对搜索结果的基于实体的检索和分组的方法。因此,所述基于实体的搜索系统允许用户标识该用户有兴趣查找的特定实体,并且允许接收与该实体直接相关的搜索结果。本发明内容被提供来以简化的形式介绍概念的选择,这些概念下面在具体实施方式
中被进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,它也不旨在被使用来限制所要求保护的主题的范围。
图1是图示了一个实施例中的、基于实体的搜索系统的构件的方块图。图2是图示了一个实施例中的、基于实体的搜索系统在基于实体的知识的基础上标识搜索结果的处理的流程图。图3是图示了一个实施例中的、基于实体的搜索系统发现内容的语料(corpus)中的实体的处理的流程图。图4是图示了一个实施例中的、针对术语“Harry Shum”的搜索的样本结果的显示图。
具体实施例方式在本文中描述了基于实体的搜索系统,其检测并且识别基于因特网的内容中的实体并且使用这个识别来组织搜索结果。实体检测和消歧的一个目标是用明白地标识了实体的可区分的标识符来给网页(或其它类型的文本数据)中的命名实体加标签。所述系统将一个或多个实体标识符与某个网页相关联,并且将此信息作为该页面的元数据存储在搜索引擎索引中。这个元数据将在搜索引擎结果页面(SERP)中使能基于实体的查询以及丰富的数据呈现,包括:按实体对结果进行分组;按一个或多个特定实体对结果进行过滤;或者基于实体的用户偏好对搜索结果进行重新排名。 在一些实施例中,基于实体的搜索系统包括四个高级构件:I)知识储存库,其存储了大量的已知实体;2)命名实体检测器,其检测输入查询文本和web文档内容中的实体实例;3)实体消歧器,其解析每个实体实例的标识符;以及4)实体索引器(indexer),其索引输入文本中的每个单元所包含的实体标识符,并且允许查询被发出以检索文本中包含特定实体的单元。通过这些高级构件,所述系统提供了:用于检测文本数据中的实体实例的方法;用于基于知识储存库针对每个实体实例来生成候选消歧组的方法;用于解析候选消歧组之中的实体实例的身份的方法;以及用于索引被消歧的实体的实体标识符以允许对搜索结果进行基于实体的检索和分组的方法。因此,所述基于实体的搜索系统允许用户标识用户有兴趣查找的特定实体,以及接收与该实体直接相关的搜索结果。以下段落对所述系统的高级构件进行了更详细的描述,后面是图1的描述,图1提供了所述系统经由软件的示例性实施方案。第一个高级构件是知识储存库,其包括实体、它们的属性和关系的大型可扩展的储存库。知识储存库可以使用本领域内众所周知的各种各样的技术(诸如用于查找信息的web爬取(crawling)、对储存库贡献信息的专家编辑等等)来建立。储存库支持现有实体和关系上的有效查询以及新的实体和关系的插入。实体和它们的关系能够被表不为有向图的节点和边,所述有向图能够作为形式为主语-谓语-宾语条目的三元组而被存储在储存库中(其它存储方案也是可能的)。知识储存库维护了针对每个实体的出现的可能形式的列表,并且支持基于精确或模糊的字符串匹配来进行相关实体的有效检索。下一个高级构件是命名实体检测器。命名实体检测器组合了基于模板的和统计的实体提取方法。对于带有定义明确的结构化或半结构化页面的网站(诸如imdb.com、linkedin.com、amazon, com等),检测器允许手工制作的模板被用来从网页的特定文本单元中提取实体实例。例如,特定的网站可能已知包括带有以Hl超文本标记语言(HTML)标签命名的实体的页面,其后面是与该实体相关的描述性文本(例如,imdb.com上的电影页面、linkedin.com上的简档页面、amazon, com上的产品页面等等)。这些站点不经常改变格式,并且针对实体信息的快速提取能够被模板化(自动地或经由手工编辑)。对于一般网页或其它非结构化文本数据,所述系统可以利用条件随机域(CRF)、半马氏(sem1-Markov)条件随机域(Sem1-CRF)、最大熵、其它统计模型或正则表达式来标识实体实例。具体地,如果输入是HTML文档,则HTML解析器能够被用来从文档中移除标记标签并且提取纯文本段。然后,输入文本能够基于HTML标签、标点符号以及换行符而被分解成段落和句子。每个句子被进一步分解成词序列。对于序列中的每个词,特征向量基于词本身和它的上下文词(在可调整的上下文窗口之内的,诸如当前词之前的两个词或之后两个词)被计算。特征向量可以包含以下二者:典型的词汇特征,诸如一元词、双元词、统一码(Unicode)脚本类型(拉丁文、汉字、西里尔文等等)、字符类别(数字、符号、字母等等),不管词是大写的、全部大写、全部小写或是混合大小写;以及从知识储存库中的已知实体导出的特征,诸如人的第一个、中间的以及最后的名字匹配、组织名称匹配、位置名称匹配、专业头衔匹配等等。特征向量的序列被馈送到模型中,所述模型将序列中的每个词标记为非实体或许多预定义实体类型(例如,人、位置、组织、专业头衔等等)中的一个。被标记为实体的所有词或词序列被认为是用于消歧的实体实例。下一个高级构件是实体消歧器,其执行实体消歧过程。实体消歧过程包括两个高级步骤:实体候选枚举和候选分类/排名。给定实体实例/名称,系统查询所述知识储存库以便检索一组候选实体和它们的属性值。然后,系统根据实体实例以及每个候选实体来计算特征向量。特征的类型包括:1)如由实体检测器所识别的实体类型;2)实体实例的可能的属性类型与每个候选实体的属性之间的重叠;3)实体实例与每个候选条目的属性之间的相似性度量,诸如Damerau-Levenshtein编辑距离、Jaro-Winkler距离以及Jaccard距离;4)在实体实例的上下文内顶部共同出现的词与每个候选条目的属性值内的那些之间的相似性;5)每个候选实体的相关实体在实体实例的上下文内的出现。特征被输入到分类器或评分器,诸如用于计算每个候选实体与输入实体实例之间的匹配分数的稀疏提升决策树分类器。在一些实施例中,如果匹配分数超过了预置门限,则最高得分的候选实体的标识符被分配给输入实体实例。还可以使用其他类型的分类器/排名器,诸如梯度提升决策树、梯度提升排名器、支持向量机(SVM)以及SVM-排名。下一个高级构件是实体索引器,其执行基于实体的索引和检索。在一些实施例中,每个被消歧的实体实例的标识符都被表示为字母数字字符串并且作为元词(metaword)被存储在倒排索引中。倒排索引中的元词可以被按字母顺序地存储用于有效查找和检索。每个元词可以被与整数的列表相关联,所述整数指示带有对应标识符的实体实例的位置。包含任何特定实体的文档或文本单元可以通过参考倒排索引来使用其标识符被有效地检索。数值元数据可以被附属于每个元词以指示消歧的置信度,其可以被用作为用于检索结果的查询相关排名的特征。图1是图示了一个实施例中的、基于实体的搜索系统的构件的方块图。系统100包括知识储存库构件110、储存库更新构件120、实体检测构件130、基于实体的索引构件140、实体枚举构件150、实体消歧构件160、基于实体的检索构件170以及结果排名构件180。在本文中对这些构件中的每一个进行了更详细的描述。
知识储存库构件110是数据存储,其存储了与先前发现的实体和实体之间的关系相关的信息。数据存储可以包括一个或多个文件、文件系统、硬盘驱动器、数据库、存储区域网、基于云的存储服务、或用于永久地存储实体信息的其它设施。知识储存库构件110可以包括一个或多个接口,通过所述接口用户或软件程序可以添加、删除和更新实体信息,包括与最近发现的实体相关的信息。在一些实施例中,系统100周期性地在因特网上爬取以发现实体信息,并且将实体信息添加到所述数据存储。储存库更新构件120添加和更新在储存库数据存储中存储的实体信息。储存库更新构件120被调用来添加在爬取期间发现的新的实体和关系,并且被调用来更新改变的或被移除的实体。在某些情况下,实体检测构件130针对每个被发现的实体调用储存库更新构件120来存储发现的实体信息,用于以后与用户查询匹配。构件120可以提供各种各样的用户、管理和编程接口,用于浏览、添加、移除以及更新实体信息。实体检测构件130接收发现的内容,并且检测嵌入在所发现的内容中的一个或多个实体。例如,web爬取引擎可以将发现的网页提供给实体检测构件130以便提取在每个网页上涉及的任何实体。所述系统可以基于自然语言处理、使用用于扩展其它实体的知识的已知实体、以及通过应用本领域内已知的其它文本或其它内容分析技术来发现实体。构件130可以对各种各样的类型的内容(包括文本的、视听的、数据等等)进行操作。基于实体的索引构件140创建在检测到的实体和与所检测到的实体相关的内容之间的索引。该索引可以包括上面描述的倒排索引,其中,实体标识符可以被用来查找与特定实体标识符相关的内容页面。基于实体的索引构件140可以创建和维护单独的索引,或者可以在内容的现有索引之上通过添加适当的元数据和用于基于实体访问索引的查找功能来进行建立。许多搜索引擎包括现有的基于关键词的索引,所述现有的基于关键词的索引可以被扩展为合并用于对基于实体的查询进行响应的实体信息和元数据。实体检测构件130调用基于实体的索引构件140来将检测到的实体添加到索引。系统100可以将索引存储在知识储存库或与系统100相关联的另一数据存储中。实体枚举构 件I50接收用户查询,并且枚举潜在地和所述查询匹配的先前检测到的实体。查询可以包括一个或多个关键词,以及实体枚举可以包括将关键词和/或短语匹配到与每个实体相关联的关键词和/或短语。例如,“0bama(奥巴马)”、“President of theUnited States (美国总统)”以及“world leaders (世界领导人)”全部可以和与Barack0bama(巴拉克■奥巴马)此人相关联的实体进行匹配。实体枚举构件150可以将任何特定查询匹配到潜在的许多实体。然后,实体消歧构件160的工作是排名或者从所枚举的实体中选择最相关的实体。实体枚举构件150访问知识储存库和/或基于实体的索引,以便基于与每个实体相关的存储的信息来标识匹配实体。实体消歧构件160对潜在地和所述用户查询匹配的枚举实体进行分类和排名,以便限制各种实体到所述查询之间的匹配的相对水平。在某些情况下,系统可以输出潜在地按匹配的水平排序的匹配实体的列表,从该列表用户能够选择表示用户的现在的搜索目的的实体。因此,在这样的情况下,系统100提供了潜在匹配实体,并且用户通过从潜在匹配实体中选择一个作为最相关的一个实体来提供消歧。在其它情况下,系统100自动地选择基于搜索查询中的信息匹配的顶部的实体或多个最高排名的实体。搜索查询可以提供充足的信息来将潜在实体的匹配水平缩小到在匹配的门限水平之内,使得系统100高度确定特定的实体是用户正在寻找的那个。在其它情况下,搜索查询可以提供不充足的信息,使得系统100选择询问用户或者应用其它过程来确定针对其提供搜索结果的一个或多个实体。基于实体的检索构件170提供了接口,通过所述接口用户能够提交查询以便基于实体来搜索信息并且接收基于实体的搜索结果。基于实体的检索构件170可以提供与传统搜索引擎类似的前端,其提供了搜索文本框,用户能够将基于关键词的查询输入到其中并且将查询提交给搜索引擎以用于标识相关的结果。然而,基于实体的检索构件170然后调用实体枚举构件150来标识潜在的匹配实体,调用实体消歧构件160来对枚举的实体进行排名,以及调用基于实体的索引构件140来标识与排名足够高的实体相关联的内容结果。系统100可以在一个或多个阶段中提供搜索结果。例如,系统可以首先要求用户在结果对其可用的多个潜在的实体之间进行选择,并且然后可以交付针对由用户所选择的实体的结果,或者系统可以为用户选择和组合这样的阶段,使用户在没有中间用户接口步骤的情况下接收结果。在某些情况下,系统100提供了关于最可能的实体的结果并且作为链接提供了其它可用的实体,从所述链接用户能够选择查看针对另一实体的替换的结果。
结果排名构件180对基于实体的搜索结果进行排名。结果排名构件180可以应用被本领域内的普通技术人员众所周知的传统的搜索结果排名过程。此外,构件180可以在基于实体的准则的基础上对结果进行排名,所述准则诸如:每个结果被与哪个(或哪些)实体相关联,用户查询和与结果相关联的实体之间的匹配的水平,用户或其它用户的历史查询信息(例如,如果用户先前搜索了总统并且然后搜索了 “Lincoln (林肯)”,则用户更可能意指总统Abraham Lincoln (亚伯拉罕 林肯),而不是城市Nebraska (内布拉斯加州)的Lincoln(林肯市)或是汽车品牌Lincoln)等等。基于实体的搜索系统在其上被实施的计算设备可以包括中央处理单元、存储器、输入设备(例如,键盘和指向设备)、输出设备(例如,显示设备)以及存储设备(例如,磁盘驱动器或其它非易失性存储媒体)。存储器和存储设备是计算机可读存储媒体,其可以用计算机可执行指令(例如,软件)被编码,所述指令实施或者使能所述系统。此外,数据结构和消息结构可以被存储在计算机可读存储媒体上。在本文中所要求保护的任何计算机可读媒体仅包括落入法定可取得专利权的类别之内的那些媒体。所述系统还可以包括数据可以通过其被传送的一个或多个通信链路。可以使用各种通信链路,诸如因特网、局域网、广域网、点对点拨号连接、蜂窝电话网等等。所述系统的实施例可以在各种操作环境被实施,所述操作环境包括个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程的消费电子、数码相机、网络PC、小型计算机、大型计算机、包括上述系统或设备中的任何一个的分布式计算环境、机顶盒、片上系统(SOC)等等。计算机系统可以是蜂窝电话、个人数字助理、智能电话、个人计算机、可编程的消费电子、数码相机等等。所述系统可以在由一个或多个计算机或其它设备所执行的计算机可执行指令(诸如程序模块)的一般上下文中进行描述。通常,程序模块包括例行程序、程序、对象、构件、数据结构等等,其执行特定的任务或者实施特定的抽象数据类型。典型地,在各种实施例中,程序模块的功能性可以按期望的那样进行组合或者分布。图2是图示了一个实施例中的、基于实体的搜索系统在基于实体知识的基础上标识搜索结果的处理的流程图。
在方块210中开始,系统接收包括一个或多个实体的搜索查询。所述搜索可以包括查询字符串、结构化数据或其它形式的查询。系统可以直接地通过用户接口(例如,网页或桌面搜索工具)或者程序性地从将所述系统利用于搜索的另一应用或服务接收查询。实体可以由名称(例如,McDonald (麦当劳)的名称)直接地标识,或者可以由属性信息(例如,具有金色拱门的快餐店)间接地标识。所述查询还可以包括与提交查询中的用户的目的相关的附加信息,诸如用户是否正在试图查找公司的位置、确定该公司的年度收入等等。在方块220中继续,系统从基于实体的知识存储来枚举可能和所接收到的查询中的实体匹配的一个或多个实体。系统可以基于查询关键词、自然语言分析、或能够给所述查询与知识存储中的已知实体之间的关系评分的其它技术来枚举实体。知识存储包含通过爬取、专家数据条目或其它技术发现的实体,诸如参考图3所描述的那些。在方块230中继续,系统根据所枚举的实体来标识一个或多个潜在匹配实体,其中,匹配实体是可能为所述查询的目标的实体。系统可以执行一个或多个初始步骤以便将实体的数量从知识存储的整个组缩小成更易管理的子集。例如,系统可以利用在知识存储中存储的数据的索引来快速地标识潜在地和所接收到的查询中的一个或多个实体匹配的实体。在方块240中继续,系统对所标识的潜在匹配实体进行排名,以便区分每个标识的实体与所接收到的查询中的一个或多个实体之间的匹配的相对水平。在某些情况下,系统可以使查询中的潜在实体分开,并且针对每个潜在的实体来标识经排名的一组匹配。在其它情况下,系统可以将查询作为一个整体来考虑,并且针对查询中的所有的实体对一组匹配进行排名。排名可以包括用于对查询中的给定实体与来自知识存储的实体的候选组之间的匹配的水平进行评分的各种众所周知的技术。在方块250中继续,系统将所述标识的潜在匹配实体中的一个或多个选择为用其来进行搜索的匹配实体。选择可以包括将用户接口显示给用户,用于对用户为搜索准备的实体的候选组之中的实体进行消歧。例如,系统可以将潜在匹配实体的经排名的列表显示给用户并且要求用户选择一个(或多个)。在其它情况下,系统可以确定针对最高排名的实体的匹配水平超过了足以自动地将该实体标识为匹配实体的门限。在其它情况下,系统可以针对多个最高排名的潜在匹配实体执行下面的步骤,使得用户被提供有针对顶部标识的实体的结果。在方块260中继续,系统使用排名最高的、选择的匹配实体中的一个或多个来执行基于实体的搜索。搜索应用所标识的实体以及查询中的任何附加信息来查找与所述实体相关的搜索结果。系统可以利用在实体信息的发现期间创建的倒排索引,所述倒排索引将已知实体索引到与该已知实体最相关的一组内容页面或结果。例如,知识存储可以追踪针对每个实体所发现的最相关的页面,其可以在实体被标识的任何时间作为搜索结果被提供。通过查找在那些中还与当前接收到的查询中的任何附加词或信息匹配的页面,系统可以进一步地细化搜索结果。不像传统的基于关键词的搜索,所提供的搜索结果将是更相关的,因为系统首先确定了与所接收到的搜索相关的实体,并且甚至可能已经向用户要求了进一步消歧的信息(例如,通过从可能性的列表中选择实体)。在方块270中继续,系统对从基于实体的搜索所返回的多个结果进行排名,以便按与所接收到的搜索查询的相关性来对所述结果排序。排名可以包括对结果的传统排名,对结果的传统排名基于在将原始接收到的查询与从基于实体的搜索过程所返回的结果组相比较的基础上的关键词匹配、词亲密度等等。尽管与传统排名步骤类似,但这个步骤将产生更加准确的结果,因为它在数据中与由所接收到的查询所标识的一个或多个实体更相关的子集上操作,而不是在对于该查询的所有基于关键词的匹配上操作。在方块280中继续,系统响应于所接收到的查询提供经排名的搜索结果。系统可以经由用户接口(例如,网页、桌面搜索工具、或移动搜索工具)或者程序性地将搜索结果提供给使用搜索结果的其它应用。在方块280之后,这些步骤结束。图3是图示了一个实施例中的、基于实体的搜索系统发现内容的语料中的实体的处理的流程图。在方块310中开始,系统接收对内容的语料进行标识的信息。例如,所述语料可以包括与从网络爬取过程导出的网页相关的信息。所述信息可以包括针对一个或多个内容项的链接或统一资源标识符(URI),所述内容项诸如网页、文档、视听文件等等。系统可以通过内部地或者外部地从单独的应用发现内容来接收信息,所述单独的应用发现可用的内容。系统使用所述内容来建立已知实体的知识储存库,用于处理从系统的用户接收到的后续搜索。在方块320中继续,系统在所接收到的内容中检测一个或多个实体。系统可以通过关键词、上下文信息、自然语言处理、或用于标识文档或其它内容中的信息的其它技术来标识实体。在某些情况下,专家可以提供一些实体的手工输入,并且系统能够使用此信息来导出其它实体,诸如通过标识与已知实体密切和相关地使用的词。系统扫描所述内容,并且存储对在每个内容项中被涉及的实体进行描述的信息。在方块330中继续,系统组织所检测到的实体信息以指定哪些内容项涉及哪些实体。这允许系统通过提供涉及给定实体的特定内容项来响应以后的请求。以这种方式,系统允许用户基于指定的实体而不是简单地通过关键词或其它文本信息来搜索内容。系统可以在存储器中组织实体信息,或者可以将数据的各种中间组存储到永久储存装置以用于进一步的分析、元数据的添加等等。在方块340中继续,系统维护索引,所述索引将所检测到的实体映射到涉及每个实体的一个或多个内容项。所述索引提供了有效的数据结构,用于以后在用户针对其寻求信息的给定实体被标识后查找内容项。所述索引可以包括内容项的链接、描述特定实体如何在内容项中被使用的上下文信息、实体标识符或名称等等。系统可以将所述索引连同其它实体信息一起存储在知识储存库中,或者可以将所述索引分布在其它存储设施中以用于快速响应搜索请求。在方块350中继续,系统更新知识储存库,所述知识储存库将实体信息与对在内容的语料中所检测到的实体进行描述的信息和所述索引存储在一起。知识储存库可以包括带有系统能够创建或者更新来存储最近发现的实体信息的记录的数据库或其它存储设施。例如,系统可以维护针对每个实体的、带有对与实体相关的已知信息进行描述的元数据的数据库行,以及维护实体与内容项之间的关系的表。本领域的普通技术人员将考虑用于存储这样的信息以用于在客户端搜索请求期间快速检索的各种存储机制。在方块350之后,这些步骤结束。图4是图示了在一个实施例中的、针对术语“Harry Shum”的搜索的样本结果的显示图。在所图示的例子中,用户先前已经提供了搜索查询,其中,所述查询的关键词中的至少一些指示了名字“Harry Shum”。作为响应,系统已经标识了和该搜索请求匹配的至少两个实体,第一实体按名字Harry Shum与在微软的公司副总裁相关,而第二实体按名字HarryShum, Jr与美国舞蹈家和演员相关。显示包括搜索结果的列表410,所述搜索结果包括消歧控制420和一个或多个匹配结果群组。消歧控制420为用户提供了用户接口以用于明确地标识用户针对其寻找信息的若干可能的实体之中的一个。在缺乏用户选择的情况下,系统能够以群组的形式显示针对多个可能的匹配实体的结果,如在这个例子中所图示的那样。第一结果群组430包括针对在微软的公司副总裁的第一结果列表440。列表440中的结果中的每一个都是具体地与该实体相关的。第二结果群组450包括针对美国演员的第二结果列表460。这个列表460中的结果是具体地与该实体相关的。因此,用户接收到了与特定实体相关的结果,并且用户能够提供信息以缩小用户针对其接收结果的实体以便消除不相关的结果群组。在一些实施例中,基于实体的搜索系统将特定的内容源识别为用于发现实体信息的权威的源。例如,系统可以将维基百科(Wikipedia)标识为具有特别强大和可信赖的实体信息,并且可以将在该站点的各种页面识别为描述实体。系统还可以将页面之间的链接和到权威的源的链接识别为指示web或其它内容中的实体信息的存在或可能存在。在某些情况下,系统可以存储历史信息,诸如用户从先前搜索中的结果的列表中选择了哪个或哪些搜索结果。系统可以针对关键短语、词的亲密度、到已知页面的链接等等来搜索内容页面以便检测可能的实体。在某些情况下,系统标识了除页面内容之外的信息,包括单击/锚文本、社交信号(例如,社交网络信息)以及其它源。系统给每个页面加标签,或者将每个页面映射到特定的实体标识符(或多个实体标识符),其能够被用来在后续的基于实体的搜索期间查找所述页面。在一些实施例中,基于实体的搜索系统利用可用的传统搜索引擎来查找基于实体的搜索结果。在接收到查询并且标识特定实体后,系统可以使用已确定的实体标识符来重新查询,以便允许搜索引擎查找具体地与特别指定的一个或多个实体相关联的结果。标识符可以包括一个或多个附加的关键词,其对用户在搜索请求中正涉及的实体的进行消歧。在一些实施例中,基于实体的搜索系统在搜索结果出来之后动态地确定页面实体标识符。例如,系统可以将没有实体标识符的结果与带有实体标识符的那些结果进行比较,以便按实体将进入的结果放置在适当的群组中。这可以允许系统响应于搜索包括比先前根据实体发现并且编入目录的结果更多的结果。在一些实施例中,基于实体的搜索系统用附加的实体信息来增强搜索结果。例如,对于特定的人实体(例如,作为搜索结果群组的标题被提供的),系统可以显示诸如人的名字、社交网络朋友、相关页面、雇主、个人网页、博客等等这样的信息。在实体的名称可能与其它相似命名的实体引起歧义的情况下,该信息帮助用户知道结果与多个可能的实体中的哪一个相关。在一些实施例中,基于实体的搜索系统应用实体信息以用于对标准搜索结果输出进行排名。在本文中对按实体进行索引、检索以及排名进行了讨论。另一方法是将文档与实体相关联,基于关键词相关性对文档结果进行检索/排名,以及然后基于与那些文档相关联的实体信息来对所返回的文档进行组织/过滤/重新排名。例如,对于查询Iharryshum},系统可以首先检索文档研究结果,查找与每个返回的文档相关联的实体,以及然后基于实体信息对搜索结果重新分组。在一些实施例中,基于实体的搜索系统通过将某个文档与其它文档进行比较来确定对于所述文档的实体。在本文中详细讨论了根据文档的并将所提取的实体与数据库中的那些实体候选相比较的实体标识。用于从文档进行实体提取/消歧的另一方法是将它与已经与某些实体相关联的其它文档相比较,并且然后对来自前一文档的实体进行标识和消歧。例如,对于包含关键词“harry shum”的文档,系统可能将该文档与对演员Harry Shum进行描述的IMDB页面、关于微软公司副总裁Harry Shum的维基百科页面、以及关于工程师Harry Shum的LinkedIn页面进行比较。如果系统发现所述页面和与实体相关联的那些页面中的一个接近,则系统然后可以将第一页面中的“harry shum”映射到与所匹配的页面相关联的实体。从前述内容,应当理解,出于说明的目的在本文中已经对基于实体的搜索系统的特定实施例进行了描述,但是在不背离本发明的精神和范围的情况下可以进行各种修改。因此,本发明除由所附权利要求限制外不受限制。
权利要求
1.一种在基于实体的知识的基础上来标识搜索结果的计算机实施的方法,所述方法包括: 接收(210)包括一个或多个实体的搜索查询; 从基于实体的知识存储来枚举(220)可以和已接收到的查询中的实体匹配的一个或多个实体; 根据所枚举的实体来标识(230)—个或多个潜在匹配实体,其中,匹配实体是可能为所述查询的目标的实体; 对所标识的潜在匹配实体进行排名(240),以便区分每个标识的实体与所述接收到的查询中的一个或多个实体之间的匹配的相对水平; 将所述标识的潜在匹配实体中的一个或多个选择(250)为用其来进行搜索的匹配实体; 执行(260)基于实体的搜索,其通过应用排名最高的、选择的匹配实体中的一个或多个来缩小结果; 对从所述基于实体的搜索返回的多个结果进行排名(270),以便按与所述接收到的搜索查询的相关性来对所述结果排序;以及 响应于所述接收到的查询来提供(280)经排名的搜索结果,其中,前述步骤由至少一个处理器执行。
2.根据权利要求1所述的方法,其中,接收所述搜索查询包括通过用户接口直接地接收所述查询。`
3.根据权利要求1所述的方法,其中,接收所述搜索查询包括接收与提交所述查询中的用户的目的相关的附加信息。
4.根据权利要求1所述的方法,其中,枚举实体包括基于查询关键词或自然语言分析来访问潜在匹配实体,以便对所述查询与所述知识存储中的已知实体之间的关系进行评分。
5.根据权利要求1所述的方法,其中,标识潜在匹配实体包括执行一个或多个初始步骤,以便将实体的数量从所述知识存储的整个组缩小成与所述接收到的查询相关的子集。
6.根据权利要求1所述的方法,其中,对潜在匹配实体进行排名包括使所述查询中的多个潜在实体分开并且针对每个潜在实体标识经排名的一组匹配。
7.根据权利要求1所述的方法,其中,对潜在匹配实体进行排名包括将所述查询作为一个整体来考虑并且对针对所述查询中的所有的实体的一组匹配进行排名。
8.根据权利要求1所述的方法,其中,为搜索选择匹配实体包括将用户接口显示给用户,以用于对用户为所述搜索准备的实体的候选组之中的实体进行消歧。
9.根据权利要求1所述的方法,其中,为搜索选择匹配实体包括确定针对最高排名实体的匹配的水平超过了足以自动地将所述实体标识为针对搜索的匹配实体的门限。
10.根据权利要求1所述的方法,其中,执行所述基于实体的搜索包括应用所述标识的实体以及所述查询中的任何附加信息来查找与所述标识的实体相关的搜索结果。
11.根据权利要求1所述的方法,其中,执行所述基于实体的搜索包括利用在实体信息的发现期间所创建的倒排索引,所述倒排索引将已知实体索引到与该已知实体最相关的一组内容结果。
12.根据权利要求1所述的方法,其中,执行所述基于实体的搜索包括通过查找在那些中还和当前接收到的查询中的任何附加词或信息匹配的页面来进一步地细化所述搜索结果O
13.根据权利要求1所述的方法,其中,对多个结果进行排名包括按所述结果与其相关联的实体来对结果进行分组。
14.一种针对基于知识的实体检测和消歧的计算机系统,所述系统包括: 处理器和存储器,其被配置成执行在下面的构件内所体现的软件指令; 知识储存库构件(110),其存储与先前发现的实体和实体之间的关系相关的信息; 储存库更新构件(120),其添加和更新在储存库数据存储中存储的实体信息; 实体检测构件(130),其接收发现的内容并且检测嵌入在所述发现的内容中的一个或多个实体; 基于实体的索引构件(140),其创建和维护检测到的实体和与所检测到的实体相关的内容之间的索引; 实体枚举构件(150),其接收用户查询并且枚举潜在地和所述查询匹配的先前检测到的实体; 实体消歧构件(160),其对潜在地和所述用户查询匹配的枚举的实体进行分类和排名,以便限制各种实体到所述查询之间的匹配的相对水平; 基于实体的检索构件(170),其提供了接口,通过所述接口用户能够提交查询以便基于实体来搜索信息以及接 收基于实体的搜索结果;以及 结果排名构件(180),其对提供给所述用户的所述基于实体的搜索结果进行排名。
15.根据权利要求14所述的系统,其中,所述基于实体的索引构件提供了倒排索引,所述倒排索引将实体标识符映射到与特定的实体标识符相关的内容页面。
全文摘要
本发明描述了基于实体的搜索系统,其检测并且识别基于因特网的内容中的实体并且使用这个识别来组织搜索结果。所述系统将一个或多个实体标识符与网页相关联,并且将这个信息作为所述页面的元数据存储在搜索引擎索引中。这个元数据将在搜索引擎结果页面(SERP)中使能基于实体的查询以及丰富的数据呈现,包括按实体对结果进行分组、按一个或多个特定实体对结果进行过滤、或者基于实体的用户偏好对搜索结果进行重新排名。因此,所述基于实体的搜索系统允许用户标识所述用户有兴趣查找的特定实体,并且允许接收与该实体直接相关的搜索结果。
文档编号G06F17/30GK103177075SQ20121058222
公开日2013年6月26日 申请日期2012年12月28日 优先权日2011年12月30日
发明者李康, 李鹢, 周一萍, 吕正东, 曹涌 申请人:微软公司