用于内存数据库搜索的系统和方法与流程

文档序号:11851469阅读:219来源:国知局
用于内存数据库搜索的系统和方法与流程

本公开总体上涉及用于信息检索的方法和系统;更具体地,用于使用实体共现搜索相关实体的方法。本公开总体上涉及查询增强;更具体地,在使用知识库中的实体共现和模糊分数匹配的搜索建议。本公开总体上涉及计算机查询处理;更具体地,基于共现和/或模糊分数匹配的相关实体的电子搜索建议。本公开总体上涉及用于信息检索的方法和系统;更具体地,用于获得搜索建议的方法。本公开总体上涉及搜索引擎和内容管理;更具体地,使内容管理系统的搜索引擎技术延伸以使得能够进行地理标记和数字内容的命名实体的丰富。



背景技术:

在商业环境中,公知的搜索引擎解析一组搜索术语并返回以某种方式排序的一列项目(在传统的搜索中是网页)。用于执行搜索的最知名的方法通常基于其他用户的历史参考以建立搜索查询数据库,该数据库可最终用于基于关键词生成索引。用户搜索查询可包括通过可与实体关联的名称或属性识别的一个或多个实体。实体还可包括组织、人、位置、日期和/或时间。在典型的搜索中,如果用户正在搜索与两个特定组织相关的信息,则搜索引擎可返回分类的结果,该结果可以与具有相同名称或相似名称的不同实体的混合相关。后一种方法可导致用户找到可能不与用户实际上感兴趣的文档相关的非常大量的文档。

因此,对于可赋予用户找到感兴趣的相关实体的能力的用于搜索相关实体的方法,存在需求。

用户频繁地使用搜索引擎来从互联网或任何数据库系统定位感兴趣的信息。搜索引擎通常通过从用户接收搜索查询并将搜索结果返回给用户来进行操作。通常通过搜索引擎,基于每个返回的搜索结果与搜索查询的相关性,给搜索结果排名。因此,对于搜索结果的质量来说,搜索查询的质量可能相当重要。然而,在大多数情况下,来自用户的搜索查询可能是不完整地或部分地写出来的(例如,搜索查询可能不包括足够的词语以生成关注的一组相关的结果,相反,生成大量无关的结果),并且有时可能拼写错误(例如,Bill Smith可能错误地拼写成Bill Smitth)。

提高搜索结果的质量的一种常用方法是对搜索查询进行增强。对搜索查询进行增强的一种方式可以是基于用户的输入生成可能的建议。对此,一些方法提出用于从由一个或多个用户提交的之前的查询中识别对于给定查询的候选查询优化的方法。然而,这些方法基于查询日志,该日志有时可能将用户引导至可能不感兴趣的结果。存在使用可能不是足够精确的不同技术的其他方法。因此,对于改善或增强来自用户的搜索查询以获得更精确的结果的方法,仍然存在需求。

用户频繁地使用搜索引擎以用于从互联网或任何数据库系统定位感兴趣的信息。搜索引擎通常通过从用户接收搜索查询并将搜索结果返回给用户来进行操作。通常基于每个返回的搜索结果与搜索查询的相关性来给搜索结果排名。因此,对于搜索结果的质量来说,搜索查询的质量可能相当重要。然而,在大多数情况下,来自用户的搜索查询可能是不完整地或部分地写出来的(例如,搜索查询可能不包括足够的词语以生成关注的一组相关的结果,相反,生成大量无关的结果),并且有时可能拼写错误(例如,Bill Smith可能错误地拼写成Bill Smitth)。

提高搜索结果的质量的一种常用方法是对搜索查询进行增强。对搜索查询进行增强的一种方式可以是基于用户的输入生成可能的建议。对此,一些方法提出用于从由一个或多个用户提交的之前的查询中识别对于给定查询的候选查询优化的方法。然而,这些方法基于查询日志,该日志有时可能将用户引导至可能不感兴趣的结果。存在使用可能不是足够精确的不同技术的其他方法。因此,对于改善或增强来自用户的搜索查询以获得更精确的结果且还在用户打出搜索查询时给用户呈现有用的感兴趣的相关实体的方法,仍然存在需求。

搜索引擎包括多个特征以便提供对于用户查询的预测。这样的预测可包括查询自动完整和搜索建议。现在,这样的预测方法基于历史关键词参考。这样的历史参考可能不精确,其原因是在一个关键词可能涉及到单个文本中的多个主题。

另外,用户搜索查询可包括通过可与实体关联的名称或属性来识别的一个或多个实体。实体还可包括组织、人、位置、事件、日期和/或时间。在典型的搜索中,如果用户搜索与两个特定组织相关的信息,则搜索引擎可返回分类的结果,该结果可以与具有相同名称或相似名称的不同实体的混合相关。后一种方法可导致用户找到可能不与用户实际上感兴趣的文档相关的非常大量的文档。

因此,对于用于获得更快速的且更精确的搜索建议的方法,存在需求。

已知用于文档版本控制和协作项目管理的内容管理和文档管理系统。一个非限制性示例可以是微软的Sharepoint(共享点)软件以及工具的应用套件。微软Sharepoint是由微软公司开发的一系列软件产品,用于协作、文件共享以及网络发布。SharePoint可给用户提供大量的内容或信息,并且可能变得用户难以找到针对特定情况的最相关的信息。为了减轻这些问题,SharePoint提供搜索引擎以便帮助用户找到他们需要的内容。用户可输入基于关键词的搜索查询,且一旦内容已被索引,则SharePoint中的搜索引擎可给用户返回在SharePoint平台的环境内找到的一列最相关的结果。

有时,用户可能期望找到与SharePoint中的地理实体或其他类型的实体(例如在文档内提到的组织或人)相关的内容。SharePoint不提供立即可用的功能以从文档自动地提取实体。具体地,它不支持地理标记的内容以提取地理实体并将地理实体分解为地理位置。此外,SharePoint不支持实体标记以便识别、消除歧义以及提取被命名的实体,例如文档中的组织或人。然而,SharePoint搜索可被延伸以能够进行有效的地理搜索和其他与实体相关的搜索,其包括基于实体的搜索分面。SharePoint的之前版本包括用于SharePoint的“快速搜索”,从中能够使内容处理管线延伸穿过沙盒应用程序,但是这样既慢又限制了它可访问的信息。

SharePoint引入了开放得多的API,这使之能够增加专用的语言学,例如概念提取、关系提取、地理标记、汇总以及精细的文本分析。因此,对于扩展SharePoint的搜索引擎的能力以使得能够进行地理搜索和基于其他实体的搜索,存在机会。



技术实现要素:

公开了用于使用实体共现来搜索相关实体的方法。在本公开的一个方面,方法可用于可包括客户端/服务器类型架构的搜索系统。在一个实施例中,搜索系统可包括用于搜索引擎的用户界面,搜索引擎通过网络连接与一个或多个服务器设备通信。服务器设备可包括实体索引的电子数据语料库、实体共现知识库数据库以及实体提取计算机模块。知识库可被建立成内存数据库,且还可包括其他组件,例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

在一个实施例中,一种计算机实现的方法包括:通过实体提取计算机从客户端计算机接收包括一个或多个实体的搜索查询;通过实体提取计算机将每个相应实体与相应实体在共现数据库中一个或多个共现作比较;响应于根据共现数据库确定一个或多个实体的子集中的每个相应实体超过共现数据库的置信度分数,来通过实体提取计算机从搜索查询提取第一个或多个实体的子集,其中,置信度分数基于电子数据语料库中的一个或多个相关实体与每个相应实体的共现的确定性程度;通过实体提取计算机给提取的多个实体中的每个实体分配索引标识符(索引ID);通过实体提取计算机将用于提取的多个实体中的每个实体的索引ID保存在电子数据语料库中,电子数据语料库是通过与一个或多个相关实体中的每个实体对应的索引ID来索引的;通过搜索服务器计算机搜索实体索引的电子数据语料库,以定位提取的多个实体并识别数据记录的索引ID,在数据记录中,提取的多个实体中的至少两个实体共现;以及通过搜索服务器计算机建立搜索结果列表,搜索结果列表具有与所识别的索引ID对应的数据记录。

