APP下载

基于语料库的事件知识图谱构建与应用

2021-01-06王先传

关键词:缺省语料库图谱

王先传,彭 亮,郭 伟,魏 澳

(阜阳师范大学 计算机与信息工程学院,安徽 阜阳 236037)

随着互联网的发展,关于客观世界中发生事件的资讯大量地涌现在各种媒体上,如何及时、合理、准确地处理并分析这些海量事件成为研究人员普遍关注的问题。知识图谱将互联网上庞大的知识资源以信息的形式组织在一起,组成了巨大的结构化语义网络系统[1-3],已经演变成一个数据爆炸增长时代下的基础设施。知识图谱关注的是实体以及各实体之间的关系,采用三元组的形式描述实体以及各实体之间的关系,并以图结构的形式对其进行可视化,知识图谱的应用也越来越受到学术界和实业界的广泛关注。

事件是客观存在的,是人类认识和理解现实世界的基本单元[4]。越来越多的研究人员已经认同,人类是以事件为单元进行思维活动的这一观点。实体是静态的,事件是动态的,是比实体粒度更大的知识表示单元,包含的语义知识更丰富。文章以中文突发事件语料库为基础,以事件作为知识表示的基本单元,从语料库中抽取出标注事件的动作、时间、环境、对象以及事件关系等语义信息,然后采用图结构的形式,将事件作为图的结点,事件关系作为边,构建事件知识图谱,并使用Echarts对构建的事件知识图谱进行可视化。最后在事件知识图谱的基础上,进行了事件缺省要素补全的应用研究,以期望为面向事件的理论和应用研究提供理论和技术支持。

1 相关研究

1.1 事件

事件源于认知科学,目前,各领域对于事件的认识还没有达成一致。哲学领域中的学者认为事件是物质世界的具体事实,它随着时间而变化[4]。在语言学领域中,一些学者从事件的语法视角研究事件结构,他们认为事件语义的主要内容是基础谓词,从语义和句法角度,使用句法树解析和表示事件语义信息[5]。在信息和人工智能领域中,主要研究事件结构、事件推理、事件识别和抽取以及事件关系识别和抽取等。

自动内容抽取(automatic content extraction,ACE)评测会议[6]采用状态改变描述事件,将事件分为许多不同的种类,认为事件是有对象参与的,具有时间和空间特征。话题识别与跟踪(topic detection and tracking,TDT)评测会议[7]认为事件是在某个特定的时间、地点中发生的事情,认为事件是经过细化的主题。在三大评测会议:TDT、ACE和MUC(message understanding conference)消息理解会议的基础上,一些学者开展了事件识别和抽取等方面的研究工[8]。目前,模式匹配方法、机器学习方法以及两者相结合的方法是事件识别与抽取的主要方法[9-10]。

同时,一些研究人员将事件作为知识表示的基本单元,在应用方面也开展了一些研究工作。

文献[11]采用无向和有向的网络对文本语义信息进行表示,该网络以事件作为结点,事件之间的共现关系、因果关系等作为边。文献[12]证明了这样的事件网络具有小世界的特点,以此为基础,进行了事件网络中知识约简与匹配方面的研究工作[11-13]。文献[14-15]从事件的角度,进行了中文新闻文本自动摘要的研究,文献[16]对新闻文本中事件多要素信息检索方法进行了研究。

1.2 知识图谱

知识图谱(knowledge graph)[17]概念最初是在2012年由谷歌公司提出,利用图形表示知识发展过程与知识组织之间的关系,用可视化的方法直观地表示了知识资源及其载体。目前,现有的大规模开源知识图谱[18-19],如YAGO、Freebase、Wikidata、DBpedia、NELL、百度知心和知立方等,主要是在百科知识和领域知识的基础上构建的。

