用于识别相关实体的方法、系统和装置与流程

文档序号:15144262发布日期:2018-08-10 20:15阅读:155来源:国知局

本申请属于申请日为2013年2月22日的中国发明专利申请no.201380020832.3的分案申请。

相关申请的交叉引用

本申请根据35u.s.c.§119(e)要求于2012年2月22日提交的题为“relatedentities”的美国专利申请no.61/601975、于2012年5月16日提交的题为“relatedentities”的美国专利申请no.61/647977、以及于2012年6月15日提交的题为“relatedentities”的美国专利申请no.61/660637的权益,所有这些申请通过引用全文结合于此。

本说明书涉及互联网搜索系统。



背景技术:

互联网搜索引擎旨在识别例如网页、图像、文本文档或多媒体内容的与用户需求相关的互联网资源并且以对用户最为有用的方式呈现与该资源相关的信息。互联网搜索引擎响应于用户所提交的查询而返回搜索结果的集合。互联网搜索引擎一般包括一个或多个服务,其能够对所接收的特定查询进行分类。这样的服务可以包括将查询分类为以下中的一个或多个的服务:色情的搜索,即寻找色情结果或者针对其返回识别已经被归类为色情的资源的大量搜索结果;导航至特定资源的查询,即寻找特定资源;作为本地查询的查询,即寻找与位于用户附近的商业相关的信息;或者寻找特定信息项的查询,例如查找作为查询中所提出的问题的答案的信息项。



技术实现要素:

本说明书描述了涉及识别与搜索查询所指向的实体相关的实体的技术。

总体上,本说明书中所描述的主题的一个新颖方面可以以方法来体现,其包括动作:从用户设备接收第一搜索查询,其中该第一搜索查询已经被确定为与第一实体类型的第一实体相关,并且其中第二实体类型的一个或多个实体与第一实体具有预定关系;接收由搜索引擎所提供的针对第一搜索查询的搜索结果,其中该搜索结果中的每一个识别相应资源;确定识别包含对第一实体的引用的资源的搜索结果的计数满足第一阈值;确定识别具有第二实体类型作为相关实体类型的资源的搜索结果的计数满足第二阈值;以及将识别第二实体类型的一个或多个实体的信息作为对于第一搜索查询的响应的一部分传送至用户设备。

该方面的其它实施例包括相对应的计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,它们均被配置为执行该方法的动作。一个或多个计算机的系统能够被配置为通过使得安装在系统上的在操作中使得该系统执行该动作的软件、固件、硬件或者它们的组合来执行特定操作或动作。一个或多个计算机程序能够被配置为通过包括在被数据处理装置执行时使得该装置执行该动作的指令来执行特定操作或动作。

这些和其它实施例可选地可以包括以下特征中的一个或多个。每个搜索结果可以包括从该搜索结果所识别的相应资源所提取的相应标题和相应文本摘录,并且确定识别包含对第一实体的引用的资源的搜索结果的计数满足第一阈值可以包括:确定搜索结果中所包括的相应标题或相应文本摘录中包括对第一实体的引用的搜索结果的计数满足第一阈值。

识别第二实体类型的一个或多个实体的信息可以包括对应于所述一个或多个实体中的每一个实体的相应图像,并且该方法可以进一步包括:针对第二实体类型的所述一个或多个实体中的每一个实体,响应于从该实体的名称所得出的搜索查询而从图像搜索引擎获得对应于该实体的相应图像。

针对第二类型的一个或多个实体中的特定实体获得图像可以包括:确定包括特定实体的名称的特定搜索查询是模糊的,包括从搜索引擎针对该特定搜索查询所提供的搜索结果中确定该特定搜索查询不与将多个资源中的每一个映射至特定类型的特定实体的索引中的任何实体相关或者与该索引中多于一个的实体相关;生成第二搜索查询,其包括该特定实体的名称以及以下中的至少一个:对第一实体类型的第一实体的引用或者对第二实体类型的引用;从图像搜索引擎获得针对第二搜索查询的图像搜索结果;并且从针对第二搜索查询的图像搜索结果所识别的图像中针对该特定实体选择图像。

该方法可以进一步包括:确定第二搜索查询不是模糊的。

从图像搜索结果所识别的图像中针对该特定实体选择图像可以包括:至少部分地基于图像的纵横比来选择图像。

该方法可以进一步包括:从针对第一搜索查询的搜索结果确定第一搜索查询与第一实体类型的第一实体相关;包括:使用将多个资源中的每一个映射至特定类型的特定实体的索引确定识别被映射至第一实体的资源的搜索结果的数量超过第三阈值。

该方法可以进一步包括:获得将搜索查询分类为不是色情查询、导航至特定资源的查询、本地查询或寻找特定信息项的查询中的任何一个的数据。

识别一个或多个实体的信息可以包括识别一个或多个实体中的每一个的名称以及第二实体类型的信息。

该方法可以进一步包括:针对第二实体类型的每一个实体确定相应排名分值;并且根据该排名分值对第二实体类型的实体进行排序。

第二实体类型的特定实体的排名分值能够至少部分地基于所识别的对特定实体的引用与所识别的对第一实体的引用在由索引引擎所索引的资源中有多频繁地同时出现。

第二实体类型的特定实体的排名分值能够至少部分地基于特定实体在提交了指向第一实体的搜索查询之后有多频繁地被用户搜索。

第二实体类型的特定实体的排名分值能够至少部分地基于特定实体的全局流行度。

第二实体类型的特定实体的排名分值能够至少部分地基于所识别的对特定实体的引用与所识别的对第一实体的引用有多频繁地同时出现在先前所提交的相同搜索查询中。

