本专利文档的一部分包含受到著作权保护的材料。著作权人不反对任何人对本专利文档或专利公开的复制,因为其出现在专利和商标局的专利文件或记录中,但是无论如何在其它方面保留所有著作权。以下声明适用于本文档:著作权? 2011, Thomson Reuters。
本申请要求2011年2月22日提交的名称为“Information Processing and Visualization Methods and Systems”的美国临时申请No.: 61/445,236、2011年5月13日提交的名称为“Entity-Based Information Analysis”的美国临时申请No.: 61/486,091、2011年5月25日提交的名称为“Entity-Based Information Analysis”的美国临时申请No.: 61/519,592、2011年5月13日提交的名称为“Association Significance”的美国专利申请No.: 13/107,665、以及2011年8月19日提交的名称为“Entity Fingerprints”的美国专利申请No.: 13/213,324的优先权,上述申请的内容以其整体并入到本文中。
发明内容
公开了用于探索实体之间的关系的系统和技术。所述系统和技术提供了基于实体的信息分析和内容聚合平台,该平台使用异构数据源来构造和维护有形和逻辑实体周围的生态系统,所述有形和逻辑实体诸如但不限于:组织、人、产品、产业、地理、商品、金融指标、经济指标、事件、主题、科目代码、唯一标识符、社会标签、产业项目、一般项目、元数据元素、分类代码及其组合。
实体被表示为有向图中的顶点,并且,使用非结构化文档中的实体同现(occurrence)和来自结构化数据源的被监督的信息来产生边。使用将被监督的、未被监督的和临时的因素组合成单个分数的技术来计算边的重要性分数。来自结构化内容和所述图中的实体邻域的重要实体属性被自动概括为实体指纹。可以基于实体的实体指纹的相似性将实体进行相互比较。还公开了一种交互式用户界面,其提供对所述图的探索性访问并支持决定支持过程。
本发明的各方面涉及计算和分析实体指纹。
例如,根据一个方面,一种分析实体的方法,包括:从多个实体中识别第一实体,所述多个实体中的每一个与包括至少一个所指派的属性的实体指纹相关联;将与第一实体相关联的实体指纹同与所述多个实体相关联的实体指纹中的每一个相比较;以及基于所述指纹比较从所述多个实体中识别至少一个与第一实体相似的实体。所述方法还包括:产生与所述至少一个所识别的相似实体以及第一实体相关联的信号;以及传送所述信号。
在一个实施例中,识别所述第一实体包括接收与所述第一实体相关联的唯一标识符。与每个实体指纹相关联的所述至少一个所指派的属性基于在特定时间间隔内所指派的属性与关联的实体的相关性。所指派的属性还可以与权重值相关联,所述权重值指示与所述实体的其它所指派的属性相比所指派的属性与关联的实体的相关性。
在一个实施例中,例如,所述方法还包括按与所述第一实体的相似性的顺序对多个相似实体分等级;产生与所述分等级相关联的第二信号;以及响应于请求,传送所述第二信号。所述方法还可以包括提供用于观看所述实体指纹的至少一个属性、至少一个相似实体的至少一个属性、与所述第一实体相关的至少一个文档、与所述第一实体和所述至少一个相似实体相关的至少一个文档或其组合的图形用户界面。
在一个实施例中,所述方法还包括通过下述操作来比较实体指纹:通过向与对应于第一实体的每个唯一属性类型的属性相关联的属性权重应用聚合函数,为与所述第一实体相关联的每个唯一属性类型计算第一加权值;通过向与对应于相似实体的每个唯一属性类型的属性相关联的属性权重应用聚合函数,为与所述至少一个相似实体相关联的每个唯一属性类型计算第二加权值;以及使用所计算的第一加权值归一化与所述第一实体的每个属性类型相关联的属性,并使用所计算的第二加权值归一化与所述第二实体的每个属性类型相关联的属性。然后,通过向所述第一实体和所述相似实体的归一化属性应用相似性函数,为第一和第二指纹计算相似性分数。
在一个实施例中,所述聚合函数可以是但不限于平均函数、最小值函数、最大值函数等,并且所述相似性函数可以是但不限于余弦相似性、欧几里得距离、曼哈顿距离等。
在另一方面中,一种计算实体指纹的方法包括:读取表示与期望其实体指纹的实体相关联的属性组的数据;以及根据至少一种指纹提取算法处理所述数据。所述指纹提取算法通过下述操作来计算所述实体指纹:将包括所述实体的多个实体表示为有向图的顶点;使用非结构化文档组和结构化信息源中实体的同现产生所述有向图的至少一个边;以及使用所述结构化信息源和所述有向图的实体邻域概括与期望其实体指纹的实体相关联的属性组。
在一个实施例中,处理所述数据还包括:初始化数据结构以与所述实体相关联,所述数据结构包括至少一个属性标识符、关联的属性类型标识符、关联的属性值和关联的属性权重;将所述实体与预定实体组相比较,每一个所述预定义实体可选地与属性标识符、属性类型标识符和属性值相关联;以及基于所述比较,为所述数据结构导入值。
所述方法还包括从结构化信息源组识别信息源以与所述数据结构相关联。所述结构化信息源组中的每个信息源可选地与属性标识符、属性类型标识符、属性值和信息源标识符相关联,基于包括与所述实体相关联的信息的信息源的识别来为所述数据结构导入值,识别所述有向图的连接到所述实体且包括所述实体邻域的顶点。基于所述有向图的连接到所述实体且包括所述实体邻域的边组和顶点中的至少一个,向所述数据结构中导入值。
所述方法还包括:基于与文档组中的每个文档相关联的元数据识别文档以与所述实体相关联;基于所识别的文档来为所述数据结构导入值;以及将所述数据结构与所述实体相关联。
在一个实施例中,例如,所述方法还包括在所述有向图的边组和顶点中的至少一个中存储对每一个所识别的文档的引用。在一个实施例中,根据所述有向图确定所述至少一个关联的属性,并且根据预定义权重组确定所述至少一个关联的属性权重。所述预定义权重组中的每个预定义权重包括权重值以及下述各项中的至少一个:信息源标识符、属性类型标识符、从邻域获得的标识符和确认的标识符。在又一个实施例中,所述有向图的每个边可选地包括属性标识符、属性类型标识符和属性值。
在一个实施例中,所述方法包括:将与有向图的边相关联的重要性分数属性同用户定义阈值相比较;以及基于所述比较来为所述数据结构导入值。所述方法还可以包括:将与所述文档组中的每个文档相关联的元数据同与所述实体相关联的实体标识符相比较;以及基于所述比较来为所述数据结构导入值。
在一个实施例中,所述方法可以包括:将与所述文档组中的每个文档相关联的元数据同用户定义准则相比较,所述用户定义准则识别所述实体的至少一个对等实体且不包括所述实体;以及基于所述比较来为所述数据结构导入值。所述方法还可以包括例如:针对与其相关联的每个属性类型,对可选地与所述文档组中的每个文档相关联的元数据和实体之一进行分等级;以及基于所述分等级选择文档子集以与所述数据结构相关联。
公开了包括存储用于实施各种技术的机器可读指令的机器可读介质的系统、方法以及物品。在下文中更详细地讨论各种实施方式的细节。
从以下详细描述、附图和权利要求中,附加的特征和优点将显而易见。
具体实施方式
公开了一种新颖的基于实体的信息分析和内容聚合系统,该系统使用异构数据源来对有形和逻辑实体进行构造和建模。所述有形和逻辑实体可以包括但不限于:组织、人、产品、产业、地理、商品、金融指标、经济指标、事件、主题、科目代码、唯一标识符、社会标签、产业项目、一般项目、元数据元素、分类代码、技术、设施、媒体及其组合。
在一个实施例中,实体被表示为有向图中的顶点,并且,使用非结构化文档中实体同现和可从结构化数据源获得的结构化信息产生所述有向图的边。有向图的顶点和边可以包括特性和对相关文档的引用,并且所述图的单个边可以表示实体之间的多种类型的关系。在一个实施例中,一些实体是通过将每个实体映射到来自结构化数据源(其可以是人维护的)的已知实体来确认的,而其它实体是从非结构化数据源发现并仅从非结构化数据源获得的。
使用将被监督的、未被监督的和临时的因素组合成单个分数的技术来计算所述图的边的重要性分数。该技术在2011年5月13日提交的名称为“Association Significance”的美国专利申请No.: 13/107,665中公开,该美国专利申请的内容以其整体并入到本文中。
从结构化内容和所述图中的实体邻域得到的实体属性被自动概括为实体指纹。尽管结合有向图讨论了本发明,但是将理解,本发明不限于有向图实现,并且能够对实体关系进行建模的其它计算机实现的数据结构可以与本发明一起使用,诸如混合图和多重图。此外,在一个实施例中,所述系统还包括交互式用户界面,其提供对所述图的探索性访问并支持常见商业用例,诸如确定实体相似性以及比较实体。
现在转到图1,公开了在其内可以实施本发明的实施例的适当计算系统10的示例。计算系统10仅是一个示例,并不意图暗示任何关于本发明的使用范围或功能的限制。也不应当将计算系统10解释为具有与所示组件中的任一个或组合有关的任何依赖性或需求。
例如,本发明可操作于多种其它通用或专用计算消费电子装置、网络PC、小型计算机、大型计算机、膝上型计算机、以及包括上述系统或装置中的任一个的分布式计算环境等等。
可以在被计算机执行的诸如程序模块之类的计算机可执行指令的一般上下文中描述本发明。通常,程序模块包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构、循环代码段和结构等。本发明可以在分布式计算环境中实施,在分布式计算环境中,任务由通过通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块位于包括存储储存装置的本地和远程计算机储存介质二者中。在下文中并且借助附图描述由程序和模块执行的任务。本领域技术人员可以将说明书和附图实施为处理器可执行指令,所述指令可以被编写在任何形式的计算机可读介质上。
可以使用各种编程语言来实施本发明的各方面。在一个实施例中,所使用的编程语言是Java。所述有向图作为运行时Java对象而被加载到计算机存储器中,并作为串行化Java对象留存到诸如文件系统之类的数据储存器。产生有向图所需的信息被存储在一个或多个诸如关系数据库之类的结构化数据源中。以下软件库可以用于实现所述系统的组件。这些软件库包括但不限于Apache Lucene 3.0.1、文本搜索引擎库、以及Apache XML Beans 2.4。此外,为了从XML纲要(XML schema)产生Java对象,还可以利用下述各项:Jetty 6.01、HTTP网络服务器和客户端、以及诸如VTD-XML之类的快速XML解析器。
如图1的示例性计算机系统10中所示,在一个实施例中,系统10包括服务器装置12,该服务器装置12被配置成包括:诸如中央处理单元(“CPU”)之类的处理器14、随机存取存储器(“RAM”)16、一个或多个诸如显示装置(未示出)和键盘(未示出)之类的输入-输出装置18、以及非易失性存储器20,它们全部经由公共总线22互连并由处理器14控制。
非易失性存储器20被配置成包括用于计算实体指纹并将实体指纹相互比较的指纹提取模块26。如此处所使用的那样,术语“指纹”是指基于多个实体属性和/或特性的实体的抽象表示。一旦为实体计算了指纹,则可以将该实体指纹与其它实体指纹相比较以理解可能存在的相似性和差异。在一个实施例中,所计算的实体指纹用于产生要在分类和集群任务中使用的特征向量。
被指纹提取模块26用来产生实体指纹的因素涉及根据有向图确定的实体的邻域。在一个实施例中,指纹提取模块26识别实体与之相关的给定类型的邻域实体以及这些近邻的时间方面(例如,一个属性是“新兴近邻”)。相应地,由指纹提取模块26计算的实体指纹可以表示实体的时间点视图。还可以将关于实体的结构化信息结合到指纹中。
例如,考虑到组织实体,还可以将诸如该组织所并入的国家以及已知该组织在其中运营的产业之类的信息结合到指纹中。此外,在一个实施例中,指纹提取模块26使用实体与文档的关系来向组织指纹添加顶部k个分类代码和顶部k个社会标签(即,与文档相关的维基百科(Wikipedia)文章题目)。这通过下述操作实现:关于包括所述组织且还被指派有所述分类代码或社会标签的文档的数量,对每个分类代码或社会标签进行排序;以及选择k个最频繁的结果,其中k是整数值。
相应地,在一个实施例中,由指纹提取模块26计算的每个组织指纹包括下述属性群组中的一个或多个属性:产业层级;地理层级;相关产业;相关地理;相关宏观经济指标;相关商品;相关TRCS代码;相关社会标签;以及相关实体(在两个分组中——新兴的那些和稳定的那些)。结合图2公开了由指纹提取模块26执行的计算实体指纹的示例性方法。
参考图1,在非易失性存储器20中包括图形模块28,以构造有向图。在一个实施例中,图形模块28通过从可用数据源选择文档以及处理这些文档来发起有向图的构造。这些文档的处理包括:基于与文档相关联的元数据来提取实体;以及解决可能使用结构化数据源检测到的任何不一致性。然后,图形模块28基于所提取的实体来产生有向图的顶点,并产生所提取的实体之间的边。一旦提取了实体,则图形模块28在所解决的实体之间产生该图的边。
如图1中所示,还在非易失性存储器20中提供了关联模块30。关联模块30计算实体之间的关联的重要性分数,所述重要性分数是一个实体对于另一个实体的重要性级别的指示。在一个实施例中,关联模块30使用非结构化文档中的实体同现来建立实体之间的联系(例如,边)。关联模块30可以给有向图的一个或多个边指派重要性分数,其中更高的值指示更强的联系。由于可以使用有向图来表示实体关系,因此在每对所连接的实体之间存在两个边,每个边可以被关联模块30指派不同的重要性分数。有利的是,这允许系统10对常见现实生活情形进行建模,其中,给定实体E1可能对于所连接的实体E2非常重要,但是所连接的实体E2可能对于实体E1不同等重要。
结合图4示出了一个组织(Facebook 100)与其一些近邻之间的实体关系的示例。图4中所示的示例重要性分数指示:Twitter 114对于Facebook 100(如强度0.12所指示)比Microsoft 102对于Facebook 100(如强度0.05所指示)更重要,并且二者都比Apple 104(由强度0.01指示)更重要。相比之下,Facebook 100对于Microsoft 102来说重要,但不同等重要(如强度0.01所指示)。如一些市场专业人员所意识到的那样,Microsoft 102是Facebook 100中的主要股东和投资者,但也涉及各种其它商业领域。Facebook 100与Google 108之间的关系展示出相似行为。相对照而言,如很多市场专业人员所意识到的那样,Facebook 100是MySpace 112的核心业务的主要竞争者,使图4中最重要的联系是由强度0.23指示的MySpace→Facebook边18,而MySpace 112的行动对于Facebook 100来说显得不那么重要,这从相反方向120上的联系远非该强度(即,为0.08)的事实清楚可见。
再次参考图1,关联模块30使用捕获实体关系的不同方面的各种因子来计算重要性分数。如前所述,在2011年5月13日提交的名称为“Association Significance”的美国专利申请No.: 13/107,665中讨论了计算重要性分数的细节,该美国专利申请的内容以其整体并入到本文中。
在一个实施例中,关联模块30将重要性分数计算为多个因子的加权平均,所述因子包括兴趣度、最近兴趣度、确认、公共近邻、产业交叠、地理交叠、时间重要性以及意外元素。
在一个实施例中,通过将实体视为两个变量、利用来自所有可用文档的实体频率填充列联表、并且然后向所述列联表应用兴趣度度量来计算兴趣度因子。
与兴趣度因子相似地计算最近兴趣度因子,但是仅使用在用户可定义时间间隔内已创建和/或被使得可用的文档来计算所述最近兴趣度因子。有利的是,该因子增强了新兴关系。
如果源和目标实体之间的关系被人类专家确认(在可用的结构化数据中),则通过指派值一(1)来计算确认因子。否则,将值零(0)指派给确认因子。
公共近邻因子被计算为源实体的也出现在目标实体的程度-1邻域中的程度-1近邻的百分比。
产业交叠因子被计算为源实体的邻域中的也出现在目标实体的程度-1邻域中的产业的百分比。
地理交叠因子被计算为源实体的邻域中的也出现在目标实体的程度-1邻域中的地理的百分比。
通过将最近兴趣度值与从历史(非最近)文档计算出的兴趣度值相比较来计算时间重要性因子。关联模块30在最近兴趣度值大于阈值时给所述因子指派值一(1),并在最近兴趣度值小于阈值时给所述因子指派值零(0)。该因子奖励已在最近时间段中获得强度的关系,并惩罚已丢失强度的关系。
如果源实体的邻域在最近时间段中包含在历史时间段中未出现的任何新的产业或地理,并且目标实体共享至少一个这种产业或地理,则通过指派值一(1)来计算意外元素因子,否则给意外元素因子指派值零(0)。
关联模块30所利用的计算重要性分数的附加细节在2011年5月13日提交的名称为“Association Significance”的共同待审美国专利申请No.: 13/107,665中公开,该申请的内容以其整体并入到本文中。
提供了比较模块32,并且该比较模块32计算两个指纹之间的相似性分数。在一个实施例中,将相似性分数计算为指纹中包括的每个属性的余弦相似性分数的加权线性组合,其中,权重可以由领域专家凭经验选择。该分数表示两个实体有多相似,而不是简单地表示它们在图中如何连接。该信息对于投资银行家来说特别实用。结合图3讨论比较实体指纹的方法。
非易失性存储器20还包括界面模块34,该界面模块34提供用于观看零个或多个实体指纹的图形用户界面。在下文中更详细地讨论模块26、28、30、32和34中的每一个的附加细节。
本发明的软件模块26-34可以被实现为可使用基于Flash或HTML的客户端应用访问的一组服务。可以使用标准HTTP、基于HTTP的XML来发送请求和响应,或者可以使用Google的协议缓冲器来批处理请求和响应。还可以使用数据分区以允许垂直和水平可伸缩性,即,有向图可以分布在分散型对等网络中的多个节点之间,每个所述节点都拥有文档或实体的子集。协议缓冲器也可以用于节点间通信以服务于分布图中的用户请求。
如图1中所示,提供了网络56,网络56可以包括各种装置,诸如以内联网、外联网或互联网配置连接的路由器、服务器和交换元件。在一个实施例中,网络56使用有线通信来在访问装置58、服务器装置12和数据储存器40之间传输信息。在另一个实施例中,网络56采用无线通信协议来在访问装置58、服务器装置12和数据储存器40之间传输信息。在另外其他实施例中,网络56采用有线和无线技术的组合来在访问装置58、服务器装置12和数据储存器40之间传输信息。
访问装置58可以包括个人计算机、膝上型计算机或其它类型的电子装置,诸如蜂窝电话或个人数字助理(PDA)。在一个实施例中,例如,访问装置58耦合到I/O装置(未示出),以向服务器装置12发送网页请求,所述I/O装置包括与诸如鼠标之类的指点装置相结合的键盘。优选地,访问装置58的存储器被配置成包括用于从服务器12请求和接收信息的网页浏览器58A。尽管在图1中仅示出了一个访问装置58,但是系统10可以支持多个访问装置。
数据储存器40是维护和存储前述模块26-34所利用的信息的储存库。在一个实施例中,数据储存器40是关系数据库。在另一个实施例中,数据储存器40是诸如轻型目录访问协议(“LDAP”)之类的目录服务器。在又一个实施例中,数据储存器40是服务器12的非易失性存储器20的区域。
在一个实施例中,如图1示例中所示,数据储存器40包括实体类型组42。如此处使用的那样,词语“组”是指从空集到多元素集合的任何集合。实体类型组42的每个成员表示在所述系统中预定义的有形或逻辑实体的类型。实体类型组42可以包括但不限于下述各类实体:组织、人、产品、产业、地理、商品、金融指标、经济指标、事件、主题、科目代码、唯一标识符、社会标签、产业项目、一般项目、元数据元素、分类代码及其组合。
还提供了预定义实体组44,其用于识别相似的实体以及确定实体的属性。预定义实体组的每个成员表示特定有形或逻辑实体并与实体类型组42的零(0)、一(1)或许多成员相关联。在一个实施例中,预定义实体组44的每个成员可以与属性标识符、属性类型标识符和属性值(即,三元组)相关联。例如,如果预定义实体之一表示诸如“Thomson Reuters”之类的公司,则属性类型标识符可以是“公司总部”,属性标识符可以是“城市”,并且属性值可以是“纽约”。
在一个实施例中,数据储存器40包括信息源组46。信息源组46是结构化数据源,其中,每个成员与预定义实体组44的每个成员的一(1)个或多个属性标识符、属性类型标识符、属性值和信息源标识符(即,四元组)相关联。
数据储存器40还包括文档组48。文档组48中的每个文档可选地与文档四元组集合相关联,该四元组包括实体标识符(e)、属性标识符、属性类型标识符和属性值。实体标识符(e)与预定义实体组44的至少一个成员相关。在一个实施例中,文档组中的至少一个文档与标识一个或多个实体的元数据相关联。
还在数据储存器40中提供了权重组50,并且使用该权重组50来计算指纹属性之间的相似性。权重组50的每个成员与数值以及一个或多个信息源标识符、属性类型标识符和二进制变量相关联,所述二进制变量指示是否从有向图获得数字权重值以及数字权重值是否已经被人确认。
提供了关联准则组52,其包括被关联模块30用来计算实体之间的所识别的关系的重要性分数的列联表。在一个实施例中,该列联表与被关联模块30用来计算重要性分数的兴趣度度量组相关联。在一个实施例中,数据储存器40还包括图形对象54。图形对象54是已被留存且表示所述有向图的串行化Java对象。产生有向图所需的信息被存储在存储于数据储存器40中的一个或多个数据源中。在下文中更详细地讨论关于数据储存器40中包括的信息的附加细节。
尽管图1中所示的数据储存器40连接到网络56,但是本领域技术人员将理解,数据储存器40和/或其中所示的任何信息可以分布在各种服务器上且对服务器12来说可经由网络56访问,直接耦合到服务器12,或者被配置在服务器12的非易失性存储器20的区域中。
此外,应当注意,图1中所示的系统10仅是本公开的一个实施例。本公开的其它系统实施例可以包括未示出的附加结构,诸如辅助储存器和附加计算装置。此外,本公开的各种其它实施例包括比图1中所示的那些更少的结构。例如,在一个实施例中,本公开以非联网的独立配置在单个计算装置上实施。经由诸如键盘和/或鼠标之类的输入装置将数据输入和请求传递到计算装置。从计算装置将系统的数据输出(诸如,所计算的重要性分数)传递给诸如计算机监视器之类的显示装置。
现在转到图2,公开了用于为实体“A”计算实体指纹的示例方法。如图2示例中所示,在步骤60,响应于接收到请求,指纹提取模块26初始化实体“A”的指纹“F”。指纹A包括下述数据结构:该数据结构具有标识实体特性的至少一个属性标识符、标识实体特性的类别的属性类型标识符、属性标识符的属性值以及标识特性的重要性级别的属性权重,下文中统称为“四元组”。一旦初始化,数据结构就包括零和/或空值。
接下来,在步骤62,指纹提取模块26将实体A与预定义实体组44的每个成员相比较。基于该比较,指纹提取模块26通过将与所识别的实体相关联的值导入到所述数据结构中,向预定义实体组44中的每个所识别的成员的指纹F添加四元组。然后,指纹提取模块26使用属性类型标识符和来自信息源组46的信息源标识符确定来自权重数据储存器50的四元组的属性权重。
接下来,在步骤64,指纹提取模块26识别包括实体A的四元组的信息源组46的所有成员。在一个实施例中,指纹提取模块26通过导入属性标识符、属性类型标识符、属性值、以及直接来自信息源组46的信息源标识符,向信息源组46的每一个所识别的成员的指纹F添加四元组。然后,指纹提取模块26使用属性类型标识符和与信息源组46的每个所识别的成员相关联的信息源标识符,确定来自权重数据储存器50的属性权重。
然后,指纹提取模块26在步骤66从有向图识别表示连接到实体A的实体的所有顶点。在一个实施例中,指纹提取模块26向满足用户定义准则的每个顶点的指纹F添加四元组。例如,用户定义准则可以用于识别经由边而连接的顶点,该顶点具有满足用户定义阈值的重要性或相关性分数属性。用户定义准则还可以用于识别与用户定义属性类型标识符或属性标识符相关联的顶点和/或与用户定义属性类型标识符或属性标识符相关联的边。然后,指纹提取模块26针对来自每个识别的顶点的指纹A导入值(例如,与每个顶点相关联的属性标识符、属性类型标识符和属性值),并使用属性类型和指示从有向图而不是从信息源组46得到该属性的二进制值,确定来自权重数据储存器50的属性权重。
接下来,在步骤68,指纹提取模块26处理直接连接到实体A的边的组,以获得所连接的实体的属性度量标准。在一个实施例中,对于每个所连接的顶点,指纹提取模块26使用所计算的属性标识符和基于所识别的属性类型的值向指纹F添加四元组。然后,指纹提取模块26使用属性类型和指示从有向图而不是从信息源组46得到该属性的二进制值,确定来自权重数据储存器50的所计算的属性的属性权重。指纹提取模块26将所计算的属性标识符、属性类型、属性值和属性权重导入到指纹F数据结构中。
然后,指纹提取模块26在步骤70识别与来自文档组48的提到了实体A的文档相关联的实体和/或元数据,并对所述实体和/或元数据分等级。如前所述,文档组48中的至少一个文档可以包括标识一个或多个实体的元数据标签和/或实体信息。在一个实施例中,对于除了在文档中识别出的实体A之外的所有实体,指纹提取模块26对不包括实体A的文档的数量进行计数,并针对每个文档向指纹F添加四元组,选择满足用户定义准则的实体,所述用户定义准则诸如是指示包含所选实体的文档的最小数量的阈值。指纹提取模块26基于元数据标签和/或实体信息的分等级从所识别的文档针对指纹数据结构导入值,并在步骤72,基于所述分等级在有向图(例如,有向图的顶点和边)中存储对所识别的文档的引用。
现在转到图3,公开了由比较模块32执行的比较实体指纹的示例性方法。首先,在步骤80,比较模块32识别与第一指纹相关联的第一实体和与第二指纹相关联的第二实体。在一个实施例中,第一实体和第二实体最初由用户使用与每个实体相关联的唯一标识符识别并经由界面模块34所提供的图形用户界面而接收。
接下来,在步骤82,比较模块32计算与第一实体相关联的每个唯一属性类型的第一加权值。在一个实施例中,比较模块32向与第一实体相关联的属性标识符的属性权重应用聚合函数,诸如平均函数、最小值函数或最大值函数。接下来,在步骤84,比较模块32计算与第二实体相关联的每个唯一属性类型的第二加权值。类似于计算第一加权值,比较模块32向与第二实体相关联的属性标识符的属性权重应用聚合函数。
接下来,在步骤86,比较模块32使用第一实体的所计算的第一加权值归一化第一实体的属性值,并使用第二实体的所计算的第二加权值归一化第二实体的属性值。这些所计算的加权值中的每一个相等地分布在每个相应实体的属性值上。例如,假设属性类型TY的所计算的加权值为二十(20)并且属性类型TY的属性标识符的数量为十(10),则比较模块32给与属性类型TY相对应的每个属性指派属性权重二(2)(即,合计权重(20)/属性数量(10))。
接下来,在步骤88,比较模块32通过向每个指纹的对应归一化属性应用相似性函数来计算第一和第二实体指纹的相似性分数,并合计结果。可被应用于对应归一化属性的示例相似性函数包括但不限于余弦相似性、欧几里得距离、曼哈顿距离等。
最后,在步骤90,比较模块32产生与第一实体和第二实体相关联的信号并响应于请求传送所述信号。
现在转到图5-10并且共同参考图5-10,示出了界面模块34所提供的示例图形用户界面(“GUI”)140。如图5示例中所示,在一个实施例中,GUI 140包括用于指定实体的查询画面142、用于列出与在查询画面142中指定的实体相似的实体指纹的矩阵画面144、以及用于列出可与在查询画面142中指定的实体相关的任何新闻项目和/或文档的标题画面146。
参考图6,公开了查询画面142的其他细节。如图6示例中所示,提供了输入文本栏142A,其允许用户指定唯一实体标识符。所述唯一实体标识符可以是但不限于行情显示符号(ticker symbol)、实体代码、实体名称或部分实体名称。所述唯一实体标识符与在系统中建模的实体相关联,在一个实施例中,输入文本栏142A对于类型“公司”的实体来说是自动建议启用的。在选择了放大镜或按下了输入键时,唯一实体标识符被指纹提取模块26接收。然后,指纹提取模块26制定针对实体的查询并返回实体指纹和相似指纹以用于显示在查询画面142、矩阵画面144、标题画面146中。如前所述,在一个实施例中,实体指纹是反映实体的重要方面的预定义特性/实体组。例如,在类型“公司”的实体的情况下,部门成员、相关商品和地理信息可能与实体指纹相关联。
在一个实施例中,例如,允许用户临时除去与实体相关联的指纹的特性/属性。这种动作作为过滤器进行操作,以从在矩阵画面144和标题画面146中显示的搜索结果除去相同的准则。例如,如果用户从实体指纹除去实体“德国”,则在矩阵结果画面144中显示的在其指纹中具有特性德国的任何实体被除去。
如图6示例中所示,查询画面142被配置成包括针对所选查询实体(即,输入文本栏142A中的实体标识符所表示的实体)的趋势线142B。在一个实施例中,趋势线142B被显示为具有三十(30)天历史的图表。每一天被表示为条,并表示提及所述查询实体的文档的数量。
现在转到图7,矩阵画面144显示已经被指纹提取模块26确定为与查询实体具有最多共享实体/属性的实体。在一个实施例中,相似的实体被指纹提取模块26分等级,并且然后被显示在列表中,其中与查询实体最相似的实体被显示在列表的顶部。在一个实施例中,列表具有滚读能力以显示多个相似实体。在另一个实施例中,每个相似的实体可以被拖放到查询画面142的输入栏142A。这操作用于使用被拖动的实体代替原始查询实体并相应地更新所有画面142、144、146。
如图7示例中所示,每个所识别的相似实体152、154、156被显示有其实体名称、与查询实体共同的属性的百分比158、与来自有向图的查询实体共享的连接的百分比160、不与查询实体共享的顶部连接的数量162、以及对于相似实体来说是否存在任何新兴的或趋向的连接164。在一个实施例中,与每个相似实体相关联的可选择趋势线166示出了对于预置时间间隔(例如过去三十(30)天)每天提到相似实体的文档的数量。
现在参考图9,在从矩阵结果画面144选择了趋势线166时,显示趋势线166的大覆盖图170。覆盖图170允许用户向下钻取(drill down)实体的特定新闻事件。如图9示例中所示,在覆盖图170的任何条上移动诸如鼠标之类的指点装置时导致包括与相似实体相关的各个标题的调出172被显示。
图8示出了具有水平网格线180的矩阵画面144。如图8示例中所示,在一个实施例中,用户能够通过在紧邻值的箭头180A上进行点击来扩充矩阵画面144中的水平网格线180。如图8示例中所示,这操作用于在网格线180下方推出所显示的结果,导致关于实体已被发现彼此相似的原因的更详细信息被呈现给用户。
现在转到图10,在一个实施例中,标题画面146在预定义时间间隔内显示对查询实体以及在矩阵画面144中显示的所有相似实体来说最重要的标题/文档的可选择列表146A。在一个实施例中,可选择列表146A是按时间排序的,其中最近的标题/文档被显示在该列表的顶部处。在标题/文档上移动诸如鼠标之类的指点装置时,显示列出标题、日期以及所述标题/文档所引用的一个或多个实体的弹出对话框。
现在参考图11,示出了实体指纹显示150,其具有用于访问实体的相邻视图的多个相邻导航选项。相邻视图允许用户观看常见的和罕见的实体以及在两个实体之间共享的概念。如图11示例中所示,在一个实施例中,可以经由被包括在指纹显示150的顶部导航菜单152中的按钮154并且还经由与矩阵画面144的每个结果项目相关联的导航项目156来访问所述相邻视图。
图12是并排显示160的示意图。现在参考图11和12二者,如果使用顶部导航菜单152的按钮154发起并排显示160,则当前被显示在指纹显示150的输入文本栏142A中的任何查询实体被传递到并排显示160。如图12示意图中所示,在一个实施例中,所传递的查询实体被显示在并排显示160的左侧(区域1)162上。如果用户已经选择矩阵画面144中的指纹显示150的结果线之一(例如图11中的实体“Yahoo”),则所选实体标识符被发送到并排显示160并被显示在并排显示的右侧(区域2)164上。如果用户尚未选择矩阵画面144中的任何项目,则并排显示160的右侧(区域2)164保持空缺。
如果使用矩阵画面144的结果线项目发起并排显示160,则在指纹显示150的输入文本栏142A中显示的查询实体被传递到并排显示160并被显示在并排显示160的左侧(区域1)162上。所选结果线项目被传递到并排显示并被显示在右侧(区域2)164上。
结果区域166用于显示实体之间的联系强度并在下文中更详细地讨论。
现在转到图13,示出了示例并排显示170,该并排显示170示出了第一实体标识符172(“Apple Inc.”)和第二实体标识符174(“Intel Corp.”)。在用户选择了比较按钮176时,比较模块32形成两个实体(下文中被称为“查询实体”)的查询,并利用查询实体之间的实体联系强度的视觉描述来填充结果区域166。
例如,在一个实施例中,结果区域166包括多个水平线178。每个水平线178都表示实体类型,诸如但不限于TRCS部门、公司、地方、商品、地理、人、公司事件和经济指标,并被比较模块32利用相同实体类型的多个实体填充。在一个实施例中,使用诸如球之类的视觉指示器来表示在水平线上显示的每个实体。
如图13示例中所示,在一个实施例中,查询实体作为“磁体”进行操作。具体地,如果表示实体的视觉指示器之一主要与查询实体之一相关,则更靠近结果区域166的该查询实体侧显示所述视觉指示器。具有与两个实体的相同或相似强度的联系的实体被向着结果区域166的中间区显示。
可以基于实体相对于所组合的查询实体的相对重要性来确定视觉指示器的尺寸。例如,在一个实施例中,参考图13示例,相比于以较小尺寸示出的球,在结果区域166中描绘的较大球指示由该较大球描绘的实体对于查询实体更重要。
如图13示例中所示,在一个实施例中,视觉标识符与自动显示的标记相关联。在另一个实施例中,在用户选择了视觉标识符时,向用户显示与所选视觉标识符相关联的标记。此外,视觉标识符可以被彩色编码,从而提供所显示的实体的不同视觉方面。
所述系统的各种特征可以以硬件、软件或硬件和软件的组合实现。例如,所述系统的一些特征可以以在可编程计算机上执行的一个或多个计算机程序实现。每个程序可以以高级过程或面向对象的编程语言实现,以与计算机系统或其它机器通信。此外,每个这种计算机程序可以存储在诸如可由通用或专用可编程计算机或处理器读取的只读存储器(ROM)之类的储存介质上,以用于配置和操作所述计算机来执行上述功能。