APP下载

一种面向生文本的事件同指消解神经网络方法

2019-10-21李培峰朱巧明

中文信息学报 2019年9期
关键词:池化真实性语料库

方 杰,李培峰,朱巧明

(苏州大学 计算机科学与技术学院,江苏 苏州 215006)

0 引言

事件是语义表示的基本单位,描述了在真实世界中发生的事情。同指事件指向了真实世界中的同一个事件,是同一个事件在文档中的不同表现形式。事件同指消解(event coreferecne resolution)用于识别同指事件实例,并将它们聚合形成一个事件链。例1和例2是两个同指事件实例。例1中的触发词“landed”,和例2中的触发词“land”,都指向现实生活中的一个移动(movement)类型的事件,它们被聚合到同一个事件同指链中。事件同指消解在话题探测[1]、信息抽取[2]和问答[3]等领域均有重要作用。

例1ACubanpatrolboatwithfourheavilyarmedmenlandedonAmericanshores.

例2ThesebozosletfourarmedCubanslandonourshores.

相比成熟的实体同指消解,事件同指消解更为复杂。由于事件实例的表示形式非常灵活[4],因而事件同指消解具有挑战性。根据事件实例是否在同一个文档中,可把事件同指消解划分为两大任务,即文档内事件同指消解以及跨文档事件同指消解。本文主要研究文档内事件同指消解。

目前,事件同指消解存在两个主要问题。第一是面向未标注生文本的事件同指消解方法很少。事件同指消解任务[5]严重依赖于事件抽取[6]。事件抽取用于发现文档中特定类型的事件并对事件进行分类。目前,大部分事件同指消解的研究都建立在事件已知(事件类型已经标记)的基础之上,提出的方法需要利用大量标注信息(如事件类型、子类型、时态、极性等),这使得这些事件同指消解方法难以真正应用到现实任务中。

再就是早期的研究通常使用基于概率图模型[7]或浅层神经网络模型[8]进行事件的建模,无法高质量获取事件间复杂的语义信息。在一篇文档中,同指事件实例在语义结构上有着复杂、多变的表达方式,这导致了手工特征以及浅层特征在同指事件消解中的效果不明显。此外,大部分研究仅仅使用单词之间的短距离,这在事件相似度计算中会丢失全局特征,容易得出片面的结果。

为了解决上述问题,本文提出了一个面向未标注生文本的事件同指消解模型,包括事件抽取、事件真实性识别和事件同指消解三部分。相比传统事件已知的事件同指消解方法,本文使用模型发现文档中事件,并进行事件同指消解,只需输入未标注的生文本信息即可得到同指的结果。

本文提出的面向生文本的事件同指消解模型首先通过长短期记忆网络(Long Short-Term Memory,LSTM)和卷积神经网络(Convolutional Neural Network,CNN)模型抽取事件并识别事件的真实性。在此基础上,提出了一种基于注意力池化[9]和门控卷积[10]的事件同指消解模型,能很好地自动抽取事件对特征。在KBP 2015和KBP 2016两个数据集上的实验结果显示,本文的模型均获得了不错的效果。本文的贡献有如下几个方面:

(1) 在事件同指消解中加入事件真实性信息,真实性信息对于判断事件是否同指具有重要作用;

(2) 把卷积池化用于特征的压缩,使得事件在相似度计算的过程中可捕获事件全局特征;

(3) 把门控卷积用于特征编码,将特征映射到高维空间中,便于提取复杂语义特征。

1 相关工作

事件同指消解最早由Bagga[11]等提出,他们在小数据集上做了初步的研究。在事件同指消解的语料库方面,有ACE、ECB、KBP等语料库。ACE语料库中含有599篇文档,包含了8种事件类型以及33种事件子类型。ACE语料库中标注了文档内的同指信息,以及事件的论元、时态、极性等语言学特征。ECB语料库[12]是一个兼具文档内和跨文档事件同指消解语料库,包含502篇文档及43种话题。ECB语料库根据事件的地点、动作、时间以及参与者是否一致来判断事件之间是否同指。TAC-KBP会议中的事件抽取以及文档内事件同指消解评测任务提供了KBP语料库[13]。KBP 2015语料库中含有360篇文档,其中包括8种事件类型和38种事件子类型。KBP 2016语料库的测试集中删除了部分容易识别为同指事件的事件子类型,保留了18种事件子类型。和ACE语料库相比,KBP语料库中没有实体、论元等标注信息,因而在KBP语料库中进行事件同指消解更加困难。

