基于神经网络的端到端的事件指代消解研究

2019-09-05 12:33吴瑞萦
中文信息学报 2019年8期
关键词:指代语料向量

吴瑞萦,孔 芳

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

0 引言

事件作为非结构化文本的核心语义信息,描述了由某些原因、条件所引发的,在特定时间、地点并伴随某些结果的事实。我们可以看到生活中随时都有不同粒度的事件发生: 某个城市遭遇恐怖袭击、一些国家的总统选举、新高科技产品的发布等。事件其本身承载的信息丰富并且表达灵活,在篇章内以及跨篇章中,如果一个具体事件可能包含多种表达方式,我们则认为这些事件描述具有同指关系。事件指代消解任务旨在将这些具有同指关系的事件描述从文本中抽取出来构成一个集合,该集合为事件簇,在这个集合中任意两个事件描述都具有同指关系。

相较于实体指代消解任务,事件指代消解起步晚、研究少、难度大。其原因主要包括以下几点:

(1) 事件的结构要比实体复杂很多,不论是语法结构还是语义信息;

(2) 实体的词性主要集中在名词和代词两种,而驱动事件的事件触发词的词性具有多样性;

(3) 文本中出现的实体的数量要远远高于事件,并且大部分事件被反复提及的频度较低,只有一些重要事件,例如与文章主题中心相关的事件才会被多次提到,这导致同指事件描述的数量少,且分布稀疏。

针对以上问题,我们提出了一种端到端的基于神经网络的事件指代消解模型。该模型通过多种词表征来丰富单词的语义信息,同时结合了双向循环神经网络和注意力机制来学习文本的上下文,捕捉其中的关键内容,找到文本中的同指事件描述。

1 相关工作

受限于标注语料及任务的复杂度,相比实体指代消解而言,事件指代消解的相关研究刚刚起步,大多参考实体指代消解的解决思路,主要的代表性工作有: 2006年Ahn[1]通过构建事件对,计算事件对之间的相似度来判断事件的同指关系。随着机器学习方法的推进,事件指代消解任务的研究转向通过人工构建事件的特征来计算事件之间的“距离”,进而判断同指关系。Chen[2]等利用最大熵模型建立事件指代消解系统,并在各项评测指标下评估了系统的性能。Bejan和Harabagiu[3]运用无监督的非参贝叶斯模型将词汇特征和WordNet中的语义相似度引入事件指代消解任务中。2015年Araki[4]等首次提出一种联合学习模型,将事件抽取任务和事件指代消解任务同时研究。随后Lu和Ng[5]也构建了一个基于一元、二元以及三元特征融合的联合学习模型。近年来,神经网络在自然语言处理的各个领域都取得不错的研究成果,Nguyen[6]通过非连续卷积模型在KBP语料上完成事件指代消解任务的研究。同年,Krause[7]等也搭建了卷积神经网络模型并在ACE和ACE++语料上做了相关任务研究。

结合事件指代自身的特点,本文提出了一个端到端的基于神经网络的事件指代消解模型,通过多种词表征、双向循环神经网络和注意力机制来学习上下文的语义内容,进而完成事件指代消解任务。

2 事件指代消解的任务定义和语料

本节我们将给出任务定义和本文实验使用的语料信息。

2.1 任务定义

我们遵循TAC KBP2016中给出的 Event Nugget Detection and Coreference任务的定义,只针对篇章内的事件指代消解任务进行研究。在了解事件指代消解(event coreference resolution)任务之前,我们首先了解几个与事件有关的定义。

• 事件描述(event mention): 非结构化文本中对于某一个事件的具体描述。

• 触发词(trigger): 触发某个事件的发生,通常由动词和名词所构成。每一个事件描述中都有且仅有一个触发词。在事件相关的任务中,找到正确的触发词即可认为找到了相应的事件描述。

• 事件指代消解(event coreference resolution)是指在文本中找到正确的触发词,并判断这些触发词所触发的事件描述是否指向现实世界的同一个事件。

为了更好地理解事件指代消解的相关定义,我们通过图1中的例子来说明。

图1 事件同指示例

其中,例1这段文本共包含了6个事件描述,加粗部分为每个事件描述的触发词。通过阅读上下文我们可以知道,E3和E6都描述了存款人取存款这一事实,它们之间构成同指关系。在以往的事件指代消解任务研究中,大多采用了词原型匹配策略以及句法结构等特征,如例1中E3所指向的deposits与E6所指向的deposits很大可能构成同指关系。