在一个实施例中,一种系统包括一个或多个服务器计算机,一个或多个服务器计算机具有一个或多个处理器,一个或多个处理器执行用于多个计算机模块的计算机可读指令,多个计算机模块包括:实体提取模块,配置为接收搜索查询参数的用户输入,实体提取模块进一步配置为:通过将提取的多个实体中的每个实体与实体共现数据库作比较来从搜索查询参数提取多个实体,其中实体共现数据库包括置信度分数,置信度分数指示电子数据语料库中的一个或多个相关实体与提取的实体的共现的确定性程度,给提取的多个实体中的每个实体分配索引标识符(索引ID),将用于提取的多个实体中的每个实体的索引ID保存在电子数据语料库中,电子数据语料库是通过与一个或多个相关实体中的每个实体对应的索引ID来索引的;以及搜索服务器模块,配置为搜索实体索引的电子数据语料库,以定位提取的多个实体并识别数据记录的索引ID,在数据记录中,提取的多个实体中的至少两个实体共现,搜索服务器模块进一步配置为建立搜索结果列表,搜索结果列表具有与所识别的索引ID对应的数据记录。

在另一实施例中,一种非暂时性计算机可读介质,其上存储有计算机可执行的指令,指令包括:通过实体提取计算机接收搜索查询参数的用户输入;通过将提取的多个实体中的每个实体与实体共现数据库作比较,来通过实体提取计算机从搜索查询参数提取多个实体,其中实体共现数据库包括置信度分数,置信度分数指示电子数据语料库中的一个或多个相关实体与所提取的实体的共现的确定性程度;通过实体提取计算机给提取的多个实体中的每个实体分配索引标识符(索引ID);通过实体提取计算机将用于提取的多个实体中的每个实体的索引ID保存在电子数据语料库中,电子数据语料库是通过与一个或多个相关实体中的每个实体对应的索引ID来索引的;通过搜索服务器计算机搜索实体索引的电子数据语料库,以定位提取的多个实体并识别数据记录的索引ID,在数据记录中,提取的多个实体中的至少两个实体共现;以及通过搜索服务器计算机建立搜索结果列表,搜索结果列表具有与所识别的索引ID对应的数据记录。

公开了一种用于通过使用知识库中的实体共现和模糊分数匹配来生成搜索建议的方法。在本公开的一方面,方法可用于可包括客户端/服务器类型架构的搜索系统。在一个实施例中,搜索系统可包括用于搜索引擎的用户界面,搜索引擎通过网络连接与一个或多个服务器设备通信。服务器设备可包括实体提取计算机模块、模糊分数匹配计算机模块以及实体共现知识库数据库。知识库可被建立成内存数据库,且还可包括其他硬件和/或软件组件,例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义计算机模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

在本公开的另一方面,方法可包括:实体提取模块,实体提取模块可对提供的搜索查询执行部分实体提取,以识别搜索查询是否提及实体,如果是,则识别搜索查询提及哪种类型的实体。此外,方法可包括:模糊分数匹配模块,模糊分数匹配模块可基于提取的实体的类型而产生算法并对着实体共现知识库执行搜索。另外,被检测为不与实体对应的查询文本部分被当作可用于搜索实体共现知识库的概念特征,例如主题、事实以及关键短语。在一个实施例中,实体共现知识库包括资料库,在该资料库处,可按照实体到实体、实体到主题或者实体到事实等对实体进行索引,这可便于将快速且精确的建议返回到用户以使搜索查询完整。

在一个实施例中,公开了一种方法。该方法包括:通过实体提取计算机从用户界面接收搜索查询参数的用户输入;通过将搜索查询参数与实体共现数据库作比较,并识别与搜索查询参数中的一个或多个实体对应的至少一个实体类型,来通过实体提取计算机从搜索查询参数提取一个或多个实体,其中,实体共现数据库具有一个或多个实体在电子数据语料库中共现的实例;以及通过模糊分数匹配计算机选择模糊匹配算法,以用于搜索实体共现数据库而识别与搜索查询参数关联的一个或多个记录,其中,模糊匹配算法与所识别的至少一个实体类型对应。该方法进一步包括:通过模糊分数匹配计算机使用所选择的模糊匹配算法搜索实体共现数据库,并基于所述搜索从一个或多个记录形成一个或多个建议的搜索查询参数;以及通过模糊分数匹配计算机经由用户界面呈现一个或多个所建议的搜索查询参数。

在另一实施例中,提供一种系统。该系统包括一个或多个服务器计算机,所述一个或多个服务器计算机具有一个或多个处理器,所述一个或多个处理器执行用于多个计算机模块的计算机可读指令,所述多个计算机模块包括:实体提取模块,实体提取模块配置为从用户界面接收搜索查询参数的用户输入,实体提取模块进一步配置为通过将搜索查询参数与实体共现数据库作比较,并识别与搜索查询参数中的一个或多个实体对应的至少一个实体类型,来从搜索查询参数提取一个或多个实体,其中,实体共现数据库具有一个或多个实体在电子数据语料库中共现的实例。该系统进一步包括:模糊分数匹配模块,模糊分数匹配模块配置为选择模糊匹配算法,以用于搜索实体共现数据库从而识别与搜索查询参数关联的一个或多个记录,其中,模糊匹配算法与所识别的至少一个实体类型对应。模糊分数匹配模块进一步配置为:使用所选择的模糊匹配算法来搜索实体共现数据库,并基于所述搜索从一个或多个记录形成一个或多个所建议的搜索查询参数;以及经由用户界面呈现一个或多个所建议的搜索查询参数。

公开了一种用于基于共现和/或模糊分数匹配来生成相关实体的搜索建议的方法。在本公开的一方面,方法可用于可包括客户端/服务器类型架构的计算机搜索系统。在一个实施例中,搜索系统可包括用于搜索引擎的用户界面,搜索引擎通过网络连接与一个或多个服务器设备通信。服务器设备可包括一个或多个处理器以及实体共现知识库数据库,所述一个或多个处理器执行用于多个专用计算机模块的指令,所述多个专用计算机模块包括实体提取模块和模糊分数匹配模块。知识库可被建立成内存数据库,且还可包括其他组件,例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

在本公开的另一方面,方法可包括:通过实体提取模块从提供的搜索查询执行部分实体提取,以识别搜索查询是否提及实体,如果是,则确定实体类型。此外,方法可包括:通过模糊分数匹配模块生成与所提取的实体的类型对应的算法并对着实体共现知识库执行搜索。另外,被检测为不作为实体的查询文本部分被当作可用于搜索实体共现知识库的概念特征,例如主题、事实以及关键短语。可已经具有资料库的实体共现知识库可将快速且精确的建议返回到用户以使搜索查询完整,其中在该资料库处可按照实体到实体、实体到主题或者实体到事实等来对实体进行索引。

在本公开的进一步的方面,完整的搜索查询可用作新的搜索查询。搜索系统可处理新的搜索查询、运行实体提取、从实体共现知识库中找到具有最高分数的相关实体、以及以可对用户有用的下拉列表呈现所述相关实体。

在一个实施例中,公开了一种方法。该方法包括:通过实体提取计算机从用户界面接收部分搜索查询参数的用户输入,该部分搜索查询参数具有至少一个不完整的搜索查询参数;通过将部分搜索查询参数与具有一个或多个第一实体在电子数据语料库中共现的实例的实体共现数据库作比较,并识别与部分搜索查询参数中的一个或多个第一实体对应的至少一个实体类型,来通过实体提取计算机从部分搜索查询参数提取一个或多个第一实体;以及通过模糊分数匹配计算机选择模糊匹配算法,以用于搜索实体共现数据库从而识别与部分搜索查询参数关联的一个或多个记录,其中,模糊匹配算法与所识别的至少一个实体类型对应。该方法进一步包括:通过模糊分数匹配计算机使用所选择的模糊匹配算法来搜索实体共现数据库,并基于所述搜索从一个或多个记录形成一个或多个第一建议的搜索查询参数;通过模糊分数匹配计算机经由用户界面呈现一个或多个第一建议的搜索查询参数;通过实体提取计算机接收对一个或多个第一建议的搜索查询参数的用户选择,以形成完整的搜索查询参数;以及通过实体提取计算机从完整的搜索查询参数提取一个或多个第二实体。该方法进一步包括:通过实体提取计算机搜索实体共现数据库,以识别与一个或多个第二实体相关的一个或多个实体,以形成一个或多个第二建议的搜索查询参数;以及通过实体提取计算机经由用户界面呈现一个或多个第二建议的搜索查询参数。

