彭楚越
(四川大学计算机学院,成都610065)
随着信息技术的飞速发展,人类社会迈入大数据时代,大量网络平台每天都有数以万计的自然语言文本产生,为了精准、快速地从海量的数据中筛选、获取可用信息,信息抽取研究已然成为自然语言处理研究领域的热点分支。事件抽取是信息抽取的重要子任务,目标是从包含事件信息的非结构化的文本中将事件信息以结构化的形式抽取出来。事件抽取可应用于反恐情报收集、新闻自动摘要等任务,结构化的事件信息可进一步应用于事件推理、信息检索、知识库建设等任务,具有丰富的研究价值。事件抽取的研究发展到现阶段以基于神经网络的方法为主,将事件抽取任务转化为事件识别和论元角色分类任务,训练神经网络从标注数据中自动学习分类特征,在事件抽取研究工作中取得了较好成效。本文第一部分对事件抽取的定义作出详细解释,第二部分重点介绍自神经网络方法被应用到事件抽取研究以来的相关工作。
事件抽取可按照是否预先定义事件类型结构(事件类型及每类事件包含的事件角色),分为限定域的事件抽取和开放域的事件抽取。限定域的事件抽取会预先定义好抽取哪些类型的事件,如“袭击”事件、“杀人”事件、“审判”事件等。在定义事件类型的同时,也会定义好每类事件的参与者的角色,如“袭击”事件中包含“袭击者”、“受害者”、“工具”、“时间”、“地点”等事件角色。开放域的事件抽取旨在抽取出所有表达了事件的文本中的事件信息,不需要预先定义事件类型结构。通常在文章不特指“开放域”的情况下,所述的事件抽取都是限定域的事件抽取,本文主要研究“限定域”的事件抽取,下文提及的事件抽取皆指限定域的事件抽取。
事件:在特定环境、特定时间发生,并有若干角色参与的一件事情。
事件提及:包含有事件触发词及若干事件论元的一段文本。
事件触发词:清晰表达事件发生的核心词。
事件论元:在事件中充当了某个角色的实体提及、时间表达、数值表达。
论元角色:事件论元在事件中充当的事件角色。
事件抽取就是从包含有事件信息的非结构化文本中,将事件触发词与事件论元以结构化的形式呈现出来。
事件抽取具体可分为四个子任务:事件触发词识别、事件类型分类、事件论元识别、论元角色分类。前两个子任务可合并为事件识别任务,即识别事件提及中的触发词及其触发的事件类型,后两个子任务可合并为论元角色分类任务,即识别在事件提及中充当了事件角色的论元及其充当的事件角色。
例:假设定义“袭击”事件为待抽取事件类型之一,针对自然语言文本“五名旁观者在格拉斯哥机场袭击事件中受伤”,事件抽取的任务是识别出触发词“袭击”,表达的事件类型为“袭击”,并且识别出事件论元“五名旁观者”、“格拉斯哥机场”,在此袭击事件中充当的角色分别为“受害者”、“地点”。
初期事件抽取的研究主要基于规则匹配或统计分析、人工设计特征的方法[1-5],这些方法或依赖于特定领域的专家对该领域掌握的专业知识,在不同领域之间的可移植性很低,或依赖于人为构建特征工程,工作量大且仍受人类知识局限的影响。近年来,将神经网络应用于自然语言处理任务的研究取得了良好的进展,事件抽取的主流方法也发展为基于神经网络的方法,旨在利用神经网络自动地从训练数据中学习到可用于事件抽取任务的数据特征。本文主要研究基于神经网络方法的事件抽取。
基于神经网络方法的事件抽取按照解决事件识别、论元角色分类这两个子任务的流程又可分为管道式的事件抽取和联合式的事件抽取。管道式的事件抽取将事件识别与论元角色分类两个子任务以先后顺序独立进行。Chen等人[6]在2015年提出的DMCNN(动态多池化卷积神经网络)就是很经典的管道式事件抽取模型,此模型将句子中每个词编码为词嵌入向量,并加入了相对位置嵌入向量作为辅助事件类型分类的特征,在得到句子级别的特征时,与传统CNN(卷积神经网络)普遍采用的最大池化方式的不同之处在于,Chen的方法考虑到了一个句子中可能包含多个事件的情况,采用动态多池化的方式。在事件识别阶段,根据当前待预测的候选触发词的位置,将句子经过卷积得到的特征图进行分段池化,保留每个分段的最大值,这样做可以捕获句子不同部位的突出特征。完成事件识别任务后,触发词的事件类型得以确定,需要填充的事件角色随之确定,再进入论元角色分类阶段,根据触发词与候选事件论元的位置将句子经过卷积得到的特征图分为三段进行池化,将各段池化的结果拼接构成句级特征。
管道式的事件抽取存在错误传播的问题,事件类型识别错误,直接导致论元角色分类错误,且管道式的过程不可逆转,论元角色的分类信息无法对事件识别任务起到辅助作用。联合式的事件抽取对事件识别和论元角色分类两个子任务进行联合建模,利用子任务之间的交互信息达到协同训练事件抽取模型的效果,提升事件抽取模型的整体性能。Nguyen[7]等人在2016年提出将RNN(循环神经网络)运用到事件触发词和事件论元的联合抽取任务中,对事件识别和论元角色分类两个子任务进行联合建模,该模型利用双向的RNN从前到后、从后到前地为句中每个词进行编码,预测当前候选触发词的事件类型时,使用记忆向量记录之前预测出的事件类型,以达到利用事件之间的关联特征辅助后续事件识别的效果,若当前词被识别为触发词,则将当前词与各候选事件论元分别配对进行论元角色分类,在预测当前候选事件论元的角色时,使用记忆向量矩阵记录之前预测出的事件类型和论元角色,以辅助当前候选事件论元的角色分类。Sha等人[8]针对过去神经网络事件抽取模型对句法信息的利用不充分的现象,在2018年提出了DBRNN(Dependency-Bridge RNN,依存桥循环神经网络),若两词之间具有依存句法关联则建立依存桥,在预测当前词是否为触发词及其触发的事件类型时,考虑到与之以依存桥相连的词的编码信息,并为每类依存句法关系学习了权重,在融合信息时采取加权的形式。另外,作者利用张量刻画所有候选事件论元之间的关联特征,以提升论元角色分类的效果。
上述联合式的事件抽取模型均通过共享神经网络底层参数和向量的方式达到联合建模抽取事件触发词和事件论元的目的,但尽管在同一模型中,事件识别与论元角色分类仍存在先后顺序,并非同时进行,如何真正意义上同步实现事件触发词和事件论元的联合抽取,仍是事件抽取研究的难题之一。
基于神经网络的方法依赖大量标注数据,当前用于事件抽取研究的最广泛也是最权威的数据集ACE2005规模较小,只涵盖33个事件类型,且其中超过一半的事件类型的标注实例不超过100个。标注数据的稀缺是事件抽取研究面临的一大瓶颈,而人工获取事件信息的标注数据,对时间和人力资源的消耗亦是巨大的。于是,自动地获取更多标注数据成为事件抽取的一大研究趋势。Liu等人[9]在2016年提出融合框架关系词典FrameNet扩充事件标注数据集,利用现有ACE2005数据集训练ANN(人工神经网络)事件识别模型,识别FrameNet中与ACE2005数据集中定义的33种事件类型存在良好映射的框架类型的例句,得到该例句的候选事件类型,再通过3个约束确定其事件类型,由此构建了基于FrameNet和ACE2005的事件标注数据集。Chen等人[10]在2017年提出将语义知识库Freebase中的CVT看作事件实例,统计每类事件中事件角色被论元填充的频数,计算每个事件角色与事件类型的相关度,选择相关度高的事件角色作为该类事件的关键论元角色,依靠远程监督的方法为Wikipedia语料中包含了某类事件关键论元的句子标注对应的事件类型,由此得到基于Wikipedia语料构建的事件标注数据集。Huang等人[11]在2018年提出将零样本迁移学习的方法用于事件抽取,利用已有标注数据的事件类型的标注数据CNN对所有事件类型结构(包括没有标注数据的事件类型)和事件提及的AMR语义结构进行编码,使事件提及与其所属事件类型的语义结构特征相似度尽可能高而与其他类别的语义结构特征相似度低,从而实现事件提及的事件类型分类,此方法不需要针对新定义的事件类型重新人工标注数据,也能进行对新定义事件类型的识别。
以上工作为解决事件抽取研究缺乏可用标注数据的问题作出了贡献,但不同语种的语料资源和自然语言处理工具的开发差异仍限制着许多事件抽取研究工作的跨语言通用性。
本文首先描述了事件抽取的研究背景、研究意义,接着对事件抽取的相关术语及任务的定义进行了阐述,简要概括了基于规则匹配、特征工程的事件抽取方法的短板,引出基于神经网络方法的事件抽取相关工作,将神经网络事件抽取模型分为管道式和联合式两类进行了重点介绍。基于神经网络方法的事件抽取研究在不断进步,但神经网络方法对大量标注数据的依赖与现有事件标注数据集规模小、人工标注事件数据代价大之间存在的冲突对事件抽取研究的发展形成了不小的阻碍,近年来为了解决缺乏事件标注数据的问题,有学者提出融合外部资源的方法自动地产生事件标注数据并获取了值得肯定的结果,但事件抽取研究仍有很多难题等待着我们去攻克。