然而,在一篇文章中,大多数具有同指关系的触发词并不具备相同的词原型,甚至是不同的词性,并且相同的词原型之间也不一定存在同指关系。如例2中的E7和E8都是描述了John买书这一transfer money类型事件,它们之间是相互同指的,但显然它们不具有相同的词原型,并且bought为动词词性而purchase却是名词。

在文本中,事件不是一个独立的个体,我们有时候需要借助上下文的有关信息来推导事件信息。如例3中的leave事件,只看前面一句话我们无法知道它是一个transport person事件类型还是一个end position事件类型,当我们读到第2句时基本可以确定它是一个end position事件类型,因此事件间的关系与其所在的上下文关系密切。

经过以上分析我们知道,在事件指代消解任务中,只靠浅层的词特征和句法结构特征并不能有效地处理问题。同时,事件在文本中并不是单独存在的,它和上下文之间有着密不可分的联系。因此,本文从以上问题出发,通过丰富的语义表征、上下文内容的学习以及重新分配信息权重来抽取文本中的事件描述,然后将每个事件描述都与其先行词配对构成事件对,最终通过对事件描述以及事件对的打分判断它们之间是否具有同指关系。

2.2 实验语料

目前,事件指代消解任务研究中得到广泛认可的语料包括ACE2005、KBP2015、2016以及跨篇章研究中的ECB语料。考虑到语料的规模、语料标注的广度等因素,本文采用 KBP2015、2016数据集,表1给出了语料的具体情况。相比于ACE2005语料,KBP语料对于事件同指的定义较为宽泛,认为当两个事件描述在直觉上是指向同一事件时,即可认为它们之间具有同指关系,而不需要任何参与者都完全匹配,这更符合现实情况。KBP语料摘录了新闻领域(newswire,NW)和论坛(discussion forums,DF)的相关文章,语料中标注了事件类型(types)、时态(realis)等属性,其中KBP2016语料将事件类型总数从38类缩减到了18类,本文实验最终只选用了缩减后的18类事件进行。

表1 KPB语料中事件的分布情况

从表1给出的KPB测试集语料的统计结果可以看到:

(1) 就事件表述数和句子数的量级进行比较可以看到,语料中4 499个句子,仅有3 829个事件表述,平均1.2个句子才包含一个事件表述,显然相比实体指代中的实体表述(1)实体指代的标注语料中仅给出了位于指代链上的实体表述信息,实体指代常用语料OntoNotes的英文部分的统计表明,1个句子平均包含2.2个在指代链上的实体表述。而实体指代的相关研究表明,位于指代链上的实体表述约占整个实体表述的80%,据此推算,1个句子平均包含的实体表述个数大约为2.6个。,事件表述的比例要低得多。事件表述的稀疏性增加了事件抽取的难度。

(2) 事件表述主要服务于事件抽取任务,就事件的指代消解而言,我们只关注位于事件链(即指向现实世界的同一个事件的多个事件表述构成的链)上的事件表述。从表1的统计结果可以看到,在3 829个事件表述中,有2 441个事件表述构成了单表述链(即非待消解的事件表述,表示不存在指代关系),约占63.75%。而实体指代的已有研究表明,非待消解项的比例约为20%。作为事件抽取后续任务的指代消解环节,即使取得了很好的事件抽取性能,较高的非待消解比率使得该任务还要面临正负实例的不均衡问题。

3 基于神经网络的事件指代消解模型

与实体指代消解类似,端到端的事件指代消解由两部分构成:

(1) 事件描述的识别,即从文本中识别出事件描述;

(2) 事件指代消解,将识别出的事件描述按指称关系归为不同的事件描述链,位于相同链上的事件描述指称现实世界的同一事件。

与之对应的,本文基于神经网络的事件指代消解模型也由两部分构成:

多层信息的表征对文本中可能的事件描述对应的触发词候选进行字、词及上下文等多层表征,根据表征对候选进行排序,选取一定比例的候选作为事件描述。

具体而言,利用词向量和相关特征对每个单词进行表征。近几年,词向量被广泛运用到各类自然语言处理研究中,例如,命名实体识别[8]、情感分析[9]、实体指代消解[10]等,它能通过一个低维的连续向量空间来表示单词的语义信息。然后我们利用双向循环神经网络(Bi-directional Recurrent Neural Network,Bi-RNN)对这些单词向量编码,通过它来学习文本的上下文信息。此外,模型运用注意力机制(Attention)[11]对文本信息重新分配比重,帮助模型捕捉关键信息。随后我们从文本中抽取满足条件的候选元素(span),并利用一个打分函数(Span Scorer)从中筛选得分最高的候选元素作为事件描述。具体流程如图2所示。