该方法可以进一步包括:访问指示第二实体类型的所述实体中的两个或更多个实体是具有指定顺序的实体集合的成员的数据;并且对第二实体类型的所述两个或更多个实体的顺序进行调整以与所述指定顺序相匹配。

该方法可以进一步包括:访问指示第二实体类型的所述实体中的两个或更多个实体更为人所知属于更宽大实体的一部分的数据;并且在对第二实体类型的所述实体的排序中利用该更宽大实体替代第二实体类型的所述两个或更多个实体。

该说明书中所描述的主题能够在特定实施例中实施从而实现以下优势中的一个或多个。用户能够容易地查看与他们的搜索查询所指向的实体具有特定关系的实体相关的信息。具体地,用户能够通过向搜索引擎提交识别感兴趣实体的搜索查询而容易地获取识别与感兴趣实体相关的实体的信息。此外,用户能够容易地提交另一个搜索查询以获得关于相关实体的更多信息。用户能够通过查看关于与实体相关的实体的信息而了解其搜索查询所指向的实体。例如,用户能够通过向搜索引擎提交包括特定人的名称的查询而了解到该特定人是作家并且被呈现识别该特定人所写的图书的信息。此外,用户在提交指向实体的查询之后将可能存在的有关该实体的问题能够被预测并且与作为这些问题的答案的实体相关的信息能够作为针对该查询的一部分而被提供给用户,例如用户无需提交另一个搜索查询或者导航至另一个资源以找出该答案。例如,提交指向一个作家的查询的用户可能经常会在以后寻找与该作家所写的特定图书相关的信息。识别那些特定图书的信息可以作为针对该搜索查询的响应的一部分而被呈现给用户,而用户不必提交另外的查询或者导航至该查询的搜索结果所识别的资源。通过提交指向特定类型的实体的搜索查询,用户能够容易地获得与涉及该实体的特定类型的其它实体相关的信息并且提交指向它的查询。

该说明书的主题的一个或多个实施例的细节在附图和以下的描述中给出。该主题的其它特征、方面和优势将从该描述、附图和权利要求变得显而易见。

附图说明

图1示出了示例搜索结果页面。

图2是示例搜索系统的框图。

图3是用于识别要作为针对搜索查询的响应的一部分而被识别的一个或多个相关实体的示例过程的流程图。

图4是用于确定搜索查询是否指向特定实体的示例过程的流程图。

图5是用于确定相关实体是否应当响应于特定搜索查询而被识别的示例过程的流程图。

图6是用于构建要在选择相关实体时使用的索引的示例过程的流程图。

图7是用于对相关实体进行排序的示例过程的流程图。

图8是用于将实体映射至相同类型的相关实体的示例过程的流程图。

各图中相同的附图标记和指定指示相同的要素。

具体实施方式

图1示出了针对搜索查询102“roalddahl”的示例搜索结果页面100。搜索结果页面100包括两个搜索结果104和106,以及相关实体的名称108。搜索结果104和106以及相关实体的名称108由搜索系统响应于搜索查询102生成。搜索结果104和106均识别相应资源并且包括相应标题120和122以及从该搜索结果所识别的资源提取的相应文本摘录124和126。该搜索系统使用常规搜索技术生成搜索结果104和106。

搜索系统将搜索查询102分类为指向特定实体,即作家roalddahl,并且返回与该特定实体具有预定关系的相关实体的名称108,即roalddahl所写的图书,以便在搜索结果页面100中进行呈现。在所图示的示例中,搜索系统可以将搜索查询120分类为指向作家roalddahl,这是因为搜索结果104和106中的一个或两个识别已经被确定为作家roalddahl的权威性资源的资源。例如,搜索结果104和106所识别的一个或两个资源,即作家roalddahl的官方网站和作家roalddahl的维基百科页面,可能已经被确定为是作家roalddahl的权威性资源。响应于搜索查询102,搜索系统选择所要返回的相关实体的名称,例如,使用存储数据的索引,该数据识别与作家roalddahl具有关系的实体。

相关实体的名称108中的每个名称,例如“charlieandthechocolatefactory”和“jamesandthegiantpeach”,以链接的形式进行呈现,用户能够通过该链接获得针对从相关实体的名称所得出的查询的搜索结果。例如,从相关实体的名称所得出的查询可以包括相关实体的名称中一个或多个,例如“charlieandthechocolatefactory”,搜索查询102的文本,例如“roalddahl”,以及该名称所属的实体类型的名称,例如“图书”。每个名称与对应于该名称的图像114一起呈现,例如图书封面的图像。每个图像也可以以链接的形式进行呈现,用户能够通过该链接而得到针对从该图像与之相对应的相关实体的名称而得出的查询的搜索结果。在一些实施方式中,响应于用户将输入设备的光标悬停在图像114中的一个上,涉及该图像与之相对应的相关实体的附加信息被显示。例如,响应于用户悬停在图像114中的一个上,该图像所对应的图书的出版年份可以被显示给用户。

搜索结果页面还包括识别搜索结果页面100中所命名的相关实体的类型的信息110,在该示例中为“图书”;以及识别搜索查询102被确定与之相关的实体的信息112,在该示例中为“roalddahl”。

图2是示例搜索系统214的框图。搜索系统214是被实现为在一个或多个位置的一个或多个计算机上的计算机程序的信息检索系统的示例,其中能够实现以下所描述的系统、组件和技术。

用户202能够通过用户设备204与搜索系统214进行交互。例如,用户设备204可以是通过数据通信网络212耦合至搜索系统214的计算机,该数据通信网络212例如局域网(lan)或例如互联网的广域网(wan)或者网络的组合。在一些情况下,搜索系统214可以被实现在用户设备204上,例如在用户在用户设备204上安装了执行搜索的应用的情况下。用户设备204一般将包括用于存储指令和数据的例如随机存取存储器(ram)206的存储器,以及用于执行所存储的指令的处理器208。存储器可以包括只读存储器和可写存储器。