在另一实施例中,公开了一种系统。该系统包括一个或多个服务器计算机,所述一个或多个服务器计算机具有一个或多个处理器,所述一个或多个处理器执行用于多个计算机模块的计算机可读指令,所述多个计算机模块包括:实体提取模块,实体提取模块配置为从用户界面接收部分搜索查询参数的用户输入,该部分搜索查询参数具有至少一个不完整的搜索查询参数,实体提取模块进一步配置为通过将部分搜索查询参数与具有一个或多个第一实体在电子数据语料库中共现的实例的实体共现数据库作比较,并识别与部分搜索查询参数中的一个或多个第一实体对应的至少一个实体类型,来从部分搜索查询参数提取一个或多个第一实体。该系统进一步包括:模糊分数匹配模块,模糊分数匹配模块配置为选择模糊匹配算法,以用于搜索实体共现数据库,以识别与部分搜索查询参数关联的一个或多个记录,其中,模糊匹配算法与所识别的至少一个实体类型对应。模糊分数匹配模块进一步配置为:使用所选择的模糊匹配算法来搜索实体共现数据库,并基于所述搜索从一个或多个记录形成一个或多个第一建议的搜索查询参数;以及经由用户界面呈现一个或多个第一建议的搜索查询参数。另外,实体提取模块进一步配置为:接收对一个或多个第一建议的搜索查询参数的用户选择,以形成完整的搜索查询参数;从完整的搜索查询参数提取一个或多个第二实体;搜索实体共现数据库,以识别与一个或多个第二实体相关的一个或多个实体,从而形成一个或多个第二建议的搜索查询参数;以及经由用户界面呈现一个或多个第二建议的搜索查询参数。

公开了一种用于使用实体和特征共现来获得与实体相关的搜索建议的方法。在本公开的一方面,方法可用于可包括客户端/服务器类型架构的搜索系统。

一种搜索系统,使用以下方法,该方法可使用在可允许实体数据库和趋势数据库的一个或多个服务器中存储的实体。这样的数据库上的实体可具有分数,以用于基于更高的分数来索引。用于获得搜索建议的方法可组合存储在两个数据库中的信息,以用于生成单个搜索建议列表。趋势数据库可提供来自局域网和/或互联网中的一个或多个用户的之前的搜索查询。实体数据库可基于从局域网和/或互联网上可获得的多个数据中提取实体来提供搜索建议。该列表可给用户提供更精确的且更快的一组建议。

在一个实施例中,一种计算机实现的方法包括:通过计算机从搜索引擎接收包括一个或多个数据串的搜索查询,其中每个相应实体与一个或多个数据串的子集对应;基于将一个或多个实体对着实体数据库和趋势数据库作比较,来通过计算机识别一个或多个数据串中的一个或多个实体;通过计算机识别一个或多个数据串中的、被识别为不与至少一个实体对应的一个或多个特征;通过计算机基于匹配算法将一个或多个特征中的每个特征分配给一个或多个实体中的至少一个实体;通过计算机基于分配到给相应实体分配的每个相应特征的分数,给每个相应的实体分配提取分数;通过计算机从实体数据库接收包含一个或多个实体的第一搜索列表,所述一个或多个实体具有距每个相应实体的提取分数在阈值距离内的分数;通过计算机从趋势数据库接收包含一个或多个实体的第二搜索列表,所述一个或多个实体具有距每个相应实体的提取分数在阈值距离内的分数;通过计算机生成包括第一搜索列表和第二搜索列表的聚集后的列表,其中,根据每个相应的聚集后的列表的分数对聚集后的列表的实体进行排名;以及通过计算机根据聚集后的列表提供所建议的搜索。

本文公开了能够在内容管理系统如微软SharePoint中进行基于地理实体的搜索的系统和方法。实施例描述的方法涉及通过添加地理标记网络服务来扩展SharePoint搜索架构。该系统包括与计算机存储器和一个或多个I/O设备在操作上关联的计算机处理器,其中处理器和存储器配置为操作一个或多个SharePoint处理。系统还包括与计算机存储器和一个或多个I/O设备在操作上关联的另一计算机处理器,其中,处理器和存储器配置为寄存和提供用于地理标记网络服务的处理。SharePoint系统可包括爬取组件、内容处理组件以及搜索索引组件以便能够搜索内容。SharePoint搜索中的内容处理组件可通过使用内容丰富网络服务(Content Enrich Web Service,CEWS)特征来扩展其功能。

该方法涉及从不同的源爬取内容,以获得为了进行内容处理而发送的一批爬取的属性。在内容处理期间,触发条件可确定爬取的属性是否可从其他处理受益,以便通过其他地理元数据属性来丰富原始内容。如果爬取的属性没有从其他处理受益,则爬取的属性可被映射到所管理的处理并被发送到搜索索引。如果爬取的属性从外部网络服务处理受益,则CEWS可使用超文本传输协议(HTTP)或任何其他网络服务调用方法向可配置的端点作出简单对象访问协议(SOAP)请求。实体丰富服务可确定内容的类型。如果内容处于图像格式,则它的元数据例如文件位置可被发送到光学字符识别(OCR)引擎,使得可异步地检索和处理原始文档以转换成文本并发送回爬取组件,从而以文本格式被重新爬取。如果内容处于文本格式,则地理标记网络服务可识别地理元数据并使之作为所管理的属性而与内容关联。在已经对内容进行地理标记之后,内容可被发送到索引组件。

使用SharePoint网络部件,或通过使用标准网络开发工具例如HTML、HTML5、JavaScript和CSS等修改SharePoint搜索的标准布局,可添加其他搜索用户界面(UI)。搜索UI可帮助用户执行地理搜索查询,或使用数字地理特征例如诸如但不作为限制的数字地图来显示地理搜索结果。搜索UI还可被增强以使用其他被丰富的实体或与它们关联的元数据来执行分面搜索。

本公开的多个其他方面、特点和益处可从下面的详细描述中变得明显。

附图说明

通过参照下面的附图,可更好地理解本公开。附图中的组件不一定按照比例,相反重点是着重于示出本公开的原理。在附图中,贯穿不同的视图,参考数字指示对应的部件。

图1是示出计算机系统的示例性环境的框图,其中本公开的一个实施例可在该计算机系统的示例性环境下操作;

图2是示出根据实施例的用于使用实体共现来进行搜索的方法的流程图;以及

图3是示出简单搜索的实施例的流程图,其中由系统返回的搜索结果可包括感兴趣的相关实体。

图4是示出示例性系统环境的框图,其中本公开的一个实施例可在该示例性系统环境下操作;

图5是示出根据实施例的用于使用知识库中的实体共现和模糊分数匹配来搜索建议的方法的流程图;以及

图6是示出用户界面的示例的图,其中使用图4-6的知识库中的实体共现和模糊匹配,通过该用户界面可产生搜索建议。

图7是示出示例性系统环境的框图,其中本公开的一个实施例可在该示例性系统环境下操作。

图8是示出根据实施例的用于基于共现和/或模糊分数匹配来生成相关实体的搜索建议的方法的流程图。

图9是与图8中描述的方法关联的用户界面的示例性实施例。

图10是示出用于基于实体和趋势数据库获得搜索建议的方法的框图。

图11是示出用于通过基于每个数据库中的搜索建议的单独分数生成建议列表,而基于实体和趋势数据库来获得搜索建议的方法的框图。

图12是示出用于通过基于两个数据库中的搜索建议的总分数生成建议列表,而基于实体和趋势数据库来获得搜索建议的方法的框图。

图13是内容管理系统中的用于内容的标记和实体丰富的系统架构。

图14是一种处理,通过该处理,标记并索引内容以用于被命名的和地理的实体搜索。

定义

如本文使用的,下面的术语可具有下面的定义:

“实体提取”指的是用于提取信息(例如名称、位置和组织)的信息处理方法。

“语料库”指的是一个或多个文档的集合。

“特征”是至少部分地从文档中获得的任何信息。

“事件概念仓库”指的是事件模板模型的数据库。

“事件”指的是至少由特征的实时出现来表征的一个或多个特征。

“事件模型”指的是数据的集合,可用于对着数据的集合来作比较并识别特定类型事件。

“模块”指的是适合于执行至少一个或多个任务的计算机或软件组件。

“特征属性”指的是与特征关联的元数据,例如特征在文档中的位置、置信度分数等。

“事实”指的是特征之间的客观关系。

“实体知识库”指的是包含特征/实体的计算机数据库。

“查询”指的是计算机生成的请求,以从一个或多个适合的数据库检索信息。

“主题”指的是至少部分地从语料库获得的一组主题信息。

“地理标记”指的是从非结构化文本文件中提取地理实体的过程。地理标记可包括消除实体相对于特定地理位置和附加地理元数据(例如地理坐标、地理特征类型和其他元数据)的歧义。

“实体标记”指的是从非结构化文本中提取被命名的实体的过程。实体标记可包括实体消除歧义、实体名称标准化以及附加实体元数据。

“被命名的实体”指的是人、组织或主题。

“地理实体”指的是地理位置或地理地点。

“爬取的属性”指的是在爬取期间从检查文档中获得的内容管理系统元数据。

具体实施方式

现在,将详细参考优选实施例,其示例在附图中示出。上面描述的实施例意在是示例性的。本领域技术人员认识到的是,多个可选组件和实施例可替代本文描述的具体示例,且仍然落入本发明的范围内。在不脱离本公开的精神或范围的情况下,可使用其他实施例和/或可作出其他改变。在具体实施方式中描述的说明性实施例不意味着成为本文提出的主题的限制。

