Journal of Web Semantics(2016) | Building event-centric knowledge graphs from news |
---|---|
Author | Marco Rospocher, Marieke van Erp, Piek Vossen, Antske Fokkens, Itziar Aldabe,German Rigau, Aitor Soroa, Thomas Ploeger, Tessel Bogaar |
url | https://www.sciencedirect.com/science/article/pii/S1570826815001456 |
keywords | Event-centric knowledge, Natural language processing, Event extraction, Information integration. Big data, Real world data |
得益于在搜索引擎中的应用,在过去几年里,知识图谱越来越受欢迎。通常情况下,它们包含了一些静态和百科全书式的关于个人或组织的事实。例如从Freebase或Wikipedia等大型知识库中获得的名人的生日、职业和家庭成员。
本文提出了一种从新闻文章中自动生成知识图谱的方法和工具。当新闻文章通过报道事件来描述世界的变化时,我们提出了一种使用最先进的自然语言处理和语义web技术来构建以事件为中心的知识图谱(ECKGs)的方法。这些ECKGs记录成千上万个实体的长期发展和历史,是对传统知识图谱中静态百科全书信息的补充。
我们描述了我们以事件为中心的表示模式、从新闻中提取事件信息的挑战、我们的open source pipeline以及我们从四个不同的新闻语料库中提取的知识图谱:常规新闻(Wikinews)、国际足联世界杯(FIFA world cup)、全球汽车工业和空客A380飞机。此外,我们还评估了流水线方法在抽取知识图谱三元组时的准确性。此外,通过一个以事件为中心的浏览器和可视化工具,我们展示了如何以事件为中心的方式从新闻中获取信息,从而增加用户对领域的理解,促进新闻故事线的重建,并能够对新闻隐藏的事实进行探索性调查。
由于在搜索引擎中的应用,知识图谱在过去几年里越来越受欢迎。知识图谱是以实体为事实的知识库,通常从结构化知识库或百科全书知识库中获取。例如,给定一个名人,知识图谱中通常包括他的出生日期、出生地、亲属以及使他成名的重大事件和活动等信息。然而,只有一小部分世界上正在发生的事情能真正进入这些数据库。有很多事件被认为不够重要,不足以被包括在内,或者可能不与这些名人有联系。此外,当前的知识库倾向于表示世界的实际状态,而不关注动态和随时间的变化。 在日益增长的日常新闻中,越来越多的流动信息往往会迷失在当前的知识图谱和我们逐渐消失的记忆中,但对于那些需要重建某人过去或整个行业、地区或组织的庞大历史的信息专业人员来说,这一点非常重要。因此,需要一种不同类型的结构化数据库,围绕事件而不是实体和以实体为中心的实际事实。获取这种动态知识需要将事件视为存储知识的单元,而不管相关人员的名声如何。
在本文中,我们提出了一种方法和一个开源工具包,可以自动地从英语、西班牙语、意大利语和荷兰语的新闻文章中构建这种以事件为中心的知识图谱(ECKGs)。我们将以事件为中心的知识图谱定义为一个所有信息都与事件相关,知识通过这些事件获得时间维度的知识图谱。在传统的KG中,信息通常以实体为中心。然后可以找到RDF三元组(主语、谓语、宾语),其中主语和宾语通常是实体,有关事件的任何信息通常都是通过谓词捕获的。在ECKGs中,三元组的主题通常是与实体相关并与时间绑定的事件。这将使专家们能够通过共享事件重建历史和跨越许多不同的人和组织的网络。动态趋势和区域变化可以从实例抽象和时间方面进行推理。
考虑以下保时捷公司的例子。在DBpedia中,保时捷公司的条目提供了一些三元组,说明它是什么类型的公司,它生产什么样的汽车,它拥有什么样的管理层,等等。它没有列出交易的历史、市场事件、管理层的变化,也没有列出较长时间内的成功和失败。 2015年10月15日,维基百科对同一家公司的条目用自然语言给出了一段简短的历史,包括它是如何在2009年被大众汽车完全收购,但在2013年通过从卡塔尔控股公司(Qatar Holding)回购10%的股份,在大众汽车集团内部获得了100%的投票权。在DBpedia中,这个历史记录没有被表示为结构化数据。如果我们下一步看看卡塔尔控股公司的维基百科页面,我们还会发现自然语言文本中的一段简短历史,而在相应的DBpedia条目中,它没有被表示为结构化数据。有趣的是,卡塔尔控股的历史提到,它目前仍持有大众汽车集团和保时捷约17%的股份。报告中没有提到这10%的股份在2013年被出售回保时捷家族。显然,这一事件对保时捷SE的历史意义重大,但对卡塔尔控股历史而言却不重要。由于事件是我们ECKG中的中心(类似于许多其他KG中的实体),因此这些买卖事件都表示为单个事件,其中保时捷损失了资产,而卡塔尔控股则收购了资产,无论两家公司的看法如何 及其与任何一个的相关性我们让用户在时间、地点和参与者周围对事件进行排序,从而从新闻报道的所有事件的完整表现中重建故事情节或历史。
从表示的角度来看,在我们的ECKGs中,每个事件都是我们知识图谱的一个节点,并由一个URI唯一标识,在这个URI上可以通过三元组断言各种属性。这提供了事件的同质表示,与其他资源中发生的事件不同:例如,在DBpedia中,类似的表示只适用于命名的事件,例如http://dbpedia.org/resource/2009_Japanese_Grand_Prix, 而没有确定名称的最小数量的较小事件被这样的属性捕获http://dbpedia.org/property/acquired。
通过利用最先进的自然语言处理(NLP)技术,我们自动提取有关数百万新闻文章中提到的事件的信息,以及事件参与者,时间和地点的信息。所有提取的内容都在ECKG中以语义网最佳实践为基础的结构化表示形式进行组织。此外,这些信息链接到可用的链接数据资源(例如,只要有可能,参与事件的实体都链接到其DBpedia引用,否则将创建我们知识库中的实体实例)以及被提取的文本出现的位置。识别出事件并将事件锚定到时间最终会导致长期发展和故事情节的表现,其中事件通过诸如因果关系或并发关系之类的桥梁关系而联系起来。这些“历史”是根据新闻的变化而不是传统知识图谱中的静态属性和事实重新构造而成的。
为了构建一个ECKG,我们确定了四个主要的信息抽取挑战:(i)在形式语义ECKG模型中正确地建模文本中信息的表达和表达式的引用值;(ii)根据ECKG数据模型正确地提取和解释新闻文章中包含的信息;(iii)将提取的信息链接到已建立的链接数据知识库(例如,DBpedia);(iv)建立实体和事件在不同来源间不同表示的引用标识,(例如,不同新闻文章中提到的同一实体或事件),可能使用不同的语言。
我们的方法解决了所有四个挑战,如我们在几个不同领域构建的四个知识图谱所示。从文本语料库中,我们构建了我们的ECKGs,范围从几百到数百万条新闻文章。我们流水线模型中的各个模块的性能都达到或超过了当前自然语言处理技术的最新水平。我们的ECKGs可以用来回答使用传统KGs或未经处理的源文档很难回答的查询,这是当前信息专业人员的事实标准。据我们所知,我们是第一个从大型非结构化新闻文章文本集合自动构建ECKGs的公司。此外,我们的方法还可以跨语言工作,可以集成从不同语言中提取的ECKGs。
本文从ECKGs的角度,结合了NewsReader项目的一些文章中的贡献。这些贡献包括:
论文结构如下。在第2节中,我们描述了背景和相关工作。在第3节中,我们将描述如何对提取的信息进行建模。在第4节中,我们将描述我们的流水线模型。在第5节中,我们描述了我们的四个用例,即通用新闻、国际足联世界杯和全球汽车工业,以及有关空客A380的不同语言的新闻文章。在第6节中,我们报告了用我们的方法自动创建的ECKGs的准确性的第一次评估。在第7节中,我们将介绍使用SynerScope工具的以事件为中心的信息访问,并报告ECKGs支持的其他应用程序和调查。在第8节中,我们将讨论我们的方法和结论。
知识图谱(KG)被广泛用于增强搜索引擎(例如Google知识图谱,Microsoft的Satori)提供的结果。 这些KG通常由结构化数据存储库提供支持,例如Freebase,DBpedia,Yago和Wikidata(它们本身也是KG),传统上它们都集中于百科全书的事实和知识。 包含一些信息,例如某位名人的姓名和/或姓氏,出生日期和地点以及她的专业活动。 动态信息,例如新闻中报道的涉及该人的最新事件,通常不会捕获到这些资源中,因此大多数知识图谱都会丢失这些信息。
这部分是由于缺乏提供关于事件的结构化内容的资源。事实上,只有少数描述事件的链接数据资源可用:Last.FM和EventMedia.Last.FM是的RDF版本的Last.FM网站,包含有关事件,艺术家和用户的信息。EventMedia是三个公共事件目录的集合(last.fm,eventful and upcoming)和两个媒体目录(flickr、YouTube)。事件用LODE本体表示,而媒体用W3C本体表示,用于媒体资源。它与DBpedia、Freebase、geonames相连,还包含链接MusicBrainz, Last.fm, Eventful,Upcoming,and Foursquare的许多相关网页。在生物医学研究领域,知识库例如Bio2RDF和openphacts已经出现。然而,这些资源是从已经结构化的数据中构造的,而我们的ECKGs是从纯文本源构建的。我们的方法的不同之处在于它可以处理任何新闻文章,因此不受特定网站或领域的限制。
在过去的几年中,支持知识图谱自动构造的研究兴趣日益增加,尽管这方面的大部分工作都致力于开发统计模型,以推断关于图谱中实体的新事实。一些著名的项目已经被提议从半结构化的资源中提取知识库,比如Wikipedia,但提取的信息集中于收集实体周围的事实,而不是事件。在Ontos News Portal,人、组织、地点以及关于这些实体的一些事实都是从新闻文章中自动提取出来的。Ontos News Portal不同于我们的方法,因为事件提取没有被明确地处理,并且只有浅层的自然语言处理技术被应用于提取内容,从而导致按主题和实体对新闻故事进行浅层分组。[9]提出了一种围绕故事组织新闻报道的方法,这意味着事件的发生,但是该过程依赖于新闻报道序列中单词和短语的共现,而不是深层的自然语言处理(NLP)技术,并且不会产生作为结果结构的知识库,但构成故事的一系列新闻文章。EVIN是一种从新闻文章中自动提取命名事件的方法,而在我们的方法中,我们对文本进行了更深入的分析,以提取文本中提到的任何类型的事件,也包括那些没有获得正确名称的事件。
从新闻文章中自动提取事实和事件通常是使用更先进的NLP技术来解决的,称为开放式信息提取系统,不针对特定类型的事件、实体或领域进行调整。这类系统的例子有TextRunner和NELL。对文本的正确解释需要检测事件的提及和在这些事件中起作用的参与者,包括时间和地点的表达。[13]首次证明了语义角色标记(SRL)在信息抽取中识别事件框架的适用性。[14] 根据TimeML[15]的定义,提出了使用语义角色来提取事件及其关系。SRL还被用于从Wikipedia中提取事件[16],构建一个开放的信息抽取器[17],并从Web中挖掘基于事件的常识知识[18]。XLike项目[19]可能是最接近NewsReader项目的。在这个项目中,从几种语言的新闻文章中提取信息,并转换成通用的语义表示。然而,与我们的方法不同的是,相似的新闻文章被聚类,从而为每个获得的聚类提取一个具有代表性的宏事件。在NewsReader中,我们对事件执行更细粒度的提取,机器读取每一篇新闻文章,从而识别其中的事件(可能有多个):这使得我们能够捕捉到一些事件,尽管在某些标题中没有提到,但对于在专业决策环境中采取明智的行动可能是至关重要的。
已经有了将NLP处理的输出转换为语义Web格式的工具,其中最突出的工具是nlp2rdf和Fred[20]。我们的方法不同于这些工作,因为在执行高级NLP流水线处理之后,我们执行一个额外的跨文档跨语言集成步骤,从文本提及转移到实例。这个额外的步骤超出了上述工具目前提供的功能。我们的方法的另一个好处是,我们的实例表示允许我们在许多不同的源中聚合信息,甚至可以用不同的语言来显示这些来源之间的互补性和差异性以及所提供信息的来源。
我们的方法将在第4节中介绍,在第3节描述了以事件为中心的知识的表示模式之后。
ECKG中以事件为中心的数据旨在通过在时间和地点锚定事件并将其与实体链接来表示长期发展和故事情节。事实上,下面[21]我们将事件定义为发生的事情,包括四个部分:
同时,我们使用的表示模式需要将这些数据与事件的详细表示联系起来,这些事件是对文本进行深入语言分析的结果,积累来自不同来源和时间的关于同一事件的信息。我们认为世界的变化和对这些变化的新闻报道都是不完全一致的。事件知识通常在许多不同的新闻文章中传播。随着时间的推移,人们提供了更多的信息,或者对世界事件的看法也在发生变化。例如,第一篇报道卡塔尔将其10%股权出售给保时捷家族的新闻文章没有提及转移的金额。当知道这一点后,它将在稍后的时间点在更新信息的其他文章中发布。因此,为了获得事件的全面描述,我们需要能够从许多不同的来源收集关于同一事件的所有信息,这些来源相互补充,但也可能相互矛盾。除了确定这些来源报告同一事件(事件标识)外,我们还需要收集新的信息并表示冲突。
考虑到这些目标和文本中信息的广泛变化,我们为我们的表示模式建立了以下功能需求:
在本节中,我们将描述如何使用Grounded Annotation Framework(GAF,[23])和Simple Event Model(SEM,[24])来表示与上述需求相关的以事件为中心的知识图谱中从文本中提取的信息。GAF和SEM相辅相成:GAF提供了事件和它们被提及的来源之间的链接,SEM对事件本身、参与者、地点和时间进行了建模。第3.1节解释了GAF如何提供一种自然的方法来为满足前四个功能需求的共指和出处信息建模。在第3.2节中,我们将说明SEM的简单性和灵活性如何满足最后三个要求。
第3.1节和第3.2节中的解释使用以下示例进行说明,包括不同文章在同一日期发表的两篇文章标题:
图1提供了一个简化的说明,说明如何在我们的模型中解释这些标题。图2提供了提供相同信息的RDF三元组的一部分。图1和2表示对句子进行完美分析的结果,旨在说明我们模型的结构。第4节将讨论这种完美解释与实际输出之间的差异。
ECKG模型的主要特性之一是,我们在代表事件和世界上其他实体(可能存在或不存在以及可能发生或未发生)的实例与提及(在我们的案例中表示引用这些事件和实体的表达式)之间进行了清晰区分。 Grounded Annotation Framework(GAF,[23])允许我们通过gaf:denotedBy
关系指出哪些提及是指特定实例。 我们将使用我们的示例来解释区别。
我们的两个例句表达了相同的事件:保时捷(或保时捷家族)从卡塔尔购买保时捷股份。该事件由图1中标记为#Ev2
的实例表示。示例1中的buy
和示例2中的sell
都引用了此事件。这表示为gaf:denotedBy
表示从实例#Ev2
到源文本中的单词buy
和sell
。图2第13行中的三元组显示了这种关系是如何用RDF表示的。通过GAF将两个提及链接到同一个实例直接反映了它们都引用了同一个事物,即GAF提供了一种自然的方法来建模共指[23]。同样的原则也适用于活动的参与者和时间。这个gaf:denotedBy
表示为了简化,已经从图像中省略了参与者和时间,但是在图2中的RDF示例中可以找到对应的三元组。16行和17行链接dbpedia:Porsche
到文本中的标签和单词提及,第20行和第21行提供了10%股权的信息,第24和25行为卡塔尔控股公司,第29和30行表示事件发生的时间在哪里提到。查询包含URI的三元组,而不管它是表示事件还是其他实体,因此提供了关于在语料库中标识的这个实体的所有信息的汇总概述。
因为我们还想准确地表示每个消息源对事件的描述,所以我们将事件与其参与者之间确定的关系链接回源。这比将实体链接到一个提及稍微复杂一些,因为(1)我们必须将三元组链接回其源,而不是一个简单的URI;(2)概念之间的关系通常由单词之间的关系而不是简单的表达式来表示。因此,我们将标识符分配给我们在文本中识别的单词之间的语言关系。gaf:denotedBy
关系指出文本中的哪种语言关系表达了两个实例之间的语义关系。在RDF中,有几种方法可以对三元组进行声明。在我们的模型中,我们使用RDF1.1[25]中引入的named graphs。
语句基于共享出处放置在同一个named graph中。表示事件和参与者之间关系的语句通常会以自己的命名图结束,因为特定的语言关系通常只表示事件和参与者之间的一种关系。在我们的示例中也是如此:购买事件与其参与者之间的关系都是在单独的命名图中,其中只包含有关这些特定关系的信息。举例来说,dbpedia:Porsche
和#Ev2
表示命名图,该图也由图2中第39-44行中的三元组描述。保时捷与该事件之间的关系用第(1)句中“buy”和“Porsche family”之间以及第2句中“sell”和“founding family”之间的两种语言关系表示,分别标记为t#char=0,19
和a#char=14,61
。gaf:denotedBy
将命名图连接到这些提及。在图2的第63和64行中可以找到RDF中的等效信息。
GAF允许我们满足表示模式的前四个要求,即定义事件、实体、时间和地点之间的标识(通过引用同一URI的替代提及),它允许我们处理互补和冲突的信息(信息在实例级别聚合,但在提及级别上进行了适当的分离),并提供了出处信息(它将信息链接回提到它们的新闻文章)
上一小节解释了我们如何满足表示模式的前四个功能需求。其余的需求与我们如何在模型的实例级别表示事件及其关系有关。
我们使用Simple Event Model(SEM[24])的扩展版本(SEM+,如[27]),作为事件建模的基础。SEM是最灵活的事件模型之一,它很容易适应不同的领域,因此它是适合我们目的的候选模型。SEM提供了一个通用框架来表示谁在何时何地做了什么,满足了我们的表示模式的第五个要求。这些一般关系与更明确的关系是相容的。因此,我们可以很容易地用满足需求6的其他本体的信息来扩展SEM表示。此外,我们还可以使复杂事件与其子事件之间的关系明确化,并表明因果关系。事件之间的时间关系通过它们的关联时间来建模。
我们的流水线模型从文本中提取的信息比SEM+提供的通用模型要详细得多。我们的NLP管道,如第4节所述,还将事件链接到FrameNet框架[28]和事件和情境本体(ESO)[29]中定义的类。FrameNet以框架语义理论为基础,对事件及其参与者进行描述。在我们的例子中,活动与其参与者之间的FrameNet关系表明,保时捷是买家,卡塔尔控股是卖家,而SEM没有区分每个参与者所扮演的确切角色。经理股票期权关系模型反映了事件发生前后的情况差异。在我们的例子中,卡塔尔控股公司是所有者_1,即在出售之前的所有者。保时捷是所有者_2,它是指事件发生后的所有者。ESO为所有权发生变化的所有事件(例如偷窃、购买、捐赠)提供此信息。如果买卖事件不是同一事件,或者一个消息来源声称某物被购买,另一个来源声称它被盗,ESO允许我们推断,在这两种情况下,一个对象开始于所有者A,结束于所有者B。我们在RDF中的形式化表示允许我们将信息链接到本体论,例如满足第七个需求的ESO。
在下一节中,我们将描述在文本中识别事件和参与者提及的过程,以及我们如何确定哪些提及指向同一实例。
图3显示了我们的处理流程的示意图。 我们的数据处理方法有两个主要步骤:文档级的信息抽取和跨文档的事件共指。 文档信息提取步骤由自然语言处理(NLP)管道执行,该管道从文本中提取事件,人物和位置的提及,并解析时间表达式。 文档级处理为每个提及生成解释,并将结果存储在所谓的Natural Language Processing Annotation Format(NAF,23 [30])中。 每个新闻文章都表示为单个NAF文件。跨文档事件共指处理将读取所有NAF文件以获得新闻流,并将提及内容明确化为实例,并通过GAF链接有效地在文档(NLP)和实例(SW)级别之间形成桥梁。 根据GAF和SEM模式,第二步的输出为RDF-TRiG格式,如第3节所述。
在本节的剩余部分中,我们将在我们的管道中解释这些步骤,并在结束时详细介绍我们的实现。
信息提取管道从报纸文章的原始文本中提取实体和事件[31]。处理链由几个执行所需步骤的NLP模块组成,如下所述。整个系统包括英语、西班牙语、荷兰语和意大利语的管道。显然,每一个管道都依赖于一组非常不同的语言模块,这些模块适应于在一种语言中执行特定的任务。目前,英语管道由15个模块组成,西班牙管道集成11个模块,荷兰管道由14个模块组成,意大利管道由来自TextPro的11个模块组成。
这些模块采用了一种简单而众所周知的以数据为中心的体系结构,其中每个模块只要读取并生成所需的数据格式,就可以与另一个模块互换。这种以数据为中心的方法依赖于NAF:一种表示语言注释的交换格式。NAF是从KYOTO Annotation Framework(KAF,[32])演变而来的,它符合Linguistic Annotation Format(LAF,[33])。它是一种在多个层次上表示语言分析的独立分层格式。为了便于处理和跟踪系统的出处,我们使用NAF格式在原始文本中标记标题和发布日期等元数据。此外,管道中的每个模块都向报头添加一个元素,表示所使用模块的版本、时间戳以及对从文本中提取的信息进行编码的层。
由于英语是本文的重点,我们在这里描述英语管道。关于这条管道以及西班牙、荷兰和意大利管道的更多细节可以在[34]中找到。信息抽取处理从tokenizer开始,它将文本分成句子和单词。Part-of-Speech tagger将类型信息添加到每个单词,例如,指示它是名词还是动词。Multiwords tagger检测WordNet中的多字表达式,部分地解决了歧义。这些模块都是基于ixapipes[35]。Word Sense Disambiguation模块根据上下文对单词的不同意义进行排序。然后,Named Entity Recognizer(NER)检测命名实体并尝试将它们分类为人名、地名、机构名或其他名称。Named Entity Disambiguation(NED)模块尝试根据知识库(在本例中为DBpedia)解析命名实体,以便将它们链接到实体实例。该模块之后是Opinion Miner,它用于检测意见(对某事有积极或消极的情绪),意见持有者(有意见的人)和意见目标(关于什么的意见)。 Syntactic Parser的目的是检测句子的句法结构,例如子句的主语和宾语。Semantic Role Labeler(SRL)检测谓词的语义参数,例如,who is the agent in How far can you go with a Land Rover?。Nominal Coreference Resolution 和 Event Coreference Resolution模块分别计算文档中哪些实体和事件是相同的。然后,Time and Date Recognizer检测时间表达式,以便通过Temporal Relation Detection模块将事件组织在时间轴上,并通过Causal Relation Detection模块进行因果链接。最后,使用Factuality Detection来确定哪些事件已经发生或可能发生,哪些事件被否认或以推测的方式提及。
除了基于第三方工具的SRL和NED模块之外,这些NLP模块都是在NewsReader项目中开发的。我们对这些工具的修改是为了使它们与NAF format一起工作。SRL模块基于MATE工具[37],这是一个用于依赖解析和语义角色标记的最新系统。NED模块基于DBpedia Spotlight[38],一个通用的wikification系统。我们对DBpedia Spotlight进行了调整,只考虑命名实体的引用,并配置了该工具以使用整个文档作为消歧上下文。下面将更详细地描述这两个模块。
对于NLP模块的评估,我们提供了一个有助于自动化评估过程并确保结果再现性的软件包。 NLP模块已在标准基准数据集和新闻文章(基于Wikinews)上手动注释的黄金标准上进行了评估,其性能可与或超过最新水平。对四种语言中所有模块的评估的详细分析不在本文的讨论范围之内,评估程序和结果的完整描述见[39]。在本节的其余部分中,我们将重点介绍NER、NED和SRL任务的性能,因为它们是从文本中提取事件和参与者的关键组件。 我们将报告他们的评估数字,并根据第3节中的例句详细说明他们的表现,即“卡塔尔控股公司向创始家族出售10%的保时捷股份”和“保时捷家族从卡塔尔回购10%的股份”。这两句话说明了如何以不同的方式打包相同的事件数据,这对我们的软件检测身份是一个挑战。当执行得很好时,处理应该会导致两者都有一个RDF表示。
命名实体识别与消歧
在这两个示例中,Named Entity Recognizer正确地将卡塔尔控股、保时捷和卡塔尔归类为组织,但Named Entity Disambiguation模块无法正确消除实体提及卡塔尔的歧义。在第一个示例中,它正确地将实体提到链接到dbpedia中的实体http://dbpedia.org/resource/Qatar_Investment_Authority (confidence 1.0) )和http://dbpedia.org/resource/Porsche (confidence 0.99)。
在第二个示例中,它正确地消除了Porsche实体与http://dbpedia.org/resource/Porsche的歧义。但是,虽然可以理解,但它未能将卡塔尔与卡塔尔投资管理局联系起来,也没有将其与http://dbpedia.
org/resource/Qatar 链接起来。
在标准基准数据集(conll2003[40])以及在NewsReader中创建的特定领域语料库上评估我们的命名实体识别器时,我们的系统在CoNLL 2003数据集上的F1score为90.2,NewsReader语料库的F1score为68.67,优于当前最先进的系统,如[41]和[42]。
对于命名实体消歧,我们根据CoNLL/AIDA[43]和TAC 2011基准以及我们的NewsReader语料库评估了我们的系统。在CoNLL/AIDA上,我们实现了79.67的精确度和75.94的召回率。在tac2010上,我们实现了79.77的精确度和60.68的召回率。在NewsReader语料库中,我们得到了68.58的f1分数。
语义角色标记
Semantic Role Labeler 分别用PropBank概念[44]和谓词sell.01和buy.01注释事件sell和buy。除了这些PropBank概念,模块还可以添加更多的类,这些类可以在谓词矩阵(v1.1)[45]中使用。谓词矩阵是一种新的词汇资源,它集成了多种谓词信息源,包括FrameNet[28]、VerbNet[46]、PropBank[44]、WordNet[47]和ESO[29]。尽管这个资源还远未完成,但它包含的对齐比SemLink[48]多得多。
谓词矩阵中概念的丰富提供了跨不同谓词模型和不同语言的语义互操作性。例如,在图4中第一个句子的表示中,谓词矩阵将sell.01指定给PropBank中提到的谓词,以及对其他来源的外部引用,例如VerbNet class give-13.1和subclass give-13.1-1,the FrameNet frame Commerce_sell, the Word-
Net synset ili-30-02244956-v and ili-30-02242464-v and the ESO type Selling.。根据语义角色标记系统,Qatar Holding是A0的销售事件。根据谓词矩阵,此参数对应于VerbNet role Agent、FrameNet Seller和ESO possession_owner_1。同样,保时捷10%的股份是A1,而创始家族则是出售事件的A2。在谓词矩阵中,第一个角色对应于 VerbNet Theme或FrameNet Goods,第二个角色对应于VerbNet Recipient、FrameNet Buyer或ESO possession_owner_2。
在图5中,Semantic Role Labeler将buy.01分配给来自PropBank的谓词“buys”,以及对VerbNet class get-13.5.1、the FrameNet frame Commerce_buy, the WordNet synset ili-30-02207206-v and ili-30-02646757-v and the ESO type Buying的外部引用。它也将Porsche family诠释为购买活动的A0级。根据谓词矩阵,此参数对应于 VerbNet role Agent、FrameNet Buying和ESO pos-session_owner_2。同样,10%的股份是A1,卡塔尔的A2是收购事件。在谓词矩阵中,第一个角色对应于VerbNet Theme或FrameNet Goods,第二个角色对应于VerbNet Source和FrameNet Means。
在这种情况下,语义角色标记器能够从两个截然不同的句子中提取相似的语义表示。在这两种情况下,目前的英语管道已经非常接近于完全认识到从两种不同角度表达的同一事件。也就是说,保时捷家族从卡塔尔购买保时捷10%的股份。这个表示中的元素组合在一起形成RDF中的语义表示,我们将在下一节中讨论。这仍然是一个挑战,因为角色的标记、谓词的含义以及角色和实体的跨度仍然需要以某种方式匹配。
在CoNLL2009[49]标准基准数据集上评估语义角色标签器时,我们得到的f1分数为84.74。
NLP对文档的处理产生对以NAF表示的单个文本源(即文档)的解释。 文本被视为由各种模块描述的token序列。 在这样的序列中,可以多次提及相同的事件和相同的实体。 关于每个提及的信息可能是不完整的:一个句子可能提及事件的时间和地点,而另一句话可能指明所涉及的参与者。 如果我们考虑大量的文本来源,我们还会在这些来源上找到许多相互重叠且相互补充的引用:今天的新闻提到了受害者,明天的新闻揭示了是谁做的。 为了从NAF中的这些基于提及的表示形式转变为SEM中的实例表示形式,我们经历了解决跨提及共指的许多步骤(有关方法的详细说明,请参见[50])。
NLP模块已经在文本中标识实体,并在可能的情况下为每个实体分配一个URI。实体共指模块使用可用信息来确定哪些实体引用同一实例,但也解析回指表达式。同样地,我们可以找到实体的参与者关系,不仅在直接引用实体名称的情况下,而且当实体以不同的方式被提及时,也可以找到实体的参与者关系。每个实体URI用于表示唯一的实体实例。如果这些实体与共指集重叠,那么在同指集中的所有提及都将作为引用添加到实体实例中。 如果我们有一个唯一的URI(例如dbpedia.org/resource/Porsche),它将用于标识实体,否则,我们将从引用该实体的单词(例如,data/cars/entities/Richard_Aboulafia)中生成一个URI。 未被检测为实体但仍发挥重要作用的短语被表示为所谓的非实体。URI也是基于表达式的,并与实体区分开来,例如。nwr:data/cars/non-entities/10+%25+stake+in+Porsche。跨文档的实体实例可以共享相同的URI,而不管它们是基于外部LOD资源还是通过新生成的URI。它们在RDF-TRiG中得到一个单一的表示gaf:denotedBy
:由链接表示去 NAF文件里提到他们的所有地方。对于每个实例,我们还提供由NLP模块检测到的表达式作为标签。
在本小节的其余部分中,我们将展示如何生成Porsche–Qatar示例的不同实例表示。
实体链接
第12-13行表明,对保时捷的不同提及已通过gaf:denoted
合并成一个单一的表示形式:通过链接到两个来源的字符偏移,而卡塔尔和卡塔尔控股(第8-9和16-17行)由于实体链接恢复的不同DBpedia URI未被合并。通过URI,我们可以访问DBpedia中可用于这些实体的任何背景知识。 此信息在RDF-TRiG表示中不再重复。 实例事件中涉及的其他概念可以表示为所谓的non-entities,,其中该软件无法将 founding family映射到Porsche family或Porsche:
请注意,我们创建了一个域(nwr:data/cars/non-entities)对于处理的每个数据集。这意味着相似的短语可以成为跨资源的核心,但我们不能进一步解释这些概念。因此,我们无法区分10%的股权。我们还发现,描述上的微小差异(例如10 % stakeversus10pc)已经导致了不匹配。对于这些概念,除了标签,我们没有任何进一步的知识。进一步解释这些概念仍然是一个挑战,我们打算在今后的工作中处理这些概念。
日期和时间
NAF中的文档创建时间和任何规范化的时间表达式在RDF TRiG中使用owl-time词汇表示为实例:
在这些示例中,第7行的dct表示文档创建时间,第10行和第16行的dctm表示源中提及的文档创建时间。我们在这里看到,我们两个例子的文档创建事件都获得了一个不同的URI,但是引用了相同的URI时间:time:inDateTime
。此外,我们还展示了一个在Wikinews文章中出现的时间表达式月份的表示,该表达式已经被规范化为另一个时间:time:inDateTime
值:200802。这个时间:time:inDateTime
值根据owl时间得到单独的表示,以便随着时间的推移进行推理。
事件链接
至于实体和时间,我们需要为事件创建实例。但是,对于事件,我们(通常)没有外部URI。事件是无形的,所以在事件之间建立标识是一项困难的任务。我们采用的方法是以事件的组成为出发点[51]。组合性原则规定,事件不仅由行为(或关系或属性)定义,还由时间、地点和参与者定义。为此,我们使用一种算法来比较所有这些属性的事件。
我们首先在同一个文档中跨事件建立共指关系。以语义角色标签层的谓词为出发点,将WordNet中所有引理相同或相似度得分高于2.0[53]的谓词链接到同一个共指集中。这表示同一文档中事件的实例。我们假设所有参与者信息和时间锚点分布在文档中对同一事件的不同提及。然后,我们通过聚合来自同一源中所有相关提及的参与者和时间表达式来创建所谓的复合事件对象(CEO)。事件的参与者基于相同来源中检测到的实体的RDF实例表示,因此在整个文档中也可以有不同的提及。它们在文档中的提及与谓词的角色范围相匹配,以确定实体在事件中扮演了什么角色。最终的CEO是SEM对象,具有事件、参与实体(和非实体)及其时间锚定的RDF实例表示。我们根据时间锚定将每个NAF文件的CEO存储在时间描述文件夹中。因此,单个NAF文件可以具有存储在不同的时间描述文件夹中的多个CEO。请注意,没有显式规范化时间锚定的事件将链接到文档创建时间。
在第二步中,我们比较来自同一个时间描述文件夹的所有CEO,以建立跨文档的共指。我们已经知道这些事件有相同的时间锚。根据以下标准匹配CEO:
CEOs的匹配可以很容易地进行调整,以获得更宽松或更严格的匹配。例如,我们要求具有演讲者角色的演员参与者应该匹配的言语行为类型的事件,而对于事件的跨语言比较,我们允许事件的WordNet宽松匹配而不是引理匹配。
如果存在匹配,我们将一个CEO的信息合并到另一个CEO的信息中,其中我们保留第一个CEO的唯一URI作为事件实例的标识符。当我们合并信息时,参与者和时间关系作为主题的共享URI。由于一个CEO可能与另一个CEO存在部分差异,因此我们汇总了CEO之间的信息。当它们包含相同的信息时,我们只更新对关系的提及。我们递归地迭代所有需要比较的CEO,直到没有新的匹配出现。这就导致了CEO之间的链,因为CEO的合并为另一个CEO创造了条件。
对于前面讨论的buy/sell示例,我们的系统不生成匹配项,因为标签和WordNet语法集都不同。同样,我们生成以下事件的实例表示:
该表示与实体表示类似,只是对于每个事件实例,我们生成它的URI,并根据我们采用的本体的类来键入它,以便对事件进行推理。注意,更抽象的sell和buy匹配(例如通过FrameNet层次结构)将导致合并。
下一个例子来自automotive语料库,该示例显示系统将通过get、purchase和buy的提及表示的更接近的时间合并到单个事件实例中(第9行),并通过gaf:denotedBy
谓词在两个文档中进行了多次提及(第12行):
一旦事件的identity被建立,我们输出事件实例和参与者之间、事件实例及其时间锚的关系。三元组利用从NAF中选择的角色关系作为属性,事件实例作为主题,实体实例作为对象。这些角色代表了不同的抽象层次(SEM–PropBank–ESO–FrameNet),可以在推理中利用这些抽象级别。例如,第11-42行对应于图4中给出的示例,其中在第18行卡塔尔控股被标识为具有A0角色,这里在第21行用三元组来描述
该表示方法表明,实体和事件的识别对于我们能够实现的表示方法的密度至关重要。遵循更严格的方法会导致与实例提及更接近的不同表示,而更宽松的方法将导致实例及其关系的合并和聚合。在我们的模块中,我们可以改变为每个事件组件获得的相似程度和方法。对于事件提及,我们可以选择用于引用的单词的重叠、WordNet语法集的重叠、WordNet图中synset的相似性、根据使用的其他本体(FrameNet、ESO)的相似性,或者单词嵌入之间的相似性。我们可以使用这些方法的组合,并改变阈值。在参与者的例子中,我们可以使用单词重叠、URI标识以及位置或时间表达式之间的meronymy关系。此外,API允许您选择需要匹配的事件-参与者关系的数量和类型。需要非常丰富和特定的FrameNet角色来在CEO之间进行匹配,这将产生高精度的输出,但是合并很少。我们正在通过经验和应用程序驱动的评估来研究最佳粒度级别。最佳设置可能因不同类型的文本而有所不同(在表达上或多或少有差异,在隐喻性方面则更少或更多)
表示方法的另一个重要方面是关系都嵌入到命名图中,请参见第3节。通过为所述关系创建uri,可以表达关系的各种属性。例如,这用于表示关系的出处,如下所示,其中系统生成了GAF链接,这些链接指向由命名图标识的关系:
除了这些GAF链接,系统还可以生成与来源作者和所有者的来源链接。
文本解释的RDF表示被加载到KnowledgeStore中(见第4.4节),它允许存储和查询ECKG。
如前几小节所述,我们的处理结果是实体实例和规范化时间表达式的语言中立表示。例如,荷兰语和西班牙语的实体链接为特定语言的DBpedia资源和英语DBpedia资源生成uri。此外,不同语言之间对谓词分配的角色也进行了协调。唯一剩下的就是事件的表现。为此,我们可以依赖于在英语、荷兰语和西班牙语中共享的WordNet语法集标识符。因此,我们的软件可以提取来自英语、西班牙语和荷兰语文本的NAF文件,并执行与第4.2节所述的跨语言事件提取相同的分析。在这种情况下,具有相同时间锚的事件将与其WordNet语法集相匹配,并且如果有足够的匹配,则合并参与者uri。下面,我们展示一个来自Wikinews数据集的例子,我们为其翻译了英文文章,并由相应的语言处理器处理它们。然后,我们将跨文档解释应用于NAF文件的原始英语文本和荷兰语和西班牙语翻译,以生成统一的RDF输出。
在本例中,第6行显示了来自不同语言的事件提及标签,以及gaf:由链接表示第7行显示不同的提及来源。同样,参与者和地点也被合并,如第9行和第10行所示。
从大量文本(如数百万条新闻文章)中构建ECKGs需要设计能够在大型计算机集群上运行分布式程序的解决方案。为了及时处理所需数量的新闻文章,我们设计并实现了一个NLP管道,该管道通过并行化来增加文档数量。
处理链将运行并部署到一个机器集群中。当前的实现依赖于包含分析文档所需的所有模块的虚拟机(VM)。虚拟化是一种广泛的实践,它可以提高服务器的利用率并解决各种依赖关系和安装要求。此外,它是云计算解决方案的“事实”标准,它提供了在商品服务器上安装许多虚拟机副本的可能性。在我们的体系结构中,所有NLP模块及其依赖项都被安装到单个VM中,然后将其复制并部署到计算机集群中。
我们使用Apache Storm33集成和编排处理链的NLP模块。Storm是一个开源、通用、分布式、可扩展和部分容错的平台,用于开发和运行处理连续数据流的分布式程序。Storm允许使用普通硬件设置具有高可用性的可扩展群集,并通过支持本地内存读取和避免磁盘I/O瓶颈来最小化延迟。Storm的主要抽象结构是拓扑结构,它描述了每个消息经过的处理节点。拓扑被表示为一个图,其中节点处理组件,而边表示它们之间发送的消息。
文档被发送到一个包含所有NLP处理模块的VM,这些处理模块一个接一个地执行。因此,对每个文档的完整分析都是在单个VM中执行的。每个模块接收一个NAF文档,在其上创建注释,并将丰富的NAF传递给下一个模块。部分分析的NAF文档使用NoSQL数据库(mongoDB35)存储和分布在集群机器之间。包含我们的管道的VM的当前版本可从http://bit.ly/1hhvvvc。所有模块均可通过https://github.com/newsreader。我们还开发了一组脚本,目的是为分布式NLP处理自动创建一个完全工作的集群。我们称这些脚本为“从头开始的VM”,因为它们创建和配置所需的虚拟机。这些脚本可以从github存储库获得https://github.com/ixa-ehu/vmc-from-scratch。
源新闻、NAF文件和转换为SEM后产生的RDF内容都会上载到KnowledgeStore36[54,55],这是一个可扩展、容错和语义化的基于Web的存储系统,由于新闻、NAF文档的结构化内容和相应的RDF实体之间的紧密链接,该存储系统和facts,可以联合存储、管理、检索和语义查询结构化和非结构化内容。我们在大约11天内处理了126万篇关于全球汽车工业的文章(见第5.3节)。跨文件参考和转换成扫描电镜9天。
下一节将介绍结果ECKG。
在本节中,我们将介绍使用各种文本源生成的四种不同的以事件为中心的知识图。表1列出了每个ECKG的总体统计数据。在本节的剩余部分中,将通过每个ECKG的一组查询来描述背后的动机、特性和可能的用途。选择这些查询是为了说明与实体或文档中心方法相比,以事件为中心的方法的优势。请注意,每个ECKG还包含从DBpedia获得的RDF三元组的子集:该内容用背景知识事实(例如实体类型、关于实体的一般事实)补充从新闻文章中自动提取的信息,以便在应用程序中利用ECKG。
Wikinews是由维基媒体基金会运营和支持的免费多语言开放新闻源。我们选择使用这个源代码,因为它使我们能够跨不同语言链接实体和事件,以及它的广泛覆盖范围。对于英语,我们从2014年1月16日开始清理维基新闻垃圾场。这就产生了18510篇新闻文章,然后我们使用第4节中描述的管道处理这些文章。提取内容的摘要见表1。原始新闻语料库、中间处理结果以及由此提取的ECKG可以下载或通过专门的知识库安装直接访问。
有一件事很难在原始文本或像DBpedia这样的KGs中查询,但在ECKG中可以很容易地查询到的是:哪些实体最常参与巴拉克奥巴马总统也参与的活动?在这里,我们发现,在我们的语料库中,巴拉克奥巴马和另一个实体共被提及59次,希拉里·罗德姆·克林顿41次,民主党31次,美国24次,共和党21次(见图6)。这些信息对于对一个域中不同参与者之间的交互感兴趣的信息专家是有用的。
总的来说,巴拉克·奥巴马参与了语料库中提到的1292个事件:他主要参与声明活动,例如发表演讲(235次)、文本创作(例如签署法案(127次)和请求或要求某事(66次)。
我们在数据集中发现的另一个有趣的例子是提到了由甲壳虫乐队创建的多媒体公司Apple Corps Ltd,它在对计算机公司Apple Inc.的诉讼中败诉。这两个提到的苹果公司被正确地消除了歧义,并与我们数据集中的适当的DBpedia资源相关联。关于该特定事件的ECKG内容的摘录如图7所示(通过公共可用的KnowledgeStore安装访问)。