由于事件抽取任务较为困难,早期的事件同指消解通常基于已知事件并充分利用事件的标注属性(例如,事件类型、事件论元、极性和时态等)。Chen[14]等提出了一种基于4种事件属性的事件对分类器,将事件的4种基本属性(时态、极性等)作为同指消解的特征。Liu[15]等使用了大量的标注信息,例如,论元中心词、实体等特征,并加入了触发词前后单词的语义信息、事件之间的距离等手工特征,最后使用SVM进行事件同指消解。由于事件对分类模型没有考虑到全局事件的同指消解,事件对分类结果转化成事件簇的形式时会产生冲突。Ng[16]等提出了图模型聚类的方法,构建以事件为节点的无向图,并将事件同指置信度高于阈值的两个事件相互连接,形成事件簇。相比传统机器学习方法使用大量的手工特征和外部信息,Krause[8]等仅使用了少量的标注特征,基于CNN对句子和触发词上下文进行建模,并通过比较特征之间的余弦距离判断事件是否同指。

以往使用基于概率图的模型或浅层的神经网络模型,大部分都是基于事件已知的事件同指消解,因而无法进行比较。而基于事件未知的事件同指消解由于不能使用标注信息,任务难度更大,因而在这方面的研究相对较少。Peng[17]等设计了一个事件抽取和事件同指消解的管道模型,使用多种向量化方法(如布朗聚类、词向量、依存句法分析等)将事件表示成结构化的事件向量,最后通过比较事件向量之间的相似度来判断事件是否同指。由于管道模型会导致事件抽取的错误在事件同指消解上累积,Lu[18]等使用了基于马尔科夫逻辑网络的联合学习的事件同指消解模型,可在进行事件同指消解时纠正事件抽取的错误。由于都是基于简单的浅层网络,或使用规则的方法进行事件同指消解,因此在事件同指上的效果不佳。本文使用了门控卷积及注意力池化机制对事件进行建模。门控卷积的遗忘门机制优化了信息流动的路径,并带入了时序特征。而注意力池化对特征加权,能够筛选出重要特征,大大提升了事件同指消解的性能。

2 面向生文本的事件同指消解模型

本文面向生文本的事件同指消解框架主要由事件抽取、真实性识别、事件同指消解三个部分构成,如图1所示。事件抽取部分使用多种神经网络模型(例如,BiLSTM(Bidirectional Long Short Term Memory)、CNN、BERT[19])建立语言模型,抽取句子的语言特征,并加入候选触发词及其前后的单词作为辅助特征,用于判断该候选触发词是否属于定义的事件,并预测其事件类型。

图1 面向生文本的事件同指消解框架

真实性识别用于判断事件的真实性。事件的真实性有三种: 真实发生的事件,泛指类事件以及其他事件。其中,其他事件是指不能确定发生的事件。如以下例子所示。

例3Thetroopsareattackingthecity.

例4Weaponsalestoterroristsareaproblem.

例5Heplanstomeetwithlawmakersfrombothparties.

在真实事件中(例3),句子中的触发词通常会带有进行时或过去时(如例3中的are attacking)来表达一个真实发生的事件。而在泛指类事件(例4)中,通常没有特别复杂的时态,描述普遍存在的通用事件。而在其他事件(例5)中,会见(meet)事件仅仅是一个计划,无法判断其是否发生。这类事件通常会在前面有一些假设,如“计划”(plan)等。

事件真实性特征对于事件同指消解有着重要的作用,因为真实性不同的事件将不可能是同指事件。事件的真实性与触发词的上下文有密切的关联。因此,本文以事件的上下文为特征,并使用BiLSTM以及CNN模型对上下文建模,预测事件的真实性。