从某种意义上说,传统模式的知识图谱与关系类型固定,在一定程度上难以满足事件的多样化描述信息,因此亟需以事件为中心结合语义特征构建事件知识图谱。为了更好地描述事件信息,从而衍生出了事件知识图谱的概念。事件知识图谱[20]中的知识来源于客观世界中的事件以及事件关系,其构建主要是针对特定领域中的事件知识。文献[21]构建了网络社区事件的知识图谱,实验表明,该模型在数据集和实际应用方面都取得了良好的效果。文献[22]研究了事件知识图谱的构建,主要包括事件抽取、事件关系抽取和事件知识表示,并介绍了事件知识图谱在智能问答、决策支持和精准营销等方面的应用。随着机器学习技术的快速发展和计算能力的不断提高,神经网络技术已被应用于构建知识图谱之中,并取得了一定的效果,很大程度上促进了知识图谱的构建和应用。

2 构建事件知识图谱

2.1 CEC语料库

CEC(chinese event corpus)语料库最初是上海大学的刘宗田团队标注构建的,经过后期的优化标注,目前已形成了CEC 2.0版本的语料库[23]。在CEC 2.0中,采用XML语言,标注出了事件的动作、对象、环境和时间要素以及事件之间的关系等语义信息。经过多次扩充标注,目前,CEC 2.0中标注的事件语义信息数量如表1所示。

2.2 基于语料库的事件抽取

这里的事件抽取是指从CEC 2.0语料库中抽取中已标注好的事件的语义信息,包括事件的动作、对象、时间和环境等语义信息。根据XML语言的特征,使用Python程序设计语言从语料库中抽取事件的具体过程如下:

表1 扩充后的CEC2.0中事件语义信息

Step 1:遍历文件夹下的所有文件;

Step 2:获取文档的根节点元素,寻找到其子节点Event;

Step 3:遍历Event节点下的所有子节点,并抽取相应的语义角色和内容;

Step 4:保存从语料库中抽取事件语义信息;

Step 5:结束。

在Step 3中,首先判断事件的要素是否存在,如果存在,则抽取出来,如果不存在,则将相应的内容暂时设置为NULL。

2.3 基于语料库的事件关系抽取

在CEC 2.0语料库中,每个文本中的事件关系已经使用XML语言进行了标注,主要标注了事件之间的因果(Causal)、跟随(Follow)、并发(Accompany)等关系。

使用Python程序设计语言抽取事件关系的具体步骤如下:

Step 1:遍历文件夹下的所有文件;

Step 2:获取文档的根节点元素,寻找到其子节点eRelation;

Step 3:抽取节点eRelation中两个事件的eid以及两事件之间的关系类型;

Step 4:根据抽取的eid信息,在3.2节中抽取的事件中查找对应的事件名称

Step 5:保存从语料库中抽取的事件关系语义信息;

Step 6:结束。

2.4 事件图谱的可视化

本文使用Echarts对事件知识图谱进行可视化。Echarts是一款纯JavaScript的商业级数据图表库,底层依赖叫做ZRender轻量级的矢量图形库,可以兼容主流的浏览器,可以为用户提供满足个性化定制、直观生动、可交互的数据可视化图表,拖拽重计算、数据视图、值域漫游等特性可以使可视化后的事件知识图谱更加直观。

根据上述抽取的事件语义信息以及事件关系,同时为了可视化的运用,把解析出的文件转换成为Json文件来进行事件知识图谱的可视化,具体过程如下:

Step 1:根据事件的主题对事件进行分类;

Step 2:使用数组存储每个事件的语义信息,并使用圆点表示事件,方框表示事件要素,可视化抽取的事件;

Step 3:根据抽取的事件关系,以事件作为节点,事件与事件之间的关系作为边,使用Eharts,连接有关系的两个事件,并在边上注明事件关系类型;

Step 4:连接所有抽取事件关系中对应事件;

Step5:结束。

从CEC 2.0语料库中随机选择一篇新闻文本,采用上述方法抽取事件的动作、对象、环境、时间以及事件与事件之间关系等语义信息,可视化后的事件知识图谱如图1。

图1 事件知识图谱可视化示例

3 事件缺省信息补全