用户202能够使用用户设备204向搜索系统214提交查询210。搜索系统214内的搜索引擎230执行搜索以识别与该查询相匹配的资源。当用户202提交查询210时,查询210可以通过网络212被传送至搜索系统214。搜索系统214包括索引数据库222和搜索引擎230。搜索系统214通过生成搜索结果228而对查询210进行响应,该搜索结果228通过网络被传送至用户设备204以便呈现给用户202,例如作为要由在用户设备204上运行的web浏览器显示的搜索结果网页。

在本说明书中,术语“数据库”将被宽泛地用来指代数据的任意集合:数据不需要以任何特定方式结构化或者根本无需结构化,并且其能够存储在一个或多个位置的存储设备上。因此,例如,索引数据库222可以包括多个数据集合,其中每一个可以以不同方式进行组织和访问。类似地,在该说明书中,术语“引擎”将被宽泛地用来指代能够执行一种或多个特定功能的基于软件的系统或子系统。通常,引擎将被实现为在一个或多个位置安装在一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其它情况下,多个引擎可以安装在相同的一个或多个计算机上并在其上运行。

当查询210被搜索引擎230接收时,搜索引擎230识别满足查询210的资源。搜索引擎230一般将包括对资源进行索引的索引引擎220,存储索引信息的索引数据库222,以及针对满足查询210的资源生成分值并且根据其相应分值对资源进行排名的排名引擎252或其它软件。

搜索系统214还包括相关实体引擎240或可以与之进行通信,相关实体引擎240从搜索结果228确定查询210是否指向特定实体,即该查询是否应当被分类为指向特定实体。确定查询是否指向特定实体将在下文参考图4进行更为详细的描述。如果查询指向特定实体,则相关实体引擎240识别与特定实体具有预定关系的实体。识别与特定实体具有预定关系的实体将在下文参考图3进行更为详细的描述。一旦识别了相关实体,搜索系统214就能够将识别相关实体的信息作为针对搜索查询210的响应的一部分被传送至用户设备204,例如,与搜索结果228一起或替代搜索结果228。

为了确定查询是否指向特定实体并且识别与该特定实体相关的实体,相关实体引擎240能够与相关实体索引数据库250进行通信。相关实体索引数据库250包括两个索引,一个将实体群组中的每个实体映射到一个或多个相关实体并且识别该实体与一个或多个相关实体之间的关系,而另一个则将该实体的一个或多个权威性资源映射至该实体群组的每个实体。构建这些索引在下文中参考图6进行描述。

图3是用于识别要作为针对搜索查询的响应的一部分而被识别的一个或多个相关实体的示例过程300的流程图。为了方便,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程300。

该系统从用户设备接收搜索查询(步骤302)并且针对该搜索查询从搜索引擎获得搜索结果(步骤304)。

系统确定搜索查询与主要实体相关(步骤306)。系统通过分析针对该搜索查询所获得的搜索结果而进行该步骤。通过分析搜索查询的搜索结果而确定搜索查询指向一个实体在下文中参考图4进行更为详细的描述。

系统确定一个或多个其它实体与主要实体具有关系(步骤308)。该系统通过访问索引而确定一个或多个其它实体与主要实体具有关系,该索引例如图2的相关实体索引数据库250中的索引,其将实体映射至与该实体具有预定关系的其它实体。该索引还识别一个或多个相关实体的类型,并且可选地识别搜索查询所指向的实体与相关实体之间的关系。根据预先确定的关系,相关实体可以与该实体为相同类型或者为不同类型。例如,对于特定电影而言,相关实体可以是该电影中参演的演员、该电影的制片人、该电影的导演等。可替换地,相关实体可以是同一制片人所制片、同一导演所执导或者与该电影同有一个或多个演员的其它电影。索引还可以识别相关实体的类型,例如“演员”,以及相关实体与主要实体之间的关系,例如“扮演”。

该系统确定相关实体应当响应于该搜索查询而被识别(步骤310)。确定相关实体是否应当响应于搜索查询被识别将在下文中参考图5进行描述。

该系统作为针对该搜索查询的响应的一部分传送识别相关实体的信息(步骤312)。识别相关实体的信息例如可以包括在搜索结果网页中并且被传送至用户设备以便向用户呈现。识别相关实体的信息可以包括以链接形式被呈现给用户的每个实体的名称,当该链接被用户选择时就向例如图2的搜索引擎230的搜索引擎提交从该实体名称所得出的搜索查询。根据仅由实体的名称构成的该查询是否被确定为模糊的,从该实体名称所得出的搜索查询可以仅包括相关实体的名称,或者相关实体的名称和例如一个或多个类型以及主要实体的名称。

搜索查询可以在针对该搜索查询的搜索结果指示该搜索查询不指向任何一个特定实体的情况下被确定为是模糊的。也就是说,如果在对搜索查询的搜索结果进行分析之后,确定该搜索查询不指向任何实体或者指向多于一个的实体,则该搜索查询被确定为是模糊的。通过分析搜索查询的搜索结果而确定该搜索查询指向一个实体在下文中参考图4进行更为详细的描述。如果搜索结果是模糊的,则该链接在被用户选择时提交查询,该查询包括该实体的名称以及相关实体的一个或多个类型和主要实体的名称。