由于两个同指事件具有较高的关联度和相似性,本文使用事件对关联度模型来判断事件对是否同指。本文首先使用卷积神经网络对事件句进行建模;然后,将事件特征相互融合,再加入事件类型、事件真实性等特征进一步优化模型;最后,将事件对同指结果转化为事件链的形式。

2.1 事件抽取与真实性识别

事件抽取和真实性识别任务有很高的相似性,因此本文使用了多任务学习的架构来抽取事件和识别其真实性。

事件抽取采用了多种神经网络模型,即BERT,BiLSTM,CNN,以及BiLSTM+CNN,来抽取事件特征,如图2所示。

图2 基于BiLSTM和CNN的事件抽取模型

下面以BiLSTM+CNN为例来说明其结构。首先,从训练集中搜集触发词,并整合成触发词表,作为本文的候选触发词。本文使用候选触发词表探测文档中的每个句子是否含有表中的单词,并抽取候选触发词以及候选触发词所在句子中的前一个单词和后一个单词作为本文的触发词特征(Tri)。其次,将事件句特征和事件句候选触发词及其前后单词特征输入到该模型中。对于含有候选触发词的句子,本文先使用Transformer结构的BERT预训练模型,提取句子中的语言学特征,BERT使用了大量的文档进行训练,并且Transformer中含有的大量参数用于提取丰富的语言学特征,进而得到更好的语言学表示,接着我们使用BiLSTM以及CNN等参数量较少的神经网络结构进一步提取基于事件任务的特征。由于KBP语料库数据量较小,使用参数少的神经网络结构可以防止过拟合。最终得到句子级的特征向量SV(Sentence Vector)。CNN可对句子相邻的单词进行采样。由于相邻单词有较强的关联度,因此可以抽取到句子间的语义特征。但由于CNN抽取的特征是一种词袋特征,没有引入单词之间的顺序信息,因此加入BiLSTM进一步增强模型的性能。双向的LSTM可以从前后两个方向获取句子的语义特征,由此可以得到更好地描绘事件句的信息。最后,将特征向量SV和候选触发词及前后单词的特征向量Tri拼接,得到最终的向量EV,并将EV输入到全连接分类器中得到分类结果。由于本文是多任务学习模型,因此事件抽取模型和真实性识别模型的网络层相互共享,仅在最后一层由于分类任务的不同而使用了不同的全连接层。模型将同时输出两种分类任务的结果。集成学习(ensemble)由于结合多个单模型,往往能获得比单模型更好的泛化能力。和Lu[18]在实验中使用了集成的分类器一样,本文使用了BiLSTM、CNN、BiLSTM+CNN三种不同架构的单模型进行事件类型分类,再采用投票法的集成方式选取三种模型中一致性最高的结果作为最终结果。不同架构的结果具有高差异性,这可使模型在集成的过程中得到更好的性能。

2.2 事件同指消解

事件同指消解模型AGCNN采用事件对的模型,如图3所示。把两个事件E1和E2输入到AGCNN中,输出结果就是这两个事件E1和E2是否同指。AGCNN主要通过抽取事件之间的相互信息来判断事件是否同指,内部包括编码层、融合层和分类层三个部分。

图3 事件同指模型AGCNN结构图

编码层使用了一维卷积对事件进行编码,卷积结构可以通过卷积核的滑动获取句子前后的语义特征。相比RNN模型,一维卷积具有可以减少过拟合的发生,因而有更好的准确度。

融合层将两个事件E1和E2进行融合和拼接,通过比较事件特征之间的差异性来判断事件是否同指。在融合过程中,本文使用注意力池化方法压缩事件E1的特征,再把该特征和事件E2的每个特征进行融合,这使得事件E2的每个特征都和事件E1的全局特征进行比较,防止了比较过程中的片面性。

分类层首先使用了一层全连接网络抽取特征并判断事件对是否同指。最后,将事件对结果转化成事件链的形式。

2.2.1 输入层