图2 候选元素抽取

先行事件表述的确定针对给定的事件描述,将搜索空间内的所有事件描述与之配对,根据多种上下文表征信息判定它们间具有指代关系的概率,选取概率最高且超过阈值的事件表述作为给定事件表述的先行事件,若不存在,则判定给定事件表述是非待消解的事件表述。

从上述两部分可以看到,本模型采用实体指代消解中已经取得了很好性能的mention-ranking模型。下面对这个模型进行详细介绍。

3.1 多层信息的表征

我们输入一个长度为L的文本,并对文本中的每个单词进行向量表征,模型采用了两类词向量和词性向量共同表征,分别包括词向量Word Embedding、字符向量Characters Embedding,以及通过斯坦福词性标注工具标注后训练得到的词性向量Pos Embedding,通过将两类词向量拼接使用,能够更加丰富每个单词的语义信息。

通过对KBP语料中触发词长度和词性的统计,我们发现绝大部分的触发词都是由单个单词以及两个单词的词组构成,同时词性的分布也具有特殊性,我们排除掉不包含触发词以及触发词出现频率较少的词性,最终只保留V*,NN,NNS,NNP,PRP,TO,JJ,DT,IN,RB,RP,AD(V*表示所有动词)。模型设定一个大小为2的窗口,抽取文本中包含以上词性的单个词以及两个单词的组合词作为候选元素。假设文本D中的候选元素的个数为N,我们用start(i),end(i)表示每个候选元素的起始位置和结束位置,其中1≤i≤N。

3.2 先行事件表述的确定

图3 事件对打分

如图3所示,模型通过一个标准的前馈神经网络FFNNm对每个候选元素打分sm(i),并设定阈值λ保留得分最高的候选元素参与最终的指代消解任务。我们将保留的候选元素按照文本的前后顺序排列,每个候选元素i都要与其先行词j配对构成事件对,再通过前馈神经网络FFNNa对每个事件对打分sa(i,j)(1≤j≤i-1)。其中,“∘”表示向量之间的点积运算,特征向量φ(i,j)是由文本类型(NW,DF)向量、事件类型向量,以及时态向量共同表示。同指事件对的最终得分是由三个打分函数共同决定的,如果不存在先前元素,我们将它的得分设为0。模型最终的学习目标是最大化以下的边际似然函数,其中GOLD(i)表示标准的先行词元素集合,如式(12)~式(15)所示。

sm(i)=ω·FFNNm(hi)

(12)

sp(i,j)=ωp·FFNNp([hi,hj,hi∘hj,φ(i,j)])

(13)

(14)

(15)

4 实验结果和分析

本节给出具体的实验设置和结果,并对结果进行详细的分析。

4.1 实验设置

我们在KBP英文语料上对本模型进行训练和评估,选用LDC2015E29,E73,E94,E68的648篇作为训练语料,LDC2016E72中的169篇作为测试语料,同时又将训练语料划分为509篇训练集和139篇开发集。数据集的选取和划分与Lu和Ng[5]的划分方式完全一致。

为了评估本模型在事件指代消解任务中的性能,我们使用KBP官方提供的8.01版本评测工具,并选用了其中的四种评测指标,分别包括MUC[12],B3[13],CEAFe[14],BLANC[15]以及它们F1值的加权求和分数CoNLL和AVG-F来对模型打分。

CoNLL=(MUC+B3+CEAFe)/3
AVG-F=(MUC+B3+CEAFe+BLANC)/4

在本实验中,词向量Word Embedding使用的是已训练的300维GloVe,字符向量Characters Embedding是由Turian[16]提出的通过卷积神经网络训练得到的词向量,这里我们将卷积通道数设为100,卷积核大小设置为5,最终训练得到的向量维度为100。

图4 阈值结果对比图

此外,我们将词性、文本类型、事件类型以及时态等特征的维度均设为20维,Bi-LSTM隐藏层的维度设为200维,每个前馈神经网络都由两个150维的线性层构成。其中,在经过前馈神经网络FFNNm后,我们对所有的候选元素进行筛选,由图4所示的结果变化可知,当阈值λ设为0.2时,模型在CoNLL以及AVG-F上的综合得分最高。在处理事件对中的时态特征和事件类型特征时,我们采用了二进制编码方式表示两个事件对的时态属性和事件类型是否一致。此外,考虑到计算成本,我们设置最大先行词匹配数量K=150,筛选后的span个数为P,将先行事件表述候选的搜索空间设为min{K,P}。具体的实验参数配置如表2所示。