然而,将理解的是,因此意在不对本发明的范围作出限制。可由相关领域中的且拥有本公开的技术人员想到的本文说明的发明特征的改变和进一步的修改、以及如本文说明的本发明的原理的其他应用,被认为位于本发明的范围内。

本公开描述了一种用于从多个源检测、提取以及验证事件的系统和方法。源可包括新闻源、社交媒体网站和/或可包括关于事件的数据的任何源。

本文公开的系统和方法的各个实施例从不同的源采集数据,以识别独立的事件。

图1是根据本公开的搜索系统100的框图。搜索系统100可包括一个或多个客户端计算设备,所述一个或多个客户端计算设备包括处理器,处理器执行与搜索系统100关联的软件模块,搜索系统100可包括图形用户界面102,图形用户界面102访问搜索引擎104,搜索引擎104通过网络108与服务器设备106交流处于二进制数据形式的搜索查询。在示例性实施例中,搜索系统100可被实现在客户端-服务器计算架构中。然而,应该认识到的是,搜索系统100可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、应用服务提供商(ASP)模型和对等模型等)来实现。网络108可包括能够在计算设备之间传递数字数据的任何合适的硬件和软件模块,例如局域网、广域网、互联网、无线网络和移动电话网络等。这样,还应该理解到的是,系统100可在单个网络108上实现,或者使用多个网络108来实现。

用户的计算设备102可访问搜索引擎104,搜索引擎104可包括能够传输搜索查询的软件模块。搜索查询是被提供给搜索引擎104的、指示将检索的期望信息的参数。可由用户或另一软件应用以与搜索引擎104的解析和处理例程兼容的任何合适的数据格式(例如,整数、串、复合宾语)来提供搜索查询。在一些实施例中,搜索引擎104可以是基于网络的工具,该工具可通过用户的计算设备102的浏览器或其他软件应用来访问,以及使用户或软件应用能够定位万维网上的信息。在一些实施例中,搜索引擎104可以是系统100自身的软件应用模块,使用户或应用能够定位系统100的数据库内的信息。

服务器设备106可被实现为单个服务器设备106或被实现在跨多个服务器计算机的分布式架构中,服务器设备106可包括实体提取模块110、实体共现知识库112以及实体索引语料库114。实体提取模块110可以是能够从给定的一组查询(例如,查询串和结构化数据等)提取独立实体并消除独立实体的歧义的计算机软件和/或硬件模块。实体的示例可包括人、组织、地理位置、日期和/或时间。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

根据各个实施例,实体共现知识库112可被建立成但不限于内存计算机数据库(未示出),且可包括其他组件(未示出),例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义计算机模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

实体共现知识库112可包括基于特征的且按照置信度分数排名的相关实体。可使用用于给特征排名的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。实体索引语料库114可包括来自多个源(例如具有大的语料库或活的语料库的互联网)的数据。

图2是示出可在搜索系统100(例如在图1中描述的搜索系统)中实现的、用于使用实体共现来搜索相关实体的方法200的流程图。根据各个实施例,在方法200开始之前,实体索引语料库114(类似于通过图1描述的那个)可被供给有来自多个源(例如电子数据的大的语料库或活的语料库(例如,互联网、网站、博客、文字处理文件、纯文本文件))的数据。实体索引语料库114可包括多个被索引的实体,可在发现新数据时持续不断地更新所述多个被索引的实体。

在一个实施例中,在步骤202,当计算设备102的用户或软件应用给搜索引擎104提供包含一个或多个实体的一个或多个搜索查询时,方法200可开始。在步骤202提供的搜索查询可由搜索系统100来处理,每次从1个到n个。步骤202中的搜索查询的示例可以是关键词的组合,例如串、结构化数据或其他合适的数据格式。在图2的本示例性实施例中,搜索查询的关键词可以是代表人、组织、地理位置、日期和/或时间的实体。

可随后对来自步骤202的搜索查询进行处理以用于步骤204中的实体提取。在该步骤,实体提取模块110可将来自步骤202的搜索查询处理成实体,并将它们全部与实体共现知识库112作比较,以提取尽可能多的实体且消除尽可能多的实体的歧义。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

此外,可使用用于对特征进行链接的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。一旦提取实体并基于置信度分数给实体排名,则可在步骤206将索引ID(在一些情况下可以是数字)分配给所提取的实体。

接下来,在步骤208,可执行基于在步骤206分配的实体索引ID的搜索。在搜索步骤208,可通过使用标准索引方法在实体索引语料库114的数据内定位所提取的实体。一旦定位了所提取的实体,则可跟随进行实体关联步骤210。在实体关联步骤210,可从实体索引语料库114拉出其中至少两个提取的实体重叠的所有数据(例如文档、视频、图片、文件等)。最后,建立潜在结果列表,按照相关性对潜在结果列表进行排序,并将潜在结果列表作为搜索结果呈现给用户,即步骤212。该结果列表可随后仅显示通向如下数据的连接,在该数据中用户可找到感兴趣的相关实体。

图3是如上面与图2关联地讨论的、用于使用实体共现来搜索相关实体的方法300的具体示例。如图2中描述的,根据各个实施例,在方法300开始之前,实体索引语料库114(类似于通过图1描述的那个)可以已经被供给有来自多个源(例如大的语料库或活的语料库(互联网))的数据。实体索引语料库114可包括多个被索引的实体,可在发现新数据时持续不断地更新所述多个被索引的实体。

在本示例性实施例中,用户可寻找与在公司“苹果(Apple)”的“乔布斯(Jobs)”有关的信息。为此,用户可通过用户界面102输入一个或多个实体(例如,步骤302中的搜索查询),其中用户界面102可以是但不限于具有搜索引擎104(例如图1中描述的那个)的界面。通过说明的方式而不是通过限制的方式,用户可输入实体的组合,例如“苹果+乔布斯”。接下来,搜索引擎104可生成搜索查询即步骤302,并将这些查询发送到服务器设备106来处理。在服务器设备106,实体提取模块110可从在步骤302输入的搜索查询中执行实体提取步骤304。

实体提取模块110可随后将在步骤302输入的搜索查询例如“苹果”和“乔布斯”处理成实体,并将它们全部对着实体共现知识库112作比较以提取尽可能多的实体且消除尽可能多的实体的歧义。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

此外,可使用用于对特征进行链接的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。结果,可创建包括实体和共现的表306。表306可随后显示实体“苹果”及其共现,在这种情况下,共现可以是苹果和乔布斯,苹果和斯蒂夫乔布斯(Steve Jobs)。表306还可包括苹果和可发现是相关的组织A,其原因是组织A在与苹果做生意并在所述组织A中生成“乔布斯”。可找到重要性较低的其他共现。这样,苹果和乔布斯可随后具有最高的分数(1),因此被列在顶部,然后苹果和斯蒂夫乔布斯可具有第二最高的分数(0.8),最后由于具有最低的分数(0.3),苹果和其他组织A可被列在底部。

一旦提取实体并基于置信度分数给实体排名,则索引ID(在一些情况下索引ID可以是数字)可在步骤308中被分配给所提取的实体。表310显示了分配给所提取的实体的索引ID。表310随后显示具有索引ID 1的“苹果”、具有索引ID 2的“乔布斯”、具有索引ID 3的“斯蒂夫乔布斯”以及具有索引ID 4的“组织A”。

接下来,可执行基于实体索引ID 308的搜索步骤312。在搜索步骤312,可通过使用标准索引方法在实体索引语料库114的数据内定位提取的实体,例如“苹果”、“乔布斯”、“斯蒂夫乔布斯”以及“组织A”。

在实体索引语料库114内定位提取的实体之后,可跟随进行实体关联314步骤。在实体关联步骤314,可从实体索引语料库114拉出来其中至少两个提取的实体重叠的所有数据(例如文档、视频、图片或文件等),以建立链接列表作为搜索结果(步骤318)。通过说明的方式而不是通过限制的方式,表316显示了提取的实体可如何关联到实体索引语料库114中的数据。在表316中,文档1、4、5、7、8和10显示了两个提取的实体的重叠,因此在步骤318,用于这些文档的链接可被显示为搜索结果。

图4是根据本公开的搜索计算机系统400的框图。搜索系统400可包括至搜索引擎404的一个或多个用户界面402,搜索引擎404通过网络408与服务器设备406通信。在本实施例中,搜索系统400可被实现在一个或多个专用计算机和下面引用的计算机模块中,其包括通过客户端/服务器类型的架构。然而,搜索系统400可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、ASP模型和对等模型等)来实现。在实施例中,搜索计算机系统400包括多个网络,例如局域网、广域网、互联网、无线网络和移动电话网络等。