除了相关实体的名称之外或作为其替代,识别相关实体的信息可选地可以包括对应于相关实体的图像。与实体的名称相同,每个图像可以以链接的形式进行呈现,当被用户选择时,该链接向搜索引擎提交从该图像与之相对应的实体的名称所得出的搜索查询。该系统能够通过向图像搜索引擎提交从实体名称所得出的搜索查询并且从该搜索查询的图像搜索结果所识别的图像中选择图像而针对相关实体获得相对应图像,例如通过选择排名最高的图像搜索结果所识别的图像。从实体名称所得出的查询可以是例如已经使用以上所描述的技术而被确定为不模糊的查询。另外,在一些实施方式中,系统优选具有特定的预定属性的图像,例如具有落入预定纵横比范围内的纵横比。也就是说,假设识别具有满足预定阈值的排名或者具有满足预定阈值的分值的图像的图像搜索结果,则该系统能够仅选择具有与预定属性相匹配的属性的图像。

可替换地,该系统可以保存为实体提供图像的索引。识别相关实体的信息可选地也可以包括与索引中的相关实体相关联的元数据。例如,对于类型“图书”的实体而言,该元数据能够识别图书首次出版的年份。

图4是用于确定搜索查询是否指向特定实体的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程400。

系统从搜索引擎获得针对搜索查询的搜索结果(步骤402)。

该系统确定是否有足够数量的由搜索结果所识别的资源是特定实体的权威性资源(步骤404)。例如,系统可以确定作为特定实体的权威性资源的资源的计数是否超过阈值。在确定哪些资源是权威性资源时,该系统可选地可以考虑由指定数量的最高排名搜索结果或者具有搜索引擎为它们所分配的高于阈值的分值的搜索结果所识别的资源。

该系统通过访问索引而确定搜索结果所识别的资源是否为任何实体的权威性资源,该索引例如图2的相关实体数据库250中所包括的索引,其将权威性资源映射至实体。实体的权威性资源是其在搜索结果中的出现已经被确定为该搜索查询指向该实体的强指示符的资源。确定哪些实体是权威性的并且构建该索引在下文中参考图6进行描述。

如果作为特定实体的权威性资源的资源数量足够,则该系统将该搜索查询分类为指向特定实体(步骤406)。

如果作为特定实体的权威性资源的资源数量不足,则该系统将该搜索查询分类为不指向特定实体(步骤408)。

图5是用于确定相关实体是否应当响应于特定搜索查询而被识别的示例过程500的流程图。为了方便,过程500将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程500。

该系统从搜索引擎获得针对搜索查询的搜索结果(步骤502)。例如通过执行以上参考图4所描述的过程,该搜索查询是已经确定为指向特定实体的查询,该特定实体与特定实体类型的一个或多个实体相关。该系统还获得针对搜索结果所识别的至少一些资源而识别与每个资源相关的一个或多个实体类型的数据。例如,该数据可以识别出与一个搜索结果所识别的一个资源相关的实体类型“汽车”和“电影”,与另一个搜索结果所识别的另一个资源相关的实体类型“演员”和“作家”,等等。

该系统确定是否有多于阈值数量的由搜索结果所识别的资源包含对特定实体的引用(步骤504)。在确定哪些资源包含对特定实体的引用时,该系统可选地可以仅考虑由预定数量的最高排名搜索结果或者具有搜索引擎为它们所分配的超过阈值的分值的搜索结果所识别的资源。例如,该系统可以确定从该搜索结果所识别的资源提取的标题或文本摘录中包括对特定实体的至少一个所识别引用的最高排名搜索结果的比例是否超过阈值,上述所识别引用例如特定实体的已知名称。例如,该系统可以确定前五个最高排名的搜索结果中的两个、前十个最高排名的搜索结果中的三个或者前100个最高排名的搜索结果中的三十个是否包括对特定实体的所识别引用。

如果搜索结果所识别的包含对特定实体的引用的资源的数量不足,则该系统确定相关实体不应当响应于该搜索查询被识别(步骤510)。

如果搜索结果所识别的包含对特定实体的引用的资源的数量足够,则该系统使用涉及从搜索引擎所获得的相关实体类型的数据来确定相关实体的实体类型是否与超过预定数量的该搜索结果所识别的资源相关(步骤506)。在确定哪些资源具有与相关实体的类型相匹配的相关实体类型时,该系统可选地可以仅考虑由指定数量的最高排名的搜索结果或者具有搜索引擎为它们所分配的超过阈值的分值的搜索结果所识别的资源。例如,对于被确定为指向类型“作家”的实体的搜索查询而言,类型“图书”的一个或多个实体可能与该作家具有关系。该系统随后可以在确定作为针对搜索查询的响应的一部分而返回与该作家相关的图书的名称之前,检查是否有足够数量的被预定数量的最高排名搜索结果所识别的资源具有相关实体类型“图书”。

如果有足够数量的被搜索结果所识别的资源具有与相关实体的类型相匹配的相关实体类型,则该系统确定相关实体应当响应于该搜索查询而被识别(步骤508)。

如果被搜索结果所识别的具有与相关实体的类型相匹配的相关实体类型的资源数量不足,则该系统确定相关实体不应当响应于该搜索查询而被识别(步骤510)。

在一些实施方式中,该系统有权访问将该搜索查询表征为属于或不属于一个或多个特殊类型的信息。该系统例如可以从搜索引擎中所包括的一个或多个服务获得该信息,搜索结果从上述搜索引擎获得。例如,该系统能够获得将搜索查询表征为可能为色情、导航或本地中的一个或多个或者将搜索查询表征为寻找特定信息项的查询的数据。在这样的实施方式中,即使满足响应于搜索查询识别相关实体的其它标准,该系统仍然能够在指示该搜索查询属于一种或多种特殊情形的情况下避免作为针对该搜索查询的响应的一部分而返回关于相关实体的信息,例如由于返回相关实体的名称对于用户而言可能是不适宜或不期望的。