事件的动作、时间、环境和对象要素是客观存在的。人们在描述客观世界中发生的事件时,因自身的语言、知识背景和习惯的不同,针对同一个事件,通常会有不同的描述形式。比如,在一篇新闻文本中,通常在开始部分说明清楚事件发生的环境和时间、在后面的部分中,如果环境和时间相同,则不再进行同样的描述。这样在一篇新闻文本中,有些事件的环境和时间是缺省的,同样地,有些事件的对象要素也是缺省的。对于人类来说,这种缺省的事件知识可能不会影响到正常的交流沟通,但对于计算机来说,它们却是不可或缺的。下面介绍基于构建的事件知识图谱,对这些缺省的事件语义信息进行补全。

(1)事件语义信息补全背景知识

构建的事件知识图谱,包括事件的各要素、事件与事件之间的关系等语义知识。

(2)补全规则

具体的补全规则(部分)如表2所示。

(3)基于事件知识图谱的事件缺省信息补全算法

Input:事件e的动作要素

Output:事件e的缺省要素

Step 1:以需要补全信息的事件e的动作要素为关键词,采用广度遍历的方式,在事件知识图谱中检索该事件,如果存在,则转Step 2,否则,转Step 4;

Step 2:以该事件节点为入度,在事件知识图谱中,检索与该事件有关系的事件,如果存在,则转Step 3,否则,转Step 4;

Step 3:根据表2中的规则优先级,使用相应规则对事件e缺省的要素信息进行补全;

Step 4:结束。

表2 事件缺省要素补全规则(部分)

(4)事件缺省要素补全实例

下面以图1构建的事件知识图谱为例,具体的介绍事件缺省要素信息的补全。

如图1,在这一事件知识图谱中,有3个地震事件,通过语料库中的文本可知,它们是同一个地震事件,但因人们的知识、描述习惯等方面的不同,这三个地震事件的对象要素都是缺省的,因为在人们已掌握的知识中,已经知道地震是地壳的一种振动,当描述地震时,对象要素作为背景知识存在,不再具体说明。其中2个地震事件的时间要素是缺省的,其中1个地震的环境要素、时间要素是缺省的。

首先,以地震作为关键词,在图1所示的知识图谱中进行检索,可以检索到3个地震事件,假设选择缺省要素最多的一个为e3。

其次,以该事件结点为入度,继续检索,则检索到另外两个事件e1和e2,这里假设选择缺省要素最少的一个e1作为e3缺省要素补全的知识源。

最后,使用表2中的规则1,可以得到e3的环境要素和时间要素与e1的环境要素和时间要素相同,并对e3的缺省要素进行补全。

对另外一个地震时间,可采用同样的方法得到其时间要素也与e1的时间要素相同,并对其进行补全。采用上述方法,分别对其余事件的缺省要素进行了补全,补全后的事件知识图谱如图2。

图2 补全缺省要素后的事件知识图谱

4 小结

事件是动态的,事件知识图谱能够反映出客观世界中事件的动态发展过程,本文在中文突发事件语料库CEC 2.0的基础上,首先使用Python程序设计语言对语料库中标注的新闻文本进行解析,抽取事件的动作、对象、环境、事件等要素以及事件与事件之间的关系等语义信息,然后使用Echarts实现了事件知识图谱可视化,最后在构建的事件知识图谱的基础上,采用基于规则的方法,对缺省的事件要素信息进行了补全,并通过具体的示例进行了验证,结果表明,基于语料库的事件知识图谱方法构建是可行的。在后续的研究中,计划进一步丰富事件知识图谱中的语义知识,并在其基础上,进一步开展面向事件的自动问答,知识推理等方面的应用。

猜你喜欢

缺省语料库图谱
绘一张成长图谱
基于“缺省模式”设计平台的控制系统研发模式重塑
《语料库翻译文体学》评介
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
基于COCA语料库的近义词辨析 ——以choose和select为例
关联期待与缺省推理下缺省语境的生成模式
基于JAVAEE的维吾尔中介语语料库开发与实现
观点句中评价对象/属性的缺省项识别方法研究
杂草图谱