搜索引擎404可包括用户界面,例如基于网络的工具,该工具使用户能够定位万维网上的信息。搜索引擎404还可包括用户界面工具,该工具使用户能够定位内部数据库系统内的信息。服务器设备406可被实现在单个服务器设备406中或在跨多个服务器计算机的分布式架构中,服务器设备406可包括实体提取模块410、模糊分数匹配模块412以及实体共现知识库数据库414。

实体提取模块410可以是硬件和/或软件模块,该硬件和/或软件模块配置为从给定的一组查询(例如,查询串、部分查询和结构化数据等)即时提取独立实体并即时消除独立实体的歧义。实体的示例可包括人、组织、地理位置、日期和/或时间。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定特征之间的关联的相关性。

模糊分数匹配模块412可包括多个算法,可根据从给定的搜索查询提取的实体的类型来选择所述多个算法。算法的功能可以是确定:通过用户输入而接收到的给定的搜索查询与通过算法识别的其他被搜索到的串是否彼此相似,或是否与给定的模式串大概匹配。模糊匹配还可已知为模糊串匹配、不精确匹配以及大概匹配。实体提取模块410和模糊分数匹配模块412可与实体共现知识库414结合地工作,以给用户生成搜索建议。

根据各个实施例,实体共现知识库414可被建立成但不限于内存数据库,且可包括多个组件,例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

实体共现知识库414可包括基于特征的且按照置信度分数排名的相关实体。可使用用于对特征进行链接的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。

图5是示出用于使用知识库中的模糊分数匹配和实体共现来生成搜索建议的方法500的流程图。方法500可在搜索系统400(类似于通过图4描述的那个)中实现。

在一个实施例中,当在步骤502中用户在如图4描述的那样开始向搜索引擎界面402中打出搜索查询时,方法500可开始。当在步骤502打出搜索查询时,搜索系统400可执行即时过程。根据各个实施例,步骤502中的搜索查询输入可以是完整的或部分的,可能是正确拼写的或错误拼写的。接着,在搜索系统400,可对步骤502的搜索查询输入执行部分实体提取步骤504。部分实体提取步骤504可对着实体共现知识库414运行快速搜索,以识别在步骤502输入的搜索查询是否是实体,如果是实体,则它是哪种类型的实体。根据各个实施例,步骤402的搜索查询输入可随后提及人、组织、地方的位置以及日期等。一旦识别搜索查询输入的实体类型,则模糊分数匹配模块412可选择对应的模糊匹配算法即步骤506。例如,如果搜索查询被识别为提及人的实体,则随后模糊分数匹配模块412可例如诸如通过提取人名的不同组分(包括名、教名、姓以及头衔),选择用于人的串匹配算法。在另一实施例中,如果搜索查询被识别为提及组织的实体,则随后模糊分数匹配模块412可选择用于组织(其可包括如学院、大学、公司和股份有限公司等的识别术语)的串匹配算法。模糊分数匹配模块412可随后选择与搜索查询输入中识别的实体类型对应的串匹配算法,以配置该搜索。一旦串匹配算法被调节成针对所识别的实体的类型,则可执行模糊分数匹配步骤508。

在模糊分数匹配步骤508,可搜索所提取的一个或多个实体、以及非实体,并对着实体共现知识库414作比较。所提取的实体可包括不完整的人名,例如名以及姓的第一个字符、组织的缩写(例如可代表“联合国”的“UN”)、简易格式和昵称等。实体共现知识库414可能已经登记了被索引成结构化数据(例如,实体与实体、实体与主题以及实体与事实等)的多个记录。后者可允许步骤508中的模糊分数匹配以非常快速的方式发生。步骤508中的模糊分数匹配可使用但不限于普通串度量,例如Levenshtein距离、strcmp95和ITF评分等。两个词语之间的Levenshtein距离可指的是将一个词语改变成另一个词语所需的单个字符编辑的最小数量。

最后,一旦模糊分数匹配步骤508对着实体共现知识库414中的所有记录完成对搜索查询进行的比较和搜索,则最能支配或最接近地匹配给定的模式串(即,步骤502的搜索查询输入)的记录可被选择为用于步骤510中的搜索建议的第一候选。不太接近地匹配给定的模式串的其他记录可在第一候选下方以降序排序。可随后将步骤510中的搜索建议以可能的匹配的下拉列表呈现给用户,用户可忽略或可不忽略该下拉列表。

图6是根据用于如上面在图4-5中讨论的、使用知识库中的实体共现和模糊分数匹配来生成搜索建议的方法的示例性用户界面600。在本示例中,通过搜索引擎界面602(类似于通过图4描述的那个),用户在搜索框606中输入部分查询604。通过说明的方式而不是通过限制的方式,部分查询604可以是人的不完整的名称,例如如图6所示的“Michael J”。它可以被认为是部分搜索604,其原因是用户可能还未选择搜索按钮608,或另外向搜索系统400提交部分查询604以执行实际搜索并获得结果。

跟随方法500(图5),当用户打出“Michael J”时,实体提取模块410对着实体共现知识库414来执行第一个词语(Michael)的快速即时搜索,以识别实体的类型,在本示例中,实体可提及人名。因此,模糊分数匹配模块412可选择专用于人名的串匹配算法。可在以不同形式(例如,仅使用首字母(简易格式),或名和姓的第一个字符,或名、教名的首字母和姓,或它们的任何组合)书写的数据库中找到人名。模糊分数匹配模块412可使用普通串度量例如Levenshtein距离,以确定分数并给实体共现知识库414内的、可与实体“Michael”匹配的实体、主题或事实分配分数。在本示例中,Michael与具有该名称的大量记录匹配。然而,当用户打出跟随的字符“J”时,模糊分数匹配模块412可基于Levenshtein距离,对着具有Michael的所有共现而执行与实体共现知识库414的另一比较。实体共现知识库414可随后选择针对“Michael J”具有最高分数的所有可能的匹配。例如,模糊分数匹配模块412可将搜索建议610例如“Michael Jackson”、“Michael Jordan”、“Michael J.Fox”或者在一些情况下甚至“Michael Dell”返回给用户。用户随后能够从下拉列表选择所建议的人之一以完成搜索查询。关于前述示例的扩展,如“篮球运动员Michael”的查询可基于以下结果而产生“Michael Jordan”的建议:其中通过在实体共现知识库中搜索人的实体名称变型中的“Michael”以及共现特征(如关键短语、事实和主题)中的“篮球运动员”而返回该结果。另一示例可以是“演员Alexander”,可产生“Alexander Polinsky”的建议。本领域技术人员将认识到的是,目前存在的搜索平台可能不会以前述方式生成建议。

图7是根据本公开的搜索系统700的框图。搜索系统700可包括至搜索引擎704的一个或多个用户界面702,搜索引擎704通过网络708与服务器设备706通信。在本实施例中,搜索系统700可被实现在客户端/服务器类型的架构中;然而,搜索系统700可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、ASP模型和对等模型等)以及多个网络(例如,局域网、广域网、互联网、无线网络、移动电话网络等)来实现。

搜索引擎704可包括但不限于通过基于网络的工具的界面,该工具使用户能够定位万维网上的信息。搜索引擎704还可包括使用户能够定位内部数据库系统内的信息的工具。可被实现在单个服务器设备706中或在跨多个服务器计算机的分布式架构中的服务器设备706,可包括实体提取模块710、模糊分数匹配模块712以及实体共现知识库数据库714。

实体提取模块710可以是硬件和/或软件计算机模块,该硬件和/或软件计算机模块能够从给定的一组查询(例如,查询串、部分查询和结构化数据等)中即时提取独立实体并即时消除独立实体的歧义。实体的示例可包括人、组织、地理位置、日期和/或时间。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

模糊分数匹配模块712可包括多个算法,可根据从给定的搜索查询中提取的实体的类型来调节或选择所述多个算法。算法的功能可以是确定:给定的搜索查询(输入)与所建议的被搜索的串是否彼此相似,或是否与给定的模式串大概匹配。模糊匹配还可被称为模糊串匹配、不精确匹配以及大概匹配。实体提取模块710和模糊分数匹配模块712可与实体共现知识库714结合地工作,以为用户生成搜索建议。

根据各个实施例,实体共现知识库712可被建立成但不限于内存数据库,且可包括多个组件,例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

实体共现知识库714可包括基于特征的且按照置信度分数排名的相关实体。可使用用于对特征进行链接的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。

图8是示出用于基于共现和/或模糊分数匹配来生成相关实体的搜索建议的方法800的实施例的流程图。方法800可在搜索系统700(类似于图7中描述的那个)中实现。