图6是用于构建要在选择相关实体时使用的索引的示例过程600的流程图。为了方便,过程600将被描述为由位于一个或多个位置的一个或多个计算机的系统所执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程600。

处理600能够针对多种类型的多个实体执行。

该系统获得识别特定类型的特定实体的数据(步骤602)。所获得的数据包括特定实体的一个或多个名称并且识别实体的类型。所获得的数据可选地还可以识别与实体相关联的一个或多个资源。例如,针对作家j.r.r.tolkien,所获得的数据可以包括实体的名称“j.r.r.tolkien”,并且识别该实体的类型“作家”。该数据可选地还可以包括与作家j.r.r.tolkien相关联的一个或多个资源的资源定位符,例如指向该作家的在线百科页面或者该作家的官方网页。在一些情况下,所获得的数据可以针对特定实体识别多于一种的类型。例如,该数据可以将willsmith表征为“演员”类型和“音乐家”类型。

该系统能够从各种来源获得识别实体的数据。例如,一种资源可以是包括表示实体的节点并且识别节点所表示的每个实体的类型的结构化数据的在线数据库。现有的结构化数据的在线数据库的示例是能够在互联网的http://www.freebase.com上进行访问的freebase数据库。其它来源可以包括具有指向每个实体群组的页面以及指向特定类型的实体的网站的在线百科,上述网站例如包括指向电影以及例如演员、导演和制片人的电影相关实体的资源的网站。

该系统将一个或多个资源识别为特定实体的权威性资源(步骤604)。如果所获得的识别实体的数据还识别与实体相关联的资源,则该系统能够选择那些资源作为该实体的权威性资源。例如,实体的在线百科页面可以包含指向例如该实体的官方网站之类的与该实体相关的其它资源的链接。此外,例如通过指向另一个节点的链接或者通过表示实体的属性的链接,与实体相关的资源可以与在结构化数据的在线数据库中表示特定实体的节点相关联。

如果数据没有识别用于实体的任何相关联的资源,或者扩增通过该数据所识别的对实体的资源,则该系统能够向搜索引擎提交从实体的一个或多个名称所得出的搜索查询并且针对该搜索查询获得搜索结果。该系统然后能够从所获得的搜索结果所识别的资源中选择特定资源作为该实体的权威性资源。例如,该系统能够选择所指定数量的高评分搜索结果或者具有超过阈值分值的分值的每个搜索结果。

该系统在索引中将权威性资源与特定实体相关联(步骤606)。例如,针对特定实体的每个权威性资源,该系统可以生成从资源的资源定位符到特定实体的映射,即定义它们之间的关联性的数据。该索引例如可以是相关实体索引数据库250中所包括的索引中的一个。

如果所获得的数据针对特定实体识别多于一个的实体类型,则该系统能够在索引中针对该特定实体选择一种类型作为该特定实体的实体类型。例如,该系统能够针对从特定实体的名称所得出的搜索查询而获得搜索结果。针对预定数量的最高排名搜索结果中的每一个,该系统例如能够从识别与资源相关的实体类型的服务获得针对该搜索结果所识别的资源而识别相关实体类型的数据。该系统能够基于相关实体类型而针对特定实体选择一种实体类型,例如选择与最多资源相关的实体类型作为该特定实体的实体类型。

可替换地,该系统能够在索引中针对该实体的每种类型生成一个条目,例如针对willsmith一个条目为“演员”而一个条目为“音乐家”,并且针对每种类型将一个或多个所识别的权威性资源与相关条目相关联。该系统能够通过获得针对每个权威性资源识别该权威性资源的相关实体类型的数据而选择哪些权威性资源与特定实体的每个条目相关联。针对特定实体的每个索引条目,该系统随后能够关联具有与该条目的实体类型相匹配的相关实体类型的权威性资源。

例如,在willsmith被识别为“演员”和“音乐家”的情况下,该系统可以针对willsmith识别两个权威性资源:来自有关演员和电影的网站的指向willsmith的网页以及来自音乐家的社交媒体网站的指向willsmith的网页。该系统能够针对每个权威性资源而获得识别最相关实体类型的数据并且将来自有关演员和电影的网站的页面与具有“演员”类型的实体“willsmith”相关联,例如因为所获得的数据指示实体类型“演员”与该页面相关联。该系统还能够将来自该社交媒体网站的页面与具有“音乐家”实体类型的实体“willsmith”相关联,例如因为所获得的数据指示实体类型“音乐家”与该页面相关。

该系统获得识别与特定实体具有关系的其它实体的数据(步骤608)。如果特定实体具有多于一种的类型,则该系统获得针对每种类型识别其它实体的数据。所期望的关系类型可以是预先确定的,例如由系统管理员进行指定。也就是说,系统管理员能够针对“作家”类型的实体指定所获得的数据应当识别由作家所著的“图书”类型的实体。

该系统例如能够从获得识别该实体的数据相同来源或者从其它来源获得识别其它实体以及它们与该实体的关系的数据。例如,该系统能够查询结构化数据的在线数据库以获得识别与该实体相关的实体的数据。例如,对于表示演员的实体,该系统能够查询结构化数据的在线数据库以获得识别该演员在其中参演的一个或多个电影的数据。此外,在线百科中指向实体的页面可以识别与该实体相关的其它实体。例如,针对音乐艺术家的在线百科页面能够识别该音乐艺术家的专辑、该音乐艺术家的流行歌曲等等。