AGCNN输入的是两个事件E1和E2的事件句特征、触发词对特征(Trigger Pair)以及事件对特征(Event Pair)。

事件句特征e1和e2是两个事件E1和E2对应的两个句子,是事件同指消解的主要特征。本文使用BERT技术抽取句子特征,并得到句子向量S1和S2。

触发词对特征是事件的核心特征。因而,本文单独对两个事件的触发词进行比较。AGCNN中的触发词对特征由图1的模型预测得来。本文使用Word2Vec将触发词对转化成触发词向量t1和t2,将两个触发词相减得到触发词比较向量TV(Trigger Vector),通过触发词词向量之间作相减的运算可以得到触发词之间的相似程度,这也是判断事件同指的重要特征。

事件对特征来源于事件类型和真实性,是事件抽取和真实性识别的输出结果。事件对特征同样是事件是否同指的重要判断依据。如果事件的类型和真实性不一致,那么事件将不可能同指。本文比较两个事件的类型和真实性是否一致,得到事件对特征PV(Pair Vector),该特征是一种二元特征,在事件类型和真实性均一致的情况下取1,否则取0。

2.2.2 编码层

事件句主要使用了一维卷积进行编码。如式(1)、式(2)所示,分别将事件句S1和S2经过一维卷积后得到C1和C2。由于相邻单词之间具有较强的关联性,所以可使用卷积核左右滑动获取事件间的相关信息,从而抽取到一个事件的语义特征。在事件句中,触发词周围通常会含有与事件信息相关的单词,如事件参与者、地点、时间等,因而使用卷积在触发词周围滑动可以得到与事件高度相关的语义特征。此外,多种卷积核可以在不同维度提取事件的特征,相当于从多个角度提取事件的特征,使得事件的深层特征得以被挖掘,如式(1)、式(2)所示。

2.2.3 融合层

融合层主要包括事件间的特征融合,以及事件特征和事件对特征融合。通常在一个事件中含有大量的噪声信息,因此本文加入了注意力机制,对句子中的每个单词都赋予权值。对事件同指消解相关度不大的单词将会得到较小的权值,从而减少了噪声信息对模型的影响。在事件句特征的融合中,注意力池化可看作一个加性注意力机制,本文使用注意力池化方法压缩事件E1的特征C1,得到压缩特征向量XV,如式(3)、式(4)所示。注意力池化可看作一个加性注意力机制。其中,W是事件特征C1的注意力权值,它在初始时会被赋予一个随机的值,随后在反向传播的过程中不断调整。lC1是C1的长度,AttenC是加上权值后的事件句特征,AttenCj是事件句卷积编码特征中第j个向量。

注意力池化可以动态地对事件句中的特征加权,再进行求和。相比平均池化,注意力的加权机制相当于对特征作了一次过滤处理,重要的特征将会被放大。而最大池化只选择数值最高的特征,这将使大量的特征丢失。

为了使事件E1的特征与E2的特征融合,本文需要使两个特征向量的维度保持一致。因此本文将事件E1的特征C1复制K次,其中K为事件句C2的长度,并将这些特征合并,得到特征向量RV(Repeat Vector),如式(5)所示。

RV与事件E2的特征C2的最后一维合并(特征向量的维度可以表示为(batch_size,sen_length,feature_dim),最后一维即特征维,合并特征维将使特征维度翻倍,并得到更好的特征表示),得到事件句融合特征EV。

使用注意力池化压缩事件E1的特征并与事件E2融合的做法使得事件E2中的每个特征单位都可和事件E1的全局特征作比较,减少了片面性。在实验中本文尝试了将C1与C2都进行特征压缩,但这使特征数量锐减,致使模型性能下降。此外本文也尝试将C2特征压缩并与C1融合,添加到模型中,但也没有获得性能上的提升。原因可能是和事件句C2相比,C1通常在文档较前的位置,这使得C1句子中较少出现代词,语义更加清晰,C1的全局特征会更有意义。同时,将C2压缩并与C1融合添加到模型中的做法也导致了模型参数成倍增加,容易造成模型的过拟合。