在一个实施例中,当用户在如上面在图7中描述的搜索引擎704中开始打出搜索查询即步骤802时,方法800可开始。当打出搜索查询时,搜索系统700可执行即时过程。根据各个实施例,搜索查询可以是完整的和/或部分的,可能是正确拼写的和/或错误拼写的。接下来,可执行搜索查询的部分实体提取步骤804。部分实体提取步骤804可对着实体共现知识库714来运行快速搜索,以识别搜索查询是否包括实体,如果包括实体,则识别实体类型。根据各个实施例,搜索查询的实体可提及人、组织、地方的位置以及日期等。一旦是实体,则模糊分数匹配模块712可选择对应的模糊匹配算法即步骤806。例如,如果搜索查询被识别为提及人的实体,则随后模糊分数匹配模块712可调节或选择用于人的串匹配算法,其可提取人名的不同组分,包括名、教名、姓以及头衔。在另一实施例中,如果搜索查询被识别为提及组织的实体,则随后模糊分数匹配模块712可调节或选择用于组织(其可包括诸如学院、大学、公司以及股份有限公司的识别术语)的串匹配算法。因此,模糊分数匹配模块712调节或选择用于实体类型的串匹配算法,以便于搜索。一旦串匹配算法被调节或被选择成对应于实体类型,则可在步骤808执行模糊分数匹配。

在模糊分数匹配步骤808,可搜索提取的一个或多个实体、以及任何非实体,并将一个或多个实体、以及任何非实体对着实体共现知识库714作比较。所提取的一个或多个实体可包括不完整的人名,例如名以及姓的第一个字符、组织的缩写(例如可代表“联合国”的“UN”)、简易格式和昵称等。实体共现知识库714可能已经登记了按照结构化数据(例如实体与实体、实体与主题以及实体与事实索引等)索引的多个记录。这可允许步骤808中的模糊分数匹配迅速地发生。模糊分数匹配可使用但不限于普通串度量,例如Levenshtein距离、strcmp95和ITF评分等。两个词语之间的Levenshtein距离可指的是将一个词语改变成另一个词语所需的单个字符编辑的最小数量。

一旦步骤808中的模糊分数匹配步骤完成对着实体共现知识库714中的所有记录对搜索查询进行的比较和搜索,则最能支配或最接近地匹配搜索查询输入的给定的模式串的记录可被选择为用于搜索建议的第一候选,即步骤810。不太接近地匹配搜索查询输入的给定的模式串的其他记录可在第一候选下方以降序排序。可随后将步骤810中的搜索建议以可能的匹配的下拉列表呈现给用户,用户可选择该下拉列表以使该查询完整。

在另一实施例中,在用户选择他/她感兴趣的匹配之后,搜索系统700可将该选择作为新的搜索查询,即步骤812。接下来,可对所述新的搜索查询执行实体提取步骤814。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。实体提取模块710可随后对着实体共现知识库714运行搜索,以基于具有最高分数的共现找到相关实体即步骤816。最后,在步骤818,可在电子文档语料库中执行数据的实际搜索之前将包括相关实体在内的搜索建议的下拉列表呈现给用户。

图9是与用于基于共现和/或模糊分数匹配来生成相关实体的搜索建议的方法800关联的用户界面900的示例性实施例。在本示例中,通过搜索引擎界面902(类似于通过图7描述的那个),用户在搜索框906中输入部分查询904。通过说明的方式而不是通过限制的方式,部分查询304可以是人的不完整的名称,例如如图9所示的“Michael J”。它可以被认为是部分搜索904,其原因是用户可能还未选择搜索按钮908,或另外向搜索系统100提交部分查询904以执行实际搜索并获得结果。

跟随方法800,当用户打出“Michael J”时,实体提取模块710对着实体共现知识库714对第一个词语(Michael)执行快速即时搜索,以识别实体的类型,在本示例中,实体可提及人名。接着,模糊分数匹配模块712可选择专用于人名的串匹配算法。可在以不同形式(例如,仅使用首字母(简易格式),或名以及姓的第一个字符,或名、教名的首字母和姓,或它们的任何组合)书写的数据库中找到人名。模糊分数匹配模块712可使用普通串度量例如Levenshtein距离,以确定分数并给实体共现知识库714内的、可与实体“Michael”匹配的实体、主题或事实分配分数。在本示例中,Michael与具有该名称的大量记录匹配。然而,当用户打出跟随的字符“J”时,模糊分数匹配模块712可基于Levenshtein距离,对着具有Michael的所有共现而执行与实体共现知识库714的另一比较。实体共现知识库714可随后选择针对“Michael J”具有最高分数的所有可能的匹配。例如,模糊分数匹配模块712可将使“Michael J”完整的搜索建议910例如“Michael Jackson”、“Michael Jordan”、“Michael J.Fox”或者在一些情况下甚至“Michael Dell”返回给用户。用户随后能够从下拉列表选择所建议的人之一,或忽略该建议并继续打字。关于前述示例的扩展,如“篮球运动员Michael”的查询可基于以下结果来产生“Michael Jordan”的建议:其中通过在搜索实体共现知识库中搜索人实体名称变型中的“Michael”以及共现特征(如关键短语、事实和主题等)中的“篮球运动员”,而返回该结果。另一示例可以是“演员Alexander”,可产生“Alexander Polinsky”的建议。如本领域技术人员将认识的,现存的搜索平台可能不会提供以前述方式生成的建议。

在本实施例中,用户可从下拉列表选择“Michael Jordan”,以使部分查询904完整,如图9所指示的。所述选择可随后通过搜索系统700而被处理成新的搜索查询912。接下来,可对所述新的搜索查询912执行实体提取。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。实体提取模块710可随后对着实体共现知识库714来运行针对“Michael Jordan”的搜索,以基于具有最高分数的共现找到相关实体。最后,可在通过点击搜索按钮908执行实际搜索之前将包括相关实体在内的搜索建议的下拉列表914呈现给用户。图7-9中描述的前述系统和方法可以是快速的且对用户是方便的,其原因是用户可找到有用的关系。

图10是根据本公开的搜索系统1000的框图。搜索系统1000可包括搜索引擎1002,这样的搜索引擎1002可包括一个或多个用户界面,从而允许来自用户的数据输入,例如用户查询。

搜索系统1000可包括一个或多个数据库。这样的数据库可包括实体数据库1004和趋势数据库1006。数据库可被存储在本地服务器中或在基于网络的服务器中。因此,搜索系统1000可被实现在客户端/服务器类型的架构中;然而,搜索系统1000可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、ASP模型和对等模型等)以及多个网络(例如,局域网、广域网、互联网、无线网络和移动电话网络等)来实现。

搜索引擎1002可包括但不限于基于网络的工具,该工具使用户能够定位万维网上的信息。搜索引擎1002还可包括使用户能够定位内部数据库系统内的信息的工具。

实体数据库1004可被实现为单个服务器或被实现在跨多个服务器的分布式架构中。实体数据库1004可允许一组实体查询,例如查询串和结构化数据等。这样的一组实体查询可预先从互联网和/或本地网络中可获得的多个语料库中提取。实体查询可被索引和评分。实体的示例可包括人、组织、地理位置、日期和/或时间。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

趋势数据库1006可被实现为单个服务器或被实现在跨多个服务器的分布式架构中。趋势数据库1006可允许一组实体查询,例如查询串和结构化数据等。这样的一组实体查询可预先从由互联网和/或本地网络中的一个用户和/或多个用户执行的历史查询中提取。实体查询可被索引和评分。实体的示例可包括人、组织、地理位置、日期和/或时间。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

实体数据库1004和趋势数据库1006可包括实体共现知识库,实体共现知识库可被建立成但不限于内存数据库(未示出),且可包括其他组件(未示出),例如一个或多个搜索控制器、多个搜索节点、压缩数据的集合以及消除歧义模块。一个搜索控制器可选择性地与一个或多个搜索节点关联。每个搜索节点能够贯穿压缩数据的集合独立地执行模糊关键词搜索并将一组评分结果返回到与之关联的搜索控制器。

共现知识库可包括基于特征的且按照置信度分数排名的相关实体。可使用用于对特征进行链接的各种方法,这些方法基本上可使用用于确定哪些实体类型最重要、哪些具有更大的权重的加权模型,并且这些方法基于置信度分数来确定已经多么置信地执行正确特征的提取。

搜索系统100可在搜索引擎1002处对着实体数据库1004和趋势数据库1006比较用户查询。可从两个数据库,即实体数据库1004和趋势数据库1006启动搜索引擎1002上的自动完整模式。搜索系统1000可给用户部署搜索建议列表1008,可基于为数据库中的每个实体建议分配的模糊分数而生成和索引这样的列表。每个实体建议的分数可由搜索系统1000自动分配和/或由系统管理者手工分配。可基于由每个实体获得的分数,对实体建议从最相关的到较少相关的来排名。另外,可使用来自本地网络和/或互联网中的一个或多个用户的趋势和查询频率来分配趋势数据库1006中的分数。