该系统对与特定实体具有预定关系的实体进行排序(步骤610)。在一些实施方式中,该系统根据系统从数据来源接收相关实体的顺序对它们进行排序。然而,在其它实施方式中,该系统对相关实体进行重新排序以考虑提交被指向该特定实体的搜索查询的用户对有关该特定实体的多个特定实体的相关信息更为感兴趣。对相关实体进行排序在下文中参考图7进行描述。

该系统在索引中将相关实体与特定实体相关联(步骤612)。例如,该系统能够生成从该特定实体到每个相关实体的映射。该映射还能够识别相关实体的类型,并且可选地能够识别特定实体与相关实体之间的关系的属性。该索引例如可以是相关实体索引数据库250中所包括的索引中的一个。该系统能够以以下方式生成映射,当相关实体被选择以便响应于指向特定实体的搜索查询而向用户进行呈现时,该相关实体以与系统所生成的顺序相匹配的顺序进行呈现。

在一些实施方式中,该系统还能够从一个数据来源获得与每个相关实体相关的附加信息并且将该附加信息存储在索引中,例如,作为与相关实体相关联的元数据,以便随后向用户进行呈现,例如以上参考图1所描述的。所获得的数据可以取决于相关实体的类型以及相关实体与特定实体之间的关系。例如,如果特定实体是“电影”类型的实体并且相关实体是参演该电影的“演员”类型的实体,则该附加信息可以包括每个相关实体所扮演的角色的姓名。然而,如果特定实体是“作家”类型的实体并且相关实体是该作家所写的“图书”类型的实体,则该附加信息可以包括每个相关实体首次出版的年份。因此,该附加信息可以是该相关实体通过其与特定实体的关系而拥有的属性的值。

图7是用于对相关实体进行排序的示例过程700的流程图。为了方便,过程700将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程700。

该系统针对特定实体获得识别相关实体的数据(步骤702)。

该系统针对每个相关实体确定排名分值(步骤704)。该系统通过将两个或更多的各种特定于因素的分值进行聚合来确定该排名分值,其中每个特定于因素的分值基于相应因素进行计算。

例如,该系统可以基于所识别的对每个相关实体的引用(例如相关实体的已知名称)与所识别的对特定实体的引用在由索引引擎所索引的资源中有多频繁地同时出现来针对每个相关实体生成分值,上述索引引擎例如图2的索引引擎220,使得更频繁地与特定实体同时出现的相关实体具有比更不频繁地与特定实体同时出现的相关实体更高的分值。

作为另一个示例,该系统能够基于每个相关实体在提交了指向特定实体的搜索查询之后有多频繁地被用户搜索来针对每个相关实体生成分值。例如,该系统可以获得针对每个相关实体识别用户在提交包括所识别的对特定实体的引用的初始搜索查询之后有多频繁地提交包括所识别的对相关实体的引用的搜索查询的数据,例如紧接在在提交了初始搜索查询之后。后续的搜索查询可以在其在提交之前的搜索查询的预定时间窗口内被提交以及在提交后续搜索查询时用户还没有在提交之前搜索查询之后提交另外的搜索查询的情况下被认为是在之前搜索查询之后立即提交。该系统能够生成分值,使得在提交指向特定查询之后更频繁地被搜索的相关实体具有比在提交指向特定实体的查询之后较不频繁被搜索的相关实体更高的分值。

作为另一个示例,该系统能够基于每个相关实体的全局流行度而针对每个相关实体生成分值。相关实体的全局流行度能够基于所识别的对相关实体的引用有多频繁地出现在由索引引擎所索引的资源之中,所识别的对相关实体的引用有多频繁地出现在之前提交的搜索查询中即存储在已经被用户提交至搜索引擎的查询的记录之中的搜索查询,或者基于上述二者。可替换地,相关实体的全局流行度可以至少部分地基于该相关实体的权威性资源有多频繁地在之前所提交的查询的搜索结果中被识别。例如,全局流行度可以至少部分地基于相关实体的权威性资源针对其而被预定数量的最高排名的搜索结果之一所识别的之前所提交查询的数量。该系统能够生成分值使得比其它实体具有更高全局流行度的相关实体将会比具有较低全局流行度的相关实体具有更高的分值。

作为另一个示例,该系统能够基于所识别的对相关实体的引用与所识别的对特定实体的引用有多频繁地同时出现在之前所提交的相同搜索查询中而针对每个相关实体生成分值,例如使得更频繁地与特定实体同时出现在之前所提交的搜索查询中的相关实体与较不频繁地与特定实体同时出现的相关实体相比具有更高分值。

该系统随后能够基于实体的特定于因素的分值而为每个相关实体生成排名分值。该系统例如能够通过对实体的特定于因素的分值进行规范化并且然后计算规范化分值的平均值、计算规范化分值的和、计算规范化分值的乘积或者以其它方式对规范化分值聚合来为给定实体生成排名分值。

该系统根据相关实体的排名分值对它们进行排序(步骤706)。在一些实施方式中,该系统能够在根据它们的排名分值对实体进行排序之后进一步对相关实体的排序进行调节。具体地,该系统可以访问对一个或多个实体集合指定排序的数据。例如,该数据可以指定特定电影三部曲中的电影按照它们的发行日期进行排序,或者指定美国总统按照他们开始或结束任期的日期进行排序。如果数据指示两个或更多相关实体是具有指定顺序的实体集合的成员,则该系统能够调节该集合中成员的顺序以与所指定顺序相匹配。在一些实施方式中,如果实体集合的成员在相关实体的顺序中被其它实体分开,则系统对集合成员重新排序以匹配所指定的顺序并且在相关实体的顺序中将集合中经排序的成员放在一起,例如,在集合中排名最高的实体的位置开始或者在集合中实体的平均位置。在一些其它实施方式中,如果实体集合的成员在相关实体的顺序中被其它实体分开,则系统避免对集合成员的顺序进行调节以匹配所指定的顺序。