然后本文将事件句融合特征EV输入到一层门控卷积中,得到最终的事件句融合特征向量ECV,如式(6)所示。门控机制相当于LSTM中的门机制,解决了卷积在处理文本时无法获取单词的顺序信息的问题。在事件中,论元位置不同,所表达的语义也会不同,这依然是判别是否为同指事件的关键。同时,门控卷积可以将特征映射到高维空间中,从而提取非线性的特征。

最后,本文综合了事件句的文本特征、触发词的特征以及真实性特征,这可以使模型从多种角度衡量事件是否同指。如图2所示,将事件句融合特征ECV,触发词比较特征TV和事件对特征PV拼接,得到最终的特征向量FV,如式(7)所示。

2.2.4 分类层

分类器主要由一层全连接层构成。将FV输入到全连接层中,最终得出事件对是否同指,如式(8)所示,其中Wout是分类层参数,bout是偏置项。

由于事件同指中正负样本数据非常不平衡,本文使用focal loss作为损失函数,如式(9)所示。为了防止过拟合,本文使用了dropout和batchnorm技术。

最后,将以上事件对同指消解结果采用无向图连接方法,将判为同指的事件对相互连接,转化成事件链的形式。

3 实验

本文使用了KBP 2015以及KBP 2016的英文语料库,用于验证本文提出的事件同指消解模型AGCNN的有效性。KBP 2015含有8种事件类型和38种事件子类型。KBP 2016则删除了大量容易识别为同指事件的事件类型,含有8种事件类型和18种事件子类型。由于含有候选触发词的句子可能并不是事件句,因此本文在实验中添加了一项NoneType类,即不是事件的句子。所以本文在KBP 2015和KBP 2016中分别有39和19种类型。和ACE 语料库不同的是,KBP语料库中一句话中通常含有若干个事件类型,而ACE语料库中一句话一般只包含一个事件。以下是KBP 2016中的例子。

例6IfChenremittedallthemoneyhisfamilyheldoverseasbacktoTaiwan,hewouldhaveagoodchanceofbeingreleased.

例7"IhadremittedallUS$18.43millionback.Ifthejudgestillwon’treleaseme,ishecheattingme?"theformerpresidentasked.

例6中含有两个事件,分别为以“remitted”为触发词的Transfer-Money的事件和以“released”为触发词的Justice-Arrest的事件。同样地,例7中也含有两个事件,分别为以“remitted”为触发词的Transfer-Money的事件和以“release”为触发词的Justice-Arrest的事件,且例6中的两个事件与例7 中的两个事件都分别描述了同一个事件,因此,这两对事件互相同指。

3.1 实验设置

本文在实验中以9:1的比例选取训练集和开发集,测试集采用了KBP的官方测试集。实验中句子向量的维度为300维,卷积核大小为3,Dropout值为0.2,训练轮数为50轮,实验中选取开发集中最好的一轮用于测试集。

实验中,事件同指消解和真实性识别使用了BERT预训练模型,并在BiLSTM、CNN、BiLSTM+CNN结合的集成模型进行微调,预测出事件类型和事件的真实性,并输入到事件同指消解模型AGCNN(单模型)中,输出事件同指的结果。在评测中,本文使用了召回率、准确率、F1值来评测事件抽取和真实性识别的性能,使用MUC,B3[20],CEAFe[21]和BLANC[22]评测事件同指消解的性能。其中,MUC是基于事件链的指标,B3是基于事件的指标,它弥补了MUC忽略非同指事件评测的不足。CEAFe加入了实体用于评测事件同指消解的性能,BLANC评测了非同指事件和同指事件之间的平均性能。4种指标的综合评测全面地反映模型在事件同指消解中的性能。

3.2 实验结果

为了验证本文面向生文本的事件同指系统的性能,本文选取了目前性能最好的面向生文本的事件同指消解系统Lu[18]作为基准系统。另外,由于神经网络方法Krause[8]使用了大量的标注事件特征,所以无法和本文方法进行比较。事件抽取、事件真实性识别和事件同指消解的结果如表1~表3所示。其中,表1和表2中LC为图1所示的模型,ENS_NN是集成模型。