每个数据库的实体建议可在它们之间作比较,然后按照在分数中获得的等级来索引和排名,因此结合了两个数据库(实体数据库1004和趋势数据库1006)中的实体建议的搜索建议列表1008可被显示给用户。如果用户从列表选择建议或者从建议列表选择出另一结果,则随后搜索系统1000可将这样的信息保存在趋势数据库1006中。因此,可允许自学习系统,这可增加搜索系统1000的可靠性和精度。简言之,通过从用户的查询提取的特征和所选择的建议,可持续地更新趋势共现知识库,从而提供即时学习的手段,这提高了搜索的相关性和精度。进一步地,趋势共现知识库可由使用系统的不同的用户填充,以及还可通过如趋势检测模块的自动方法来填充。

图11是根据本公开的搜索系统1100的框图。搜索系统1100可包括搜索引擎1102,这样的搜索引擎1102可包括一个或多个用户界面,从而允许来自用户的数据输入,例如用户查询。

搜索系统1100可包括一个或多个数据库。这样的数据库可包括实体数据库1104和趋势数据库1106。数据库可被存储在本地服务器中或基于网络的服务器中。因此,搜索系统1100可被实现在客户端/服务器类型的架构中;然而,搜索系统1100可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、ASP模型和对等模型等)以及多个网络(例如,局域网、广域网、互联网、无线网络和移动电话网络等)来实现。

在一个实施例中,当用户通过搜索引擎1102中的用户界面输入(搜索查询中的)一个或多个实体时,搜索系统1100可开始。搜索查询的示例可以是处于串数据格式和结构化数据等的关键词的组合。这些关键词可以是表示人、组织、地理位置、日期和/或时间的实体。在本实施例中,“Indiana Na”被用作搜索查询。

“Indiana Na”可随后被处理以用于实体提取。实体提取模块可将搜索查询例如“Indiana Na”处理为实体,并将它们全部对着实体数据库1104和趋势数据库1106中的实体共现知识库作比较,以提取尽可能多的实体并消除尽可能多的实体的歧义。另外,检测为不作为实体(例如,人、组织、位置)的查询正文部分被当作可用于搜索实体共现知识库(例如,实体数据库和趋势数据库)的概念特征(例如主题、事实、关键短语)。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。考虑特征属性,可确定每个特征的相对权重或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

在本实施例中,实体数据库1104可显示搜索建议列表,作为可被索引和排名的实体建议列表1108。趋势数据库1106可显示搜索建议列表,作为可被索引和排名的基于趋势的建议列表1110。接下来,搜索系统1100可基于由实体数据库1104和趋势数据库1106提供的搜索建议而建立搜索建议列表1112。搜索建议列表1112可基于每个数据库中的每个实体建议的独立分数而被索引和排名;因此,最相关的可首先显示,不太相关的结果可在它下面继续。

在搜索系统1100中,公开了用于获得搜索建议的示例性使用。搜索建议列表1112可基于“Indiana Na”用户查询而显示建议。结果,“Indiana Name”可基于对于该实体的独立分数0.9而首先出现,然后作为独立分数0.8的结果,可显示“Indiana Nascar”,最后可基于独立分数0.7显示“Indiana Nashville”。在不应用考虑重复实体的情况下,可使用实体建议列表1108和基于趋势的建议列表1110将独立分数作比较。

图12是根据本公开的搜索系统1200的框图。搜索系统1200可包括搜索引擎1202,这样的搜索引擎1202可包括一个或多个用户界面,从而允许来自用户的数据输入,例如用户查询。

搜索系统1200可包括一个或多个数据库。这样的数据库可包括实体数据库1204和趋势数据库1206。数据库可被存储在本地服务器中或在基于网络的服务器中。因此,搜索系统1200可被实现在客户端/服务器类型的架构中;然而,搜索系统1200可使用其他计算机架构(例如,独立计算机、具有终端的大型主机系统、ASP模型和对等模型等)以及多个网络(例如,局域网、广域网、互联网、无线网络和移动电话网络等)来实现。

在一个实施例中,当用户通过搜索引擎1202中的用户界面输入一个或多个实体(搜索查询)时,搜索系统1200可开始。搜索查询的示例可以是关键词例如串和结构化数据等的组合。这些关键词可以是表示人、组织、地理位置、日期和/或时间的实体。在本实施例中,“Indiana Na”被用作搜索查询。

“Indiana Na”可随后被处理用于实体提取。实体提取模块可将搜索查询例如“Indiana Na”处理为实体,并将它们全部对着实体数据库1204和趋势数据库1206中的实体共现知识库作比较,以提取尽可能多的实体并消除尽可能多的实体的歧义。另外,检测为不作为实体(例如,人、组织、位置)的查询文本部分被当作可用于搜索实体共现知识库(例如,实体数据库、趋势数据库)的概念特征(例如主题、事实、关键短语)。在提取期间,可使用一个或多个特征识别和提取算法。此外,分数可被分配给每个提取的特征,该分数指示通过正确的属性正确地提取特征的确定性水平。基于相应的特征属性,可确定每个特征的相对权重和/或相关性。另外,可使用加权的评分模型来确定各特征之间的关联的相关性。

在本实施例中,实体数据库1204可显示搜索建议列表,即可以已经被索引和排名的实体建议列表1208。同样地,趋势数据库1206可显示搜索建议列表,即可能已经被索引和排名的基于趋势的建议列表1210。接下来,搜索系统1200可基于由实体数据库1204和趋势数据库1206提供的搜索建议而建立搜索建议列表1212。搜索建议列表1212可基于两个数据库中的每个实体建议的总分数来索引和排名;因此,最相关的可首先被显示,不太相关的结果可在它下面继续。

在搜索系统1200中,公开了用于获得搜索建议的示例性使用。搜索建议列表1212可基于“Indiana Na”用户查询来显示建议。结果,“Indiana Nascar”可基于从实体建议列表1208中的分数0.8和基于趋势的建议列表1210中的分数0.6求和所得到的总分数1.4而首先出现。类似地,作为总分数0.9的结果,可显示“Indiana Name”,最后可基于总分数0.7显示“Indiana Nashville”。

图13是用于在SharePoint中对内容作地理标记的系统架构1300。搜索索引1324是SharePoint 1302中使得能够进行搜索的多个关键组件中的一个。SharePoint1302中使得能够进行搜索的另一关键部分可以是内容捕获,以便对内容进行索引。SharePoint 1302包括爬虫1304组件以便能够进行内容捕获。

爬虫1304可贯穿不同的内容源1306来爬取,以给每个内容增加一列元数据属性。内容源的示例可包括但不是限制:SharePoint内容、网络文件共享或者用户或内部网内容。爬虫1304可配置为执行安全连接到内容源1306的功能,从而将来自源的文档关联到它们的作为爬取的属性的元数据。爬虫1304可配置为完全地或增量地对内容进行爬取。所爬取的属性的示例可包括例如但不是限制:作者、标题、创建日期等。

SharePoint包括内容处理1308组件。内容处理1308组件从爬虫1304获取内容并准备内容以用于索引。内容处理1308可涉及语言学加工(语言检测)阶段、语法分析阶段、实体提取管理阶段、基于内容的文件格式检测阶段、内容处理错误报告阶段、自然语言处理阶段、以及将爬取的属性映射到所管理的属性的阶段等。

可通过内容丰富网络服务(CEWS 1310)来扩展内容处理1308。通过允许网络服务调出1312调用外部网络服务来执行另外的动作并丰富爬取的数据属性,CEWS 1310使得能够进行内容处理1308的丰富。网络服务调出1312可以是标准的简单对象访问协议(SOAP)请求或者用于与实体丰富服务1314交换所爬取的数据的结构化信息的任何其他网络服务调用方法。网络服务调出1312可包括触发条件,该触发条件被配置在内容丰富配置对象中,触发条件控制何时调用外部网络服务以用于丰富处理。实体丰富服务1314还可确定爬取的数据的文档类型,以便确定可以以图像(扫描的文档、图片等)形式到达的内容。每当找到处于图像形式的内容时,实体丰富服务1314可将爬取的文档的位置发送到OCR处理引擎1316,诸如例如但不是限制:光学字符识别组件或其他图像处理组件。OCR处理引擎1316可随后检索并处理图像文件,且异步地将它们转换成文本文件。OCR处理过的文件1318接下来可重新被供应到爬虫1304,以便作为文本文件而被爬取并发送回内容处理1308,且继续工作流程的其余部分。

