具体实施方式
本发明包括方法和系统,其便于从非结构化数据将事件(例如事实)和所识别的事件属性(例如与事件有关的信息)自动提取(例如表示)成结构化数据格式。可以在本发明的情况下所使用的非结构化数据的示例包括但不限于书、杂志、文档、元数据、健康记录、金融记录和非结构化文本,所述非结构化文本诸如新闻报道、企业新闻发布、电子邮件消息的正文、网页以及文字处理器文档。
结构化数据格式指定数据将如何被组织并且包括使信息的结构和内容标准化的规则。由本发明所生成的示例结构化数据格式包括但不限于可扩展标记语言(XML)、可扩展商业报告语言(XBRL)、超文本标记语言(HTML)和具有所公布的规范文档的其它数据格式。
所述方法和系统在以下情景中是特别有益的,在所述情景中,金融事件连同多重其它事实一起被包括在非结构化文本中,所述多重其它事实中的一些涉及金融事件和其中一些不涉及金融事件。
例如,企业新闻发布可以包括事件,诸如股票红利宣告,所述股票红利宣告与其相关联地具有股票红利是可支付的时段和识别支付股票红利的商行(business concern)的实体名称,其是市场专业人员感兴趣的。所述新闻发布也可以包括与红利事件无关的附加信息,诸如新员工福利信息,其可能对于市场专业人员是较少感兴趣的。使用本发明,市场专业人员不需要花时间阅读整个新闻发布和在新员工福利信息中挑选,因为市场专业人员所感兴趣的红利和有关信息可以以若干结构化数据格式之一被自动提供给市场专业人员。
现在转向图1,公开了一种适合的计算系统10的示例,在所述计算系统10中,本发明的实施例可以被实施。所述计算系统10只是一个示例并且不意图暗示关于本发明的使用或功能性的范围的任何限制。所述计算系统10也不应当被解释为具有与所说明组件的任何一个或组合有关的任何依赖性或要求。
例如,本发明用许多其它通用或专用计算消费电子设备、网络PC、小型计算机、大型(mainframe)计算机、膝上型计算机以及包括任何以上系统或设备的分布式计算环境等等是可操作的。
可以在由计算机所执行的计算机可执行指令的通常上下文中描述本发明,所述计算机可执行指令诸如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构、循环代码段和构造等等。本发明可以在分布式计算环境中被实行,在所述分布式计算环境中,任务由远程处理设备执行,所述远程处理设备通过通信网络被链接。在分布式计算环境中,程序模块位于包括存储器存储设备的本地和远程计算机存储媒介这两者中。在以下并且借助于图来描述由程序和模块所执行的任务。本领域技术人员可以将描述和图实施为处理器可执行指令,所述处理器可执行指令可以被写在任何形式的计算机可读媒介上。
参考图1,在一个实施例中,系统10包括服务器设备12,所述服务器设备12被配置以包括诸如中央处理单元(‘CPU’)的处理器14、随机存取存储器(‘RAM’)16、诸如显示设备(未示出)和键盘(未示出)的一个或多个输入-输出设备18和非易失性存储器20,所有这些经由公共总线22被互相连接并且由处理器14控制。
如在图1示例中所示出的,在一个实施例中,非易失性存储器20被配置以包括规格化(normalization)模块24、特征模块26、分类模块28、置信度模块30和提取模块32,所述规格化模块24用于从非结构化文本文档识别事件属性,诸如货币、金融限定符、时段、定界符、实体名称和在金融领域中有重大意义的其它项目,所述特征模块26用于生成描述在非结构化文本文档中所出现的诸如单词、术语、标点符号等等的项目的文档特征(例如数字向量),所述分类模块28用于归类文档特征集合并且向在非结构化文本文档中所出现的项目分配分类评分,置信度模块30用于确定在从非结构化文本文档识别事件方面的准确度,所述提取模块32用于从非结构化文本文档以结构化数据格式来表示事件和任何所识别的事件属性。如此处所使用的,单词‘集合’和‘多个集合’指的是从空集合至多元素集合的任何事物。结合图2、3和4来讨论这些模块24、26、28、30和32的附加细节。
提供网络32,其可以包括各种设备,诸如被连接在内联网、外联网或互联网配置中的路由器、服务器和交换元件。在一个实施例中,网络32使用有线通信以在访问设备(未示出)、服务器设备12和数据存储装置34之间传递信息。在另一个实施例中,网络32采用无线通信协议以在访问设备、服务器设备12和数据存储装置34之间传递信息。还在其它实施例中,网络32采用有线和无线技术的组合以在访问设备、服务器设备12和数据存储装置34之间传递信息。
数据存储装置34是维护和存储由前述模块24、26、28、30和32所利用的信息的仓库。在一个实施例中,数据存储装置34是关系数据库。在另一个实施例中,数据存储装置34是目录服务器,诸如轻量目录访问协议(‘LDAP’)。在又一个实施例中,数据存储装置34是服务器12的非易失性存储器20的区域。
如在图1示例中所示出的,在一个实施例中,数据存储装置34包括训练文档集合36、所提供的多个特征生成方案(schema)38和所提供的预定义规则集合40,所述训练文档集合36由分类模块28使用以在事件属性上训练多重二进制分类器,所述多个特征生成方案38由特征模块26应用来为训练文档集合36和非结构化文档集合44生成文档特征,如果被包括在非结构化文档集合之一中的属性被肯定地识别,则所述预定义规则集合40由分类模块28应用。
数据存储装置34也包括预定义事件集合42。预定义事件42中的每一个包括与之相关联的至少一个预定义事件属性。例如,在一个实施例中,被命名为“红利”的预定义事件与之相关联地具有以下预定义事件属性:数量、时期和限定符。在一个实施例中,每个预定义事件属性与系统中的唯一识别符相关联。所述数据存储装置34也包括一个或多个所训练的置信度模型46和概率估计模型48,所述置信度模型46提供在非结构化文档集合44中所识别的事件的准确度确定,所述非结构化文档集合44在一个实施例中可能包括通过实时数据馈给所接收的一个或多个新项目,所述概率估计模型48用以从由分类模块28所计算的分类评分来计算概率值。以下更详细地讨论被包括在数据存储装置34中的信息的附加细节。
尽管在图1中所示出的数据存储装置34被连接到网络32,但是将由本领域技术人员所意识到的是,在图1中所示出的数据存储装置34和/或任何信息36-48可以跨越各种服务器而分布并且通过网络32对服务器12是可访问的、被直接耦合到服务器12或被配置在服务器12的非易失性存储器20的区域中。
此外,应当注意的是,在图1中所示出的系统10只是本公开的一个实施例。本公开的其它系统实施例可以包括没有被示出的附加结构,诸如二级存储装置和附加计算设备。另外,本公开的各种其它实施例包括比在图1中所示出的实施例更少的结构。例如,在一个实施例中,在非联网独立式配置中在单个计算设备上实施本公开。数据输入经由诸如键盘和/或鼠标的输入设备被传送到计算设备。系统的数据输出从计算设备被传送到显示设备,诸如计算机监控器。
现在转到图2,公开了一种用于训练在图1中所示出的基于计算机的系统的示例方法。首先,在步骤50处,规格化模块24规格化训练文档集合36中的每个文档。在一个实施例中,每个文档的规格化包括为训练文档集合中的每个识别来自金融领域的有重大意义的记号(例如单词、短语、字母序列、数字和特定字符)。
其次,在步骤52处,规格化模块24在每个训练文档中识别候选属性。如此处所使用的,术语‘候选属性’指的是以下单词、短语或有重大意义的其它记号,所述单词、短语或有重大意义的其它记号可能涉及与系统中预定义事件42中之一相关联的预定义属性。例如,在一个实施例中,候选属性包括但不限于被包括在每个训练文档中的货币、金融限定符、时段、定界符和实体名称。规格化模块24于是在每个训练文档内向每个有重大意义的所识别的记号分配唯一识别符。
参考图4,在一个实施例中,规格化模块24提供用户界面,所述用户界面向诸如人类专家的用户显示每个经规格化的训练文档。规格化模块24在每个训练文档内将每个所识别的候选属性显示为文本的标记/标签部分(marked-up/tagged portion)。如在图4示例中所示出的,专家可以识别由唯一识别符在系统中所表示的文本的标记/标签部分,所述文本的标记/标签部分对于(例如,对应于)与事件42相关联的预定义事件属性集合中的任何属性是阳性的(positive)。规格化模块24于是生成(MT ij ,S k )对,所述(MT ij ,S k )对表示对于预定义事件属性S k 是阳性的、在文档T i 中的文本M的第j个标记/标签部分。所有这种对的集合P于是由规格化模块24存储在数据存储装置34中。
在一个实施例中,对于每个预定义事件属性S k ,规格化模块24从训练文档集合36识别阳性示例和阴性(negative)示例。阳性示例是对集合P中的对应于预定义事件属性S k 中之一的所有对。阴性示例是P中的不对应于预定义事件属性S k 、但具有与S k 类似的属性类型的所有对。例如,如果S k 是数字红利值,则所有其它数字值被识别为阴性示例。
参考回图2,一旦阳性和阴性示例被确定,则在步骤54处,特征模块26为每个所识别的阳性和阴性示例生成一个或多个文档特征。在一个实施例中,特征模块26在每个阳性和阴性示例的潜在(例如,候选)事件属性周围的一部分非结构化文本(例如,标记/标签文本)上生成一个或多个文档特征(例如,数字向量)。非结构化文本的所述部分的大小是用户可配置的。例如,参考非结构化文本的以下示例,在候选事件属性“0.45p”周围的非结构化文本的该部分是“Board is recommending, subject to shareholder approval, a total dividend for the year of 0.45p per share(2009:0.4p per share) ”。
本发明的特征模块26利用多个特征生成方案38(例如,算法)用以为阳性和阴性示例生成文档特征。例如,在一个实施例中,特征生成方案包括但不限于以下方案:“词袋”、“最远距离/最近距离”、“之前或之后”、“存在限定符”、“存在定界符”、“数值(Figure)-值-阈”、“N元(N-Grams)”、“标题词”、“上下文中时期”、“最近单匹配标签”和“基于数值的属性的值的对数”。
特征模块26使用词袋方案来为在包括标记/标签信息的一部分非结构化文本中所出现的每个唯一单词、短语或经规格化的文本生成文档特征并且基于每个唯一单词、短语或经规格化的文本分别在该部分非结构化文本中所出现的次数来向所生成的文档特征分配特征值。例如,参考非结构化文本的前述示例,所提取的一元(unigram)包括“Board”、“is”、“recommending”、“subject”等等。
特征模块26使用最远距离/最近距离方案来为标记/标签信息生成文档特征。在一个实施例中,特征模块26比较标签信息和与预定义事件属性集合相关联的多个预定义文本,并且然后基于所述比较为所述标签信息生成文档特征。特征模块26于是向所生成的文档特征分配特征值,所述特征值表示在标记/标签信息和候选属性之间的空间距离。
例如,参考非结构化文本的前述示例,如果单词“recommending”和“dividend”是与预定义事件属性集合相关联的预定义文本的部分,则被分配给所生成的文档特征的特征值将是11/21和5/21,其中11和5是离候选属性“.45p”的词距(word distance)并且二十一(21)表示在非结构化文本的前述示例中的单词数目。
特征模块26使用之前或之后方案来为在与预定义事件属性相关联的预定义文本列表中所出现的标记/标签信息生成文档特征。在一个实施例中,特征模块26比较标记/标签信息和与预定义事件属性集合相关联的多个预定义文本,基于所述比较为所述标记/标签信息生成文档特征,并且于是如果所述标记/标签信息被包括在所述多个预定义文本中并且所述标记/标签信息在该部分非结构化文本中出现在候选属性之后,则向所生成的文档特征分配第一特征值、例如数字一(1)。如果所述标记/标签信息被包括在所述多个预定义文本中、在该部分非结构化文本中出现在所述至少一个候选属性之前,则特征模块26向所生成的文档特征分配第二特征值、例如负一(-1),并且如果标签信息没有被包括在所述多个预定义文本中,则向所生成的文档特征分配第三特征值、例如零(0)。
例如,参考非结构化文本的前述示例,如果短语“per share”和“recommending”是与数值事件属性相关联的预定义文本的部分,则特征模块26分别分配一(1)和负一(-1)的特征值,因为“per share”在示例文本中出现在数值候选属性之后并且“recommending”在示例文本中出现在数值候选属性之前。
特征模块26使用存在限定符方案来为在该部分非结构化文本中所出现的限定术语(例如,区分、表征或区别候选属性的术语)生成文档特征。在一个实施例中,特征模块26识别被包括在该部分非结构化文本中的限定符文本,为所识别的限定符文本生成文档特征并且然后向所生成的文档特征分配特征值,所述特征值表示所识别的限定符文本是否被包括在与预定义事件属性集合相关联的多个预定义限定符文本中。
例如,参考非结构化文本的前述示例,如果预定义限定符文本包括单词“total”、“final”、“interim”和“basic”,则特征模块26可以分别向所生成的文档特征分配一(1)、零(0)、零(0)和零(0)的特征值,因为只有单词“total”存在于示例非结构化文本中。
特征模块26使用存在定界符方案来为在该部分非结构化文本中所出现的每个定界符(例如,逗号、冒号、括号、句点等等)生成文档特征。在一个实施例中,特征模块26识别被包括在该部分非结构化文本中的定界符,为所识别的定界符生成文档特征并且然后向所生成的文档特征分配特征值,所述特征值表示所识别的定界符是否被包括在与预定义事件属性相关联的多个预定义定界符中。
特征模块26使用数值-值-阈方案来为数字事件属性生成文档特征。在一个实施例中,特征模块26识别被包括在该部分非结构化文本中的数字事件属性,为所识别的数字事件属性生成文档特征,比较数字事件属性与预定义阈值;并且基于所述比较向所生成的文档特征分配特征值。如果数字事件属性没有超过阈值,则特征模块26可以分配一(1)的特征值并且如果数字事件属性超过阈值则分配零(0)的特征值。
特征模块26使用N元方案来为在该部分非结构化文本中所出现的每个单一N元(例如,二元、三元等等)生成文档特征并且将所述N元在该部分非结构化文本窗中所出现的次数用作文档特征频率。在一个实施例中,特征模块26识别被包括在该部分非结构化文本中的每个单一N元,为每个所识别的N元生成文档特征并且然后基于每个所识别的单一N元在该部分非结构化文本中所出现的频率来向所生成的文档特征分配特征值。
例如,参考非结构化文本的前述示例并且使用二元,使用N元方案的特征模块26将生成以下作为文档特征:“Board is”、“is recommending”、“per share”等等。
特征模块26使用标题词方案来为在非结构化文本的标题和该部分非结构化文本这两者中所出现的标记/标签信息生成文档特征。例如,在一个实施例中,特征模块26为标记/标签信息生成文档特征并且向每个所生成的文档特征分配特征值,所述特征值表示标签信息是否被包括在与非结构化文本文档相关联的标题中以及也被包括在与预定义事件属性集合相关联的多个预定义文本中。
特征模块26使用上下文中时期方案来为依赖时期的事实类型生成文档特征并且基于从文档上下文(例如,文档标题或元数据(metadata))所识别的时期是否对应于在该部分非结构化文本中所指定的时期来向所生成的文档特征分配特征值。在一个实施例中,特征模块26从非结构化文本文档的上下文识别依赖时期的属性,其中所述上下文由与非结构化文本文档相关联的标题和与非结构化文本文档相关联的元数据中之一定义;为依赖时期的属性生成文档特征;并且如果所述依赖时期的属性被包括在该部分非结构化文本中则向所生成的文档特征分配第一特征值。
特征模块26使用最近单匹配标签方案来为最接近于候选属性分别在其左边或右边所出现的标记/标签信息生成文档特征。例如,在一个实施例中,特征模块26为最接近于被包括在该部分非结构化文本中的候选属性的标记/标签信息生成文档特征并且基于与所述至少一个候选属性最接近的标签信息的数字索引来向所生成的文档特征分配特征值。
特征模块26使用基于数值的属性的值的对数方案来生成特征值,所述特征值表示基于数值的候选属性的实际值的对数。在一个实施例中,特征模块26识别被包括在该部分非结构化文本中的数字事件属性,为所识别的数字事件属性生成文档特征并且基于数字事件属性的对数来向所生成的文档特征分配特征值。
在一个实施例中,一旦多个文档特征被生成,则特征模块26规格化使用一些或所有上述特征生成方案所获得的特征值。在一个实施例中,特征模块26使用术语频率-逆文档频率(TF-IDF)来规格化所分配的特征值。在另一个实施例中,特征模块26使用其它规格化方式来规格化所分配的特征值。
参考图2,一旦特征模块26为阳性和阴性示例生成文档特征,则在步骤56处,分类模块28使用阳性和阴性示例来为每个预定义事件属性类型训练多重二进制分类器。在一个实施例中,每个二进制分类器使用不同分类算法、所生成的文档特征集合和/或训练文档的不同子集。其次,在步骤58处,对于每个所训练的分类器,分类模块28使用若干现有方式之一来训练概率估计模型。例如,在一个实施例中,分类模块28使用保序回归技术来训练概率估计模型。在另一个实施例中,分类模块28使用概率估计方式来训练概率估计模型。
其次,在步骤60处,对于事件集合42中的每个事件,置信度模块60构造置信度模型。在一个实施例中,置信度模块60通过首先为在训练文档集合36中的对应于事件集合42中预定义事件属性的任一非结构化文本部分中所出现的每个单一n元计算n元计数而构造置信度模型,其中n是可配置的。其次,置信度模块60向非结构化文本的每一部分分配置信度评分。所述置信度评分是与非结构化文本的每一部分相关联的n元计数的平均值。其次,置信度模型60使用所述置信度评分来为非结构化文本部分中的每一个计算统计特性。所述统计特性包括但不限于所有置信度评分的平均值、最大值、最小值和标准偏差。置信度模型60于是基于这些统计特性来生成第一文档语料库和第二文档语料库。所述第一语料库包括来自训练文档集合36的、对于预定义事件属性是真阳性的非结构化文本部分。所述第二文档语料库包括来自训练文档集合36的、对于预定义事件属性是假阳性实例的非结构化文本部分。
现在参考图3,公开了用于从非结构化文本文档表示信息的示范性方法。如在图3示例中所示出的,在步骤61处,规格化模块24规格化非结构文档集合44中的至少一个。如之前所描述的,所述非结构化文档集合可以是通过实时新闻馈给所接收的非结构化文本文档D。在一个实施例中,规格化模块24通过识别被包括在非结构化文本文档中的候选属性、将唯一识别符与候选属性相关联、比较候选属性与预定义事件属性集合中的每一个并且基于所述比较而存储所述候选属性、唯一识别符和所述预定义事件属性中至少之一来规格化文档D。所述候选属性可以是在金融领域中所定义的关键词、字母序列、数字和字符。
其次,在步骤62处,规格化模块24识别被包括在非结构化文本文档D中的事件的属性。每个所识别的属性至少类似于被包括于在事件集合42中所定义的预定义事件属性集合中的至少一个事件属性。其次,在步骤64处,特征模块26使用之前所讨论的特征生成方案中一个或多个来从非结构化文本文档生成文档特征。
例如,在一个实施例中,特征模块26可以通过为在一部分非结构化文本文档中所出现的每个单一单词、短语或经规格化的文本生成文档特征和基于所述单词、短语或经规格化的文本中的每个分别在该部分非结构化文本文档中所出现的次数来向所生成的文档特征分配特征值而应用词袋特征生成方案。
特征模块26也可以通过从与预定义事件属性集合相关联的多个预定义文本识别与所识别的属性之一邻近的文本、为所识别的邻近文本生成文档特征和向所生成的文档特征分配特征值而应用最远距离/最近距离特征生成方案,其中所述特征值表示在所识别的邻近文本和所识别的属性之一之间的空间距离。
在一个实施例中,例如,特征模块26可以通过识别与所识别的属性之一邻近的文本、为所识别的邻近文本生成文当特征、如果所识别的邻近文本被包括在与预定义事件属性集合相关联的多个预定义文本中并且所识别的邻近文本在该部分非结构化文本中出现在所识别的属性之后则向所生成的文档特征分配第一特征值而应用之前或之后特征生成方案。
如果所识别的邻近文本被包括在与预定义事件属性集合相关联的多个预定义文本中并且所识别的邻近文本在该部分非结构化文本中出现在所识别的属性之前,则特征模块26也可以向所生成的文档特征分配第二特征值。如果所识别的邻近文本没有被包括在与预定义事件属性集合相关联的多个预定义文本中,则第三特征值可以由特征模块26分配给所生成的文档特征。
特征模块26可以通过识别被包括在该部分非结构化文本中的限定符文本、为所识别的限定符文本生成文档特征并且向所生成的文档特征分配特征值而应用存在限定符特征生成方案,其中所述特征值表示所识别的限定符文本是否被包括在与预定义事件属性集合相关联的多个预定义限定符文本中。
在一个实施例中,特征模块26可以通过识别被包括在该部分非结构化文本中的定界符、为所识别的定界符生成文档特征并且向所生成的文档特征分配特征值而应用存在定界符特征生成方案,其中所述特征值表示所识别的定界符是否被包括在与预定义事件属性集合相关联的多个预定义定界符中。
特征模块26可以通过识别被包括在该部分非结构化文本中的数字事件属性、为所识别的数字事件属性生成文档特征、比较所述数字事件属性与预定义阈值并且基于所述比较向所生成的文档特征分配特征值而应用数值-值-阈特征生成方案。
在一个实施例中,特征模块26可以通过识别被包括在该部分非结构化文本中的每个单一N元、为每个所识别的N元生成文档特征并且基于每个所识别的唯一N元在该部分非结构化文本中出现的频率来向所生成的文档特征分配特征值而应用N元特征生成方案。
特征模块26可以通过识别与所识别的属性之一邻近的文本、为所识别的邻近文本生成文档特征并且向所生成的文档特征分配特征值而应用标题词特征生成方案,其中所述特征值表示所识别的邻近文本是否被包括在与非结构化文本文档相关联的标题和与预定义事件属性集合相关联的多个预定义文本中。
在一个实施例中,例如,特征模块26可以通过从非结构化文本文档的上下文识别依赖时期的属性、为所述依赖时期的属性生成文档特征并且如果所述依赖时期的属性被包括在该部分非结构化文本中则向所生成的文档特征分配第一特征值而应用上下文中时期特征生成方案,其中所述上下文由与非结构化文本文档相关联的标题或与非结构化文本文档相关联的元数据定义。
特征模块26可以通过为在该部分非结构化文本中最接近于所识别的属性的邻近文本生成文档特征并且基于与所识别的属性最接近的邻近文本的数字索引来向所生成的文档特征分配第一特征值而应用最近单匹配标签特征生成方案。
在又一个实施例中,特征模块26可以通过识别被包括在该部分非结构化文本中的数字事件属性、为所识别的数字事件属性生成文档特征并且基于数字事件属性的对数来向所生成的文档特征分配特征值而应用基于数值的属性的值的对数特征生成方案。
其次,如在图3的步骤66中所示出的,分类模块28将多个分类器中至少一个应用于每个所生成的文档特征。之前使用预定义事件属性所训练的所述至少一个分类器对应于所识别的事件属性。其次,在步骤68处,分类模块28使用之前所训练的概率估计模型之一从由所述至少一个分类器所生成的分类器评分而计算概率值。所计算的概率值指示所识别的事件属性对应于预定义事件属性集合之一的似然性。
如在步骤70中所示出的,分类模块28其次使用所计算的概率值来为D中每个所识别的属性计算分类评分。在一个实施例中,分类模块28通过组合分类器的结果来计算分类评分。例如,在一个实施例中,分类模块28使用规格化或概率估计方式来将由分类器所分配的原始评分规格化和/或转变成概率。在一个实施例中,分类模块28在规格化原始评分中使用保序回归,但是在本领域中已知的其它估计方式也可以由分类模块28所利用。这些经规格化的评分于是被组合成作为加权线性组合的单一评分。在一个实施例中,分类模块28经验式地确定加权(weight)。在另一个实施例中,分类模块28通过在每个所识别的属性上应用交叉验证而确定加权。
其次,在步骤72处,分类模块28确定D中所识别的属性是否已经被阳性地识别为预定义事件属性集合中的属性。如果分类模块28确定D中所识别的被阳性地识别,则在步骤74处,分类模块将预定义规则集合40中至少之一应用于所识别的属性。预定义规则集合40中的每一个识别与D中事件邻近的文本部分中的模式。
例如,参考如由分类器所识别的与“1.1p per share”的数值事件属性邻近的文本的以下示例部分:
“A dividend of 1.1p per share totaling £2.1m in respect of the period ended 1 October 2006 was paid in this period”
以下阐明示例预定义规则:
。
在一个实施例中,示例预定义规则是正则表达式规则,所述正则表达式规则为早先已经被支付或申报的并且因此不被系统考虑为新闻的红利识别数字数值。在一个实施例中,如果数值事件属性(1.1p per share)由单词“was paid, was declared, was proposed or was recommended”跟随,则预定义规则返回真值。
条件规则也可以被包括在预定义规则集合40中。例如,在一个实施例中,在所识别属性的上下文中识别日期并且将所述日期与公布新闻文本的日期或时期相比较。如果所述日期属于之前的时期,于是所述规则返回真,指示所述日期涉及较旧的信息。
其次,在步骤76处,如果分类模块28确定所识别的属性满足一个或多个所应用的规则,则在步骤78处,分类模块28识别对应于所识别的属性的任何附加预定义事件属性。
其次,在步骤80处,置信度模块30使用之前所训练的置信度模型之一来为D中的事件分配置信度评分。一旦置信度评分被分配,则在步骤82处,置信度模块30比较被分配给事件的置信度评分和与所训练的置信度模型相关联的置信度评分。基于所述比较,在步骤84处,提取模块32基于所述分类器评分和所述置信度评分而以结构化格式从非结构化文本文档D表示事件和一个或多个所识别的属性。
在一个实施例中,置信度模块30通过对从在D中邻近的和包括事件的一部分非结构化文本所得到的所有N元计数求平均值来计算与事件相关联的置信度评分。置信度模块30于是比较所计算的与事件相关联的置信度评分和与被包括在预定义事件属性集合中的至少一个事件属性相关联的在先估计平均值。在一个实施例中,置信度模块30确定所计算的置信度评分高于或低于在先估计平均值多少标准偏差。置信度模块30于是基于所述比较向事件分配置信度评分。
在另一个实施例中,如果置信度评分超过阈值,则置信度模块30确定被包括在该部分非结构化文本中的所识别的事件属性是否很可能要由模型M识别,所述模型M在文档的前述第一语料库或第二语料库上被训练。如之前所讨论的,第一文档语料库包括来自训练文档集合36的、之前被确定为对于事件属性是真阳性的非结构化文本和第二文档语料库包括来自训练文档集合36的、对于预定义事件属性是假阳性实例的非结构化文本部分。
在一个实施例中,置信度模块30使用以下公式来计算事件属性的似然性,所述是使用第一语料库或第二语料库而被识别的:
其中是在非结构化文本的第一语料库上所训练的模型M生成n元n的概率并且由以下公式所计算:
其中S()是计算出0出现n元的古德图灵平滑函数(Good-Turing smoothing function)。
如果所计算的事件属性似然性小于与在非结构化文本的第一语料库上所训练的模型M相关联的阈概率值,则置信度模块30使所计算的置信度评分的值变小。否则,置信度模块30维持所计算的置信度评分的值。
在又一个实施例中,如果二进制分类器将该部分非结构化文本分类为对于事件属性是阳性的,则置信度模块30为事件属性增大所计算的置信度评分,并且如果二进制分类器将该部分非结构化文本分类为对于事件属性是阴性的,则为候选属性减小所计算的置信度评分。
所述系统的各种特征可以以硬件、软件或硬件和软件的组合被实施。例如,所述系统的一些特征可以以一个或多个计算机程序来实施,所述一个或多个计算机程序在可编程计算机上执行。每个程序可以用高级过程或面向对象的编程语言被实施用以与计算机系统或其它机器通信。此外,每个这样的计算机程序可以被存储在存储媒介上,用于配置和操作计算机以执行上述功能,其中所述存储媒介诸如由通用或专用可编程计算机或处理器可读取的只读存储器(ROM)。