表1 事件抽取实验结果

表2 真实性识别实验结果

表3 事件同指消解实验结果

在事件抽取方面,ENS_NN和Lu性能相当,F1值在KBP 2015和KBP 2016中分别提升了1.2%和0.22%。相比KBP 2015的事件抽取性能,KBP 2016的性能相对较低,这是因为KBP 2016的训练集和测试集的差距相比KBP 2015更大。Lu在实验中使用了WordNet等外部信息作为扩充,减少了性能的下降,而本文将BERT在大规模语料中得到的参数迁移至本文的任务中,同样提升了性能。表1和表2也显示了集成模型ENS_NN和LC相比在事件抽取和真实性识别性能上有提升。

本文研究的侧重点是事件同指消解。表3的结果表明本文提出的AGCNN在KBP 2015和KBP 2016上的平均F1值和Lu相比分别有2.5%和2.29%的提升,这验证了本文模型AGCNN的有效性。Lu需要为CRF分类器提取大量的手工文本浅层特征,并使用了一套复杂的规则系统用于事件同指消解。而本文提出的AGCNN只需要简单的文本信息,特征都从文本信息中自动学习得来。

AGCNN在两个语料库上的平均性能均优于Lu。但是,在MUC上的提升较小。这是因为MUC只统计了事件链中同指链的数量,而对非同指链(孤链)的处理欠佳。因此,综合使用B3、CEAFe和BLANC更能反映模型在事件同指消解方面的性能。同时实验结果也表明模型在KBP 2016中的MUC性能与Lu的差距大幅缩小,这是由于KBP 2016中删除了大量容易区分为同指的事件类型,删除事件类型也进一步造成了非同指事件数量的增加。综上所述,AGCNN在事件消解上的性能总体优于Lu的模型。

3.3 实验分析

AGCNN性能提升的原因主要源于以下三个方面: (1)真实性特征的加入;(2)注意力池化的使用;(3)门控卷积的加入。表4分别显示了加入真实性特征、注意力池化、门控卷积后各项指标在F1值上的提升。

表4 与除去真实性特征(Realis)、注意力池化(Atten)、门控卷积(Gated)的方法比较

AGCNN去除真实性特征后,表4显示平均F1值在两个语料库上分别降低了3.91%和2.52%。本文的真实性识别模型的准确率虽然不高,但同指消解系统所用的特征只需判断事件之间真实性特征是否一致,利用真实性识别模型结果的事件对真实性一致特征在KBP 2015和KBP 2016中的准确率达到72.6%和68.9%,能有效提升事件同指消解的性能。

表4表明了注意力池化的重要性。AGCNN去除注意力池化后,F1值分别降低了1.44%和1.72%。本文的注意力池化相当于对特征的加权平均。相比平均池化、特征池化,注意力池化使得特征处理更加平滑,能够针对性地选出重要的信息。

表4也表明了门控卷积的有效,F1值分别提升了0.45%,1.15%。这说明门控的卷积神经网络可以提取更多复杂的高维语义特征。门控卷积能在特征学习和提取特征时自适应地建立上下文和局部语义之间的联系,而普通卷积只能感知局部语义。相比RNN结构,门控卷积计算量更小。

4 结论

本文提出了一种面向生文本的事件同指消解模型AGCNN,该模型中真实性特征、注意力池化和门控卷积的使用都大大提升了性能。实验结果显示,本文的模型AGCNN在KBP 2015和KBP 2016语料库中击败了目前最优系统。未来的工作是将本文的工作延伸至跨文档事件同指消解和多语言事件同指消解领域。

猜你喜欢

池化真实性语料库
基于高斯函数的池化算法
卷积神经网络中的自适应加权池化
论三维动画特效数字模拟真实性与艺术性的结合
平行语料库在翻译教学中的应用研究
《语料库翻译文体学》评介
基于卷积神经网络和池化算法的表情识别研究
追求真实性永远是记者的基本准则
用于手写汉字识别的文本分割方法
语篇元功能的语料库支撑范式介入
雕塑真实性的探讨