系统架构1300可包括外部地理标记器网络服务1320和命名实体标记器服务1322。地理标记器网络服务1320和命名实体标记器服务1322可以是软件模块,该软件模块配置为用作网络服务应用提供商并对网络服务调出1312作出响应。地理标记器网络服务1320可使用自然语言处理实体提取技术、机器学习模型以及其他技术,以便从爬取的内容识别地理实体并消除地理实体的歧义。例如,通过分析在地名词典中找到的实体的在统计学上的共现,地理标记器网络服务1320可消除地理实体的歧义。地理标记器网络服务1320可包括可针对由爬虫1304找到的内容链接的、在统计学上共现的实体的数据库。遵循相同的技术,命名实体标记器服务1322可用于提取另外的实体或文本特征,例如组织、人或主题。

地理标记器网络服务1320可分析由CEWS 1310发送作为输入属性的一批所管理的属性并识别在文本中提到的任何地理实体。输入属性的非限制性示例可包括:文件类型(FileType)、Is文档(IsDocument)、原始路径(OriginalPath)以及主体等。通过参照找到的每个地理实体创建或修改所管理的属性,地理标记器网络服务1320可随后对文本做地理标记。地理标记器网络服务1320可将经修改的或新管理的属性发送到实体丰富服务1314,在实体丰富服务1314处作出转换,该转换映射经修改的所管理的属性并将它们作为输出属性返回到CEWS 1310。相同的处理可用于与命名实体标记器服务1322交互,以用于其他实体或文本特征(例如,组织、人或主题)的提取和实体标记。

在通过实体丰富服务1314返回经增强的所管理的属性之后,属性与所爬取的文件的所管理的属性合并且被发送到搜索索引1324。

一旦地理标记和其他实体标记已经与内容关联并被索引,则还可使用地理特征和被命名的实体特征来执行搜索查询。SharePoint中的搜索UI 1326可包括特定显示器,该显示器可辅助用户执行基于地理的搜索以及支持分面搜索结果的经增强的显示。搜索UI 1326可以是自定义网页部分,或者还可以通过标准工具(例如HTML、HTML5、JavaScript和CSS)修改SharePoint搜索的标准布局来实现。

图14是示出用于对用于SharePoint搜索的内容进行标记的过程步骤的流程图1400。当SharePoint中的爬虫组件执行对内容的爬取(步骤1402)时,该过程可开始。在一个实施例中,爬取可以是完全爬取,其中在另一实施例中,爬取可以是增量爬取。爬虫组件可随后将爬取的属性和元数据供应到内容处理(步骤1404)。作出确定以验证爬取的内容是否可包括地理实体或命名实体。例如但不是限制,可使用触发条件。触发条件可包含一组程序逻辑或规则,其可确定内容是否可从地理标记或实体标记受益。如果触发条件评价为假,则爬取的内容可与所管理的属性关联(步骤1406),并被传递到搜索索引组件(步骤1408)。如果触发条件评价为真,则CEWS可将网络服务调出(步骤1410)发送到实体丰富服务。实体丰富服务可分析所发送的内容,以确定该内容是否可处于图像格式(扫描的文档、图片等)。找到的处于图像格式的内容可由OCR引擎异步地处理,并被发送回去以由爬取组件重新作为文本文件而被爬取(步骤1412)。如果内容不是处于图像格式,则可通过地理标记网络服务或命名实体标记器服务来处理内容(步骤1414)。网络服务可提取在内容中提到的地理实体或被命名的实体并消除地理实体或被命名的实体的歧义,以及通过实体元数据来丰富它们。所识别的实体和它们的元数据可作为所管理的属性而被发送回内容处理组件并与内容关联(步骤1416)。关联的元数据可随后被发送到搜索索引组件(步骤1406)。

虽然已经公开了各个方面和实施例,但是预计到其他方面和实施例。所公开的各个方面和实施例是出于说明的目的而非意在成为限制,其真实的范围和精神由所附权利要求来指示。

前述方法描述和过程流程图仅作为说明性示例提供,并不意在要求或暗示必须以所呈现的顺序来执行各个实施例的步骤。如将由本领域技术人员认识到的那样,可以以任何顺序执行前述实施例中的步骤。诸如“然后”、“接下来”等的词语不意在限制步骤的顺序;这些词语仅用于引导读者走通方法的描述。虽然过程流程图可能将操作描述为顺序过程,但是很多操作可并行地或同时地执行。另外,可重新布置操作的顺序。过程可对应于方法、功能、步骤、子例程、子程序等。当过程对应于功能时,其终止可对应于该功能返回到调用功能或主功能。

与本文公开的实施例关联地描述的各个说明性逻辑块、模块、电路以及算法步骤可被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经在上面总体上根据它们的功能描述了各个说明性部件、块、模块、电路以及步骤。这样的功能是否被实现为硬件或软件取决于具体的应用以及施加在整个系统上的设计约束。对于每个具体的应用,有经验的技工可以以各种方式实现所描述的功能,但是这样的实现决定不应该被解释为导致脱离本发明的范围。

可以以软件、固件、中间件、微代码、硬件描述语言或它们的任何组合来实现以计算机软件实现的实施例。代码段或机器可执行的指令可表示步骤、功能、子程序、程序、例程、子例程、模块、软件包、种类,或指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、命令行参数、参数或存储器内容,代码段可被耦合到另一代码段或硬件电路。可通过任何合适的手段(包括存储器共享、消息传递、令牌传递、网络传送等)传递、转发或传送信息、命令行参数、参数、数据等。

用于实现这些系统和方法的实际软件代码或专用控制硬件不是对本发明的限制。因此,在不参考特定软件代码的情况下描述系统和方法的操作和行为,这被理解为,软件和控制硬件可被设计为实现基于本文描述的系统和方法。

当以软件实现时,功能可被存储为非暂时性计算机可读的或处理器可读的存储介质上的一个或多个指令或代码。本文公开的方法或算法的步骤可以以处理器可执行的软件模块实施,该软件模块可驻留在计算机可读的或处理器可读的存储介质上。非暂时性计算机可读的或处理器可读的介质包括便于计算机程序从一个位置转移到另一个位置的计算机存储介质和有形存储介质两者。非暂时性处理器可读的存储介质可以是可由计算机访问的任何可用的介质。举例来说,但不是限制,这样的非暂时性处理器可读的介质可包括RAM、ROM、EEPROM、CD-ROM、或其他光盘存储器、磁盘存储器或其他磁性存储设备,或者可用于以指令或数据结构的形式存储期望的程序代码且可由计算机或处理器访问的任何其他有形存储介质。如本文使用的盘和碟包括紧凑碟(CD)、激光碟、光学碟、数字通用光碟(DVD)、软盘以及蓝光光碟,其中盘通常磁性地再现数据,而碟使用激光光学地再现数据。上述项的组合也应该被包括在计算机可读的介质的范围内。另外,方法或算法的操作可作为代码和/或指令中的一个或任何组合或集合而驻留在非暂时性处理器可读的介质和/或计算机可读的介质上,而该介质可被结合到计算机程序产品中。

将理解到的是,技术的各个组件可位于分布式网络和/或互联网的多个遥远部分处,或位于一个专用的安全的、不安全的和/或加密的系统内。因此,应该理解到的是,系统的多个部件可被组合成一个或多个设备或共同位于分布式网络例如电信网络的一个特定节点上。如将从描述中理解的那样,以及由于计算效率的原因,在不影响系统的操作的情况下,系统的部件可被布置在分布式网络内的任何位置处。此外,部件可被嵌入专用的机器中。

此外,应该理解到的是,对多个元件进行连接的各个链接可以是有线链接或无线链接,或者它们的任何组合,或者能够将数据供应和/或传递到所连接的元件以及供应和/或传递来自所连接的元件的数据的、任何其他已知的或后来开发的元件。如本文使用的术语“模块”可指的是能够执行与该元件关联的功能性的、任何已知的或后来开发的硬件、软件、固件或它们的组合。如本文使用的术语“确定”、“计算”和“运算”及其变型可互换地使用,并包括任何类型的方法、过程、数学运算或技术。

提供所公开的实施例的前述描述,以使得本领域的任何技术人员能够作出或使用本发明。对这些实施例的各种修改对于本领域技术人员而言将容易是明显的,且在不脱离本发明的精神或范围的情况下,本文限定的一般性原理可被应用于其他实施例。因此,本发明不意在被限制到本文示出的实施例,而是给予与下面的权利要求以及本文公开的原理和新特征一致的最宽的范围。

上面描述的实施例意在是示例性的。本领域技术人员认识到的是,多个可选部件和实施例可替代本文描述的具体示例且仍然落入本发明的范围内。

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