作为另一个示例,该系统可以访问识别更为人所知属于更宽大实体的一部分的实体集合的数据。例如,该数据可以指示构成流行图书系列的个体图书更适合被认为是该系列的一部分而不是个体图书。如果数据指示一些或全部相关实体被包括在更宽大实体中,则该系统能够在顺序中利用该更宽大实体替代那些相关实体。例如,一位作家的相关实体可以包括该作家所写的图书。如果该作家已经写了著名的图书三部曲并且那些图书被包括在该作家的相关实体中,则系统可以将该三部曲中的图书替换为表示该三部曲的单个实体。在一些实施方式中,如果更为人所知属于更宽大实体的一部分的实体集合中的实体在相关实体的顺序中被其它实体分开,则该系统在该顺序上将该更宽大实体放置在该集合中排名最高的实体的位置。可替换地,该系统能够在顺序上将该更宽大实体放置在该集合中的实体的位置的平均值的位置。在一些其它实施方式中,如果该集合中的实体在相关实体的顺序中被其它实体分开,则系统可以避免利用该更宽大实体来替代集合中的实体。

虽然过程600和700描述了获得识别与特定实体相关的实体的数据并且然后对相关实体进行排序,但是在一些情况下,例如当相关实体与特定实体为相同类型时,该系统可以对获得的数据所识别的候选实体进行精化以便识别与特定实体相关的实体。例如,针对“人员”类型的特定实体,该系统可以获得识别由结构化数据的在线数据库中的节点所表示的“人员”类型的大量其它实体的数据。该系统然后能够对所获得的实体精化以便识别与特定实体相关的“人员”类型的实体。

图8是用于将实体映射至相同类型的相关实体的示例过程800的流程图。为了方便,过程800将被描述为由位于一个或多个位置的一个或多个计算机的系统所执行。例如,被适当编程的例如图2的搜索系统214的搜索系统能够执行过程800。

过程800能够针对多个类型的多个实体执行。例如,可以针对期望响应于与给定实体类型相关的搜索查询而针对其返回识别与给定实体相关的类型的其它实体的信息的每个类型执行过程800,例如这是因为用户经常在提交了引用该类型的实体的初始查询之后提交引用该类型的其它实体的另外搜索查询。

该系统获得识别特定类型的特定实体的数据(步骤802)。所获得的数据包括特定实体的一个或多个名称并且识别该实体的类型。该系统例如能够从结构化数据的在线数据库获得该数据。

该系统识别与特定实体相关的特定类型的其它实体(步骤804)。例如,该系统能够查询结构化数据的在线数据库以获得识别该特定类型的其它实体的数据。该系统然后基于所识别的对每个其它实体的引用与所识别的对该特定实体的引用在由索引引擎所索引的资源中有多频繁地同时出现而识别与该特定实体相关的该特定类型的实体,上述索引引擎例如图2的索引引擎220。例如,该系统能够选择预定数量的最频繁地与该特定实体同时出现的其它实体作为相关实体。可替换地,该系统能够选择以超过阈值频率的频率而与特定实体同时出现的那些其它实体作为相关实体。

该系统对相关实体进行排序(806)。该系统可以基于所识别的对每个相关实体的引用与所识别的对该特定实体的引用在由索引引擎所索引的资源中有多频繁地同时出现而针对每个相关实体计算同时出现分值,例如使得更频繁地与特定实体同时出现的相关实体与较不频繁地与特定实体同时出现的相关实体相比具有更高的同时出现分值。

该系统还可以基于每个相关实体在提交了被指向特定实体的搜索查询之后有多频繁地被用户所搜索而针对每个相关实体计算后续查询分值。例如,该系统可以获得针对每个相关实体识别用户在提交了包括特定实体名称的初始搜索查询之后有多频繁地提交包括相关实体名称的搜索查询的数据,例如在提交初始查询的预定时间窗口内提交或者紧接在在提交初始搜索查询之后。该系统然后能够计算后续查询分值,例如使得在提交初始搜索查询之后更频繁地被搜索的实体与提交初始查询之后较不频繁地被搜索的相关实体相比具有更高的后续查询分值。

该系统然后能够基于同时出现分值、后续查询分值或者其二者针对每个相关实体生成排名分值,并且依据该排名分值对相关实体进行排序。该系统例如能够通过对实体的同时出现分值和后续查询分值进行规范化并接着计算规范化分值的平均值、计算规范化分值的和、计算规范化分值的乘积或者以其它方式对规范化分值进行聚合而针对给定实体生成排名分值。

该系统在索引中将相关实体与特定实体相关联(步骤808)。例如,该系统能够生成从特定实体到每个相关实体的映射。该映射还能够识别相关实体的类型,并且可选地识别特定实体和相关实体之间的关系的属性。该索引例如可以是相关实体索引数据库250中所包括的索引中的一个。该系统能够以以下方式生成映射,当相关实体被选择以便响应于指向特定实体的搜索查询而向用户进行呈现时,该相关实体以与系统所生成的顺序相匹配的顺序进行呈现。

在一些实施方式中,在将特定类型的相关实体与特定实体相关联之前,该系统针对每个相关实体确定相关实体的同时出现分值和后续查询分值都超过相应阈值。对于给定相关实体而言,如果任何一个分值没有超过阈值,则该系统能够避免在索引中将该相关实体与特定实体相关联。

此外,在一些实施方式中,该系统在将特定类型的任何相关实体与特定实体相关联之前针对特定实体确定是否存在充足数据。例如,该系统能够确定所识别的对该实体的引用是否多于搜索查询的阈值或者多于资源的阈值。如果针对特定实体所存在的数据不足,则该系统能够确定不在索引中将特定类型的任何相关实体与该实体相关联。