表2 实验参数配置

4.2 实验结果及分析

实验结果见表3,其中“Lu等”是指Lu和Ng[5]论文里汇报的结果,也是目前端到端事件指代消解性能最好的系统,而我们的实验采用了与之完全相同的数据配置,对比两组实验结果可以看到,我们的神经网络模型在MUC和BLANC两个评测指标下性能要比Lu的模型高很多,分别高出了16.06和5.56。但在B3和CEAFe的评测下结果却略逊一筹。对比综合评测得分,不论是CoNLL还是AVG-F,我们的系统都取得更好的实验结果。

表3 事件指代消解实验结果(%)

在“Lu等”的联合学习模型中对事件相关的三类任务进行研究,分别包括事件识别、事件的待消解性识别和事件的先行事件识别。该模型不仅对每个任务进行特征抽取,同时在两两任务之间也做了大量的特征抽取工作,联合模型的核心思想就是通过多任务间大量特征的共享,以及建立任务与任务之间的相互约束来提高各项任务的性能。然而特征工程是非常耗时耗力的,同时该论文中用到的特征也多是词汇级和句法级的特征,在前文中我们已经讨论过这些特征不足以处理事件指代消解这种复杂的任务。我们提出的端到端的基于神经网络的事件指代消解模型能够大大减小发现特征的成本,并且自主学习深层次的语言特征。

为了验证语义信息和上下文内容对于本任务的影响,我们给出了另外三组对比实验。

(1) “-character”: 表示删除了字符向量Characters Embedding,只保留词向量Word Embedding。通过对比实验结果可以看到CoNLL和AVG-F的结果分别下降了1.77%和1.71%,当我们只使用一种词向量来表示每个单词的信息时,由于不能充分地表征文本的语义信息,导致系统的性能有所下降。

(2) RNN: 我们尝试用RNN替换LSTM来对模型进行评测,通过观察表3结果发现,利用RNN编码的性能很差,由于我们输入的是一篇文本,长度较长,“梯度消失”的问题严重阻碍了模型学习上下文信息。

(3) “-attention”: 表示去除注意力机制后模型的评测结果,CoNLL和AVG-F分别下降了0.63%和0.5%。由于触发词的长度多为单个词和两个词,attention机制的作用主要针对两个词的触发词抽取,因此相较其他实验,该组实验结果的性能变化不大,虽然对于MUC这一评测指标来说,去掉attention的结果稍有提升,但是从其他评测和综合评测指标来看,重新分配信息权重,抓住关键内容在本任务中也起到一定的作用。

此外,我们将经过Span Scorer后的结果输出,使用KBP2016官方提供的事件评测工具包对保留的候选元素打分,计算这些候选元素所包含正确事件的个数,结果见表4。需要特别注意的是尽管事件抽取任务作为事件指代消解任务中的第一步,但是正如表1给出的统计结果,在非结构化文本中大量的事件是没有同指关系的。本文给出的端到端的事件同指平台只关注最终事件同指的性能。通过分析表4中的召回率(Rec)以及准确率(Prec)可以看出,经过打分操作后模型保留了绝大部分正确的触发词,但也包括大量的负例。而对于事件指代消解任务,不仅这些负例会对模型的最终性能有影响,同时不具备同指属性的正确触发词也会干扰模型的判断。而通过统计KBP2016的英文语料发现,这种不具备同指属性的触发词语料在语料中的占比达到60%,因此我们的模型仍有很大的提升空间。

表4 事件抽取实验结果

5 总结

本文提出一种基于神经网络的事件指代消解平台。模型从事件的语义信息出发,结合文本的上下文内容以及信息权重的重新分配策略,分别通过多种词向量表征、双向循环神经网络编码以及注意力机制的运用,达到提高事件指代消解任务性能的目的,并通过多种评测指标得以验证。同时,我们在本文的最后指出了模型存在的缺点,即不能在保留正确触发词的同时,更有效地过滤掉文本中的负例,其实这也是事件抽取任务中的难点。未来我们将进一步关注非待消解事件表述的过滤问题。

猜你喜欢
指代语料向量
奥卡姆和布列丹对指代划分的比较
向量的分解
基于归一化点向互信息的低资源平行语料过滤方法*
聚焦“向量与三角”创新题
The Ways of Leading a Healthy Life
濒危语言与汉语平行语料库动态构建技术研究
基于深度学习的维吾尔语名词短语指代消解
对外汉语教学领域可比语料库的构建及应用研究
——以“把”字句的句法语义标注及应用研究为例
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线