该说明书中所描述的主题和功能操作的实施例能够以数字电子电路、有形体现的计算机软件或固件、包括该说明书中所公开的结构及其结构等同形式的计算机硬件来实施,或者以它们中的一个或多个的组合来实施。

该说明书中所描述主题的实施例能够被实施为一个或多个计算机程序,即在有形的非瞬时程序载体上编码以便由数据处理装置执行或者控制其操作的计算机程序指令的一个或多个模块。可替换地或除此之外,程序指令能够在人为生成的传播信号上进行编码,例如机器生成的电、光学或电磁信号,其被生成以对信息进行编码以便传输至适当接收器装置而供数据处理装置执行。该计算机存储介质可以是机器可读存储设备、机器可读存储衬底、随机或串行访问存储器设备,或者它们中的一个或多个的组合。

术语“数据处理装置”是指数据处理硬件并且包含用于处理数据的所有类型的装置、设备和机器,例如包括可编程处理器、计算机或者多个处理器或计算机。该装置还可以是或者进一步包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置可选地可以包括形成计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。

计算机程序(其也可以被称作或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)能够以任意形式的编程语言进行编写,包括编译或解释语言,或者声明或过程语言,并且其能够以任意形式进行部署,包括作为独立程序或者作为模块、组件、子程序或适于在计算环境中使用的其它单元。计算机程序可以对应于文件系统中的文件,但是并非需要如此。程序能够被存储在保存其它程序或数据(例如,标记语言文档中所存储的一个或多个脚本)文件的一部分中,存储在专用于所讨论程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序或代码部分的文件)。计算机程序可以被部署为在一台计算机或多台计算机上执行,该多台计算机位于一个地点或者跨多个地点分布并且通过通信网络进行互连。

该说明书中所描述的过程和逻辑流程能够由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出而执行功能的一个或多个可编程计算机来执行。该过程和逻辑流程还能够由例如fpga(现场可编程门阵列)或asic(专用集成电路)的专用逻辑电路来执行,并且装置也能够被实施为上述专用逻辑电路。

适于执行计算机程序的计算机例如可以基于通用或专用微处理器或者其二者,或者任意其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或者其二者接收指令和数据。计算机的必要部件为用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括一个或多个用于存储数据的一个或多个大型存储设备,或者与之操作耦合以往来于其接收和传送数据,上述大型存储设备例如磁盘、磁性光盘或光盘。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入另一设备中,例如移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏机、全球定位系统(gps)接收器,或者例如通用串行总线(usb)闪存驱动的便携式存储设备,这只是举出几个示例。

适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或便携式磁盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器能够被补充以专用逻辑电路或者整合在其中。

为了提供与用户的交互,该说明书中所描述的主题的实施方式能够在计算机上实施,该计算机具有例如crt(阴极射线管)或lcd(液晶显示器)监视器的用于向用户显示信息的显示设备以及用户能够通过其向计算机提供输入的键盘和例如鼠标或轨迹球的指示设备。也能够使用其它类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任意形式被接收,包括声音、语音或触觉输入。此外,计算机能够通过往来于用户所使用的设备发送和接收文档而与用户进行交互;例如,通过响应于从用户的设备上的web浏览器所接收到的请求而向该web浏览器发送网页。

该说明书中所描述的主题的实施例能够在计算系统中实施,该计算系统包括例如作为数据服务器的后端组件,或者包括例如应用服务器的中间件组件,或者包括例如客户端计算机的前端组件,或者一个或多个这样的后端、中间件或前端组件的任意组合,上述客户端计算机具有用户能够通过其而与该说明书所描述主题的实施方式进行交互的图形用户界面或web浏览器。该系统的组件能够通过例如通信网络之类的任意形式或介质的数字数据通信进行互连。通信网络的示例包括局域网(lan)和例如互联网的广域网(wan)。

计算系统能够包括客户端和服务器。客户端和服务器通常互相远离并且典型地通过通信网络进行交互。客户端和服务器的关系源自于在相应计算机上运行并且互相具有客户端-服务器关系的计算机程序。

虽然该说明书包含了许多具体的实施方式细节,但是这些并不应当被理解为是对任何发明或者可以请求保护的范围的限制,而是作为可能对特定于特定发明的特定实施例的特征的描述。该说明书中以单独实施例为背景所描述的某些特征也能够在单个实施例中组合实施。相反,以单个实施例为背景所描述的各个特征也能够在多个实施例中单独实施或者以任意适当的子组合实施。此外,虽然特征在上文中可以被描述为以某种组合发生作用并且甚至最初如此要求保护,但是来所请求保护的组合的一个或多个特征在一些情况下能够脱离该组合并且所请求保护的组合可以针对子组合或子组合的变化形式。

类似地,虽然操作在图中以特定顺序进行描绘,但是这不应当被理解为为了实现所期望的结果而要求这样的操作以所示出的特定顺序或以连续顺序来执行,或者执行所有所图示的操作。在某些情况下,多任务和并行处理可能是有利的。此外,以上所描述的实施例的各个系统模块和组件的划分不应当被理解为在所有实施例中要求这样的划分,并且应当理解的是,所描述的程序组件和系统一般能够共同集成在单个软件产品中或者被封装为多个软件产品。

已经对该主题的特定实施例进行了描述。其它实施例处于所附权利要求的范围之内。例如,权利要求中所记载的动作可以以不同顺序执行并且仍然实现所期望的结果。作为一个示例,附图中所描绘的过程不必然要求所示出的特定顺序或连续顺序来实现所期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1