APP下载

基于双流注意力机制的阅读理解式事件抽取模型

2022-06-23白雄文王红艳

计算机工程与设计 2022年6期
关键词:论元注意力向量

安 娜,白雄文,王红艳,张 萌

(中国航天科工集团第二研究院 七〇六所,北京 100854)

0 引 言

事件抽取任务[1]由事件类型检测和事件论元角色识别两个阶段子任务完成,且两子任务是相互依赖的。现有事件抽取技术分为管道方式抽取模型[2](pipeline method)和联合方式抽取模型[3](joint method)两个方向。管道式事件抽取模型将触发词识别或事件类型检测和事件元素(又称论元)信息抽取看作多个独立的子任务执行,而多数情况下,触发词与论元之间存在依赖关系,这种流水线式子任务执行方式容易产生关联性错误,同时下游任务的信息也无法反馈到上游任务。而联合式模型将两个子任务看作一个结构化任务,解决了管道式模型无法捕捉不同事件触发词与角色论元依存关系问题,并避免了事件抽取子任务训练过程中存在的级联误差。然而,现有联合式事件抽取模型仍然难以挖掘句子的深层特征,导致论元识别任务存在角色重叠和论元嵌套问题。例如,句子“近日,有媒体报道,海尔4名员工因午休被解除劳动合同”,论元“海尔4名员工”承担了“被解雇人员”角色,嵌套论元“海尔”承担了“解雇方”角色,属于典型的论元嵌套问题。针对以上存在的问题,本文对中文事件抽取任务进行了大量研究,并提出了优化算法。

1 相关工作

目前,事件抽取技术方向主要包括基于规则匹配的事件抽取模型和基于机器学习算法的事件抽取模型[4]。基于模式匹配的事件抽取模型在某些特定领域的表现性能较好,但存在模型移植性和泛化能力较差的缺陷。基于机器学习算法的事件抽取模型是通过机器学习算法建模事件抽取模型完成事件抽取任务,不会依赖一些特定规则,所以相比基于模式匹配的事件抽取模型,系统移植性较好,模型泛化能力也较强。随着司法文书数据日益增加的复杂性,基于机器学习算法的事件抽取模型越来越流行。

近年来,研究者对深度学习在事件抽取任务中的应用进行了大量研究,进一步推动了事件抽取任务的研究和发展。事件抽取模型根据子任务训练方式不同分为管道式和联合式事件抽取模型。

1.1 管道式的事件抽取模型

管道式事件抽取模型首先进行触发词或事件类型检测,再将其结果作为输入进行事件论元抽取,这两个子任务模型的训练是分离式进行的。文献[5]提出了一种新的信息抽取管道模型,该模型使用模式学习算法提取事件信息特征,然后使用经过训练的随机森林分类器进行分类,并在时态数据验证了算法的有效性。文献[6]使用循环神经网络提出一种基于预训练语言模型的事件抽取模型(pre-trained language model based event extractor,PLMEE),该模型使用LSTM加强文本语义提取能力,并基于多组二分类网络实现事件元素识别,提升了论元抽取子任务模型的性能。然而,管道式事件抽取模型的性能仍然受子任务级联错误影响。

1.2 联合式事件抽取模型

为了解决管道式事件抽取模型的缺陷,文献[7]提出一种基于神经网络的联合事件抽取模型(joint event extraction via recurrent neural networks,JRNN),该模型将事件抽取任务分为事件触发词和事件角色论元识别两个阶段,并将这两个阶段任务建模端到端式的神经网络模型进行训练和优化,同时预测触发词和事件角色论元。文献[8]联合事件抽取模型(jointly multiple event extraction,JMEE),主要利用图卷积神经网络表征单词向量,并结合自注意力机制算法完成触发词检测和相应事件元素识别。另外,一种基于条件随机场的多任务融合的事件抽取联合模型[9],借助对事件类型的标注任务,解决了事件抽取联合模型中的角色重叠问题。上述研究工作主要集中于分类思想,随着研究深入,这种传统思想逐渐转变为其它范式思想。文献[10]引入阅读理解思想,通过对注释手册的语句进行增量消化来消除论元角色识别存在的词语歧义问题。文献[11]提出一种基于问答模式[12]的事件抽取模型,通过事件类型和论元角色设定相应问题,增强模型对文本的语义理解,从上下文中推理事件论元。

综上所述,目前的大量研究工作仅是在一个方向优化事件抽取模型性能,并没有同时处理上述模型存在的所有问题。因此,本文提出一种端到端式基于双流注意力机制的阅读理解式事件抽取模型,选择BERT预训练模型[13]进行字词表征,利用双流注意力机制算法捕捉事件对应句子上下文和问题深层语义,并参考文献[14]进行问题规则模板制定,以及采用多层指针网络完成问题答案的预测,即事件论元抽取。最终,结合事件类型检测结果合并作为事件抽取模型的预测结果。本文模型的贡献在于以下:

(1)将事件类型检测任务和事件论元识别任务联合训练和优化,解决多任务模型训练中子任务难以同时达到最优的问题;

(2)使用阅读理解思想进行事件论元识别,针对事件类型和论元设计相应问题,有效改善局部词语歧义等问题;

(3)基于双流注意力机制加强模型对事件相关文本的语义理解能力,从而提升阅读理解任务准确率,进一步提升事件抽取模型性能;

(4)基于多层指针网络进行论元预测,进一步解决事件论元识别任务中角色重叠及角色论元嵌套等问题。

2 基于双流注意力机制的阅读理解式事件抽取模型

2.1 模型整体框架

不同于传统管道式事件抽取模型,基于双流注意力机制的阅读理解式事件抽取模型由事件类型检测和事件角色论元抽取两个子任务组成,并将其构建为一个端到端式的基于深度学习的神经网络模型。如表1所示,待抽取事件schema,同一个事件类型可以对应多个事件角色,不同事件类型所包含的事件角色有相同部分,这部分相同的事件角色统称为通用事件角色,其它不同的事件角色统称为特定类型事件角色。这样,根据事件类型和事件角色类别设计模型输入的问题对,实现事件抽取模型训练和优化,最终完成事件抽取任务。

表1 事件schema

本文提出的事件抽取模型总框架如图1所示。该模型包含问题模板设计模块、输入向量表征模块、基于多标签分类的事件类型检测模块以及基于双流注意力机制和多标签指针网络的事件论元抽取模块。

图1 事件抽取模型总框架

本文模型实现流程如下:①根据表1每个事件类型对应事件角色制定问题生成规则,生成事件对应问题和上下文作为事件抽取模型的输入;②基于BERT预训练模型获取上下文和问题的字词编码拼接向量;③基于双流注意力机制计算上下文-问题注意力和问题-上下文注意力,与原始上下文向量及上下文-问题的双向注意力向量进行多特征融合并输入多层指针网络完成事件论元预测;④基于多标签分类方式进行事件类型检测;⑤结合步骤④事件类型检测结果与步骤③事件论元角色预测结果定义事件抽取模型总损失函数,完成模型训练和优化。

2.2 问题模板设计

由于中文与英文之间存在语言壁垒问题,受文献[14]启发,本文设计了一套问题模板生成规则,专门用于中文事件抽取任务,使得基于阅读理解方式的事件抽取任务得到快速实现。本文的模板规则以获取事件论元和事件类型为目标进行问题设计,将事件类型和论元类型(事件角色)进行整合,针对一种事件类型得到多条标签形态,如司法行为事件的罚款事件类型,对应标签为罚款-时间、罚款-执法机构、罚款-罚款对象、罚款-罚款金额。通过分析,将这些标签大致分为以下3种:

(1)通用性标签

这类标签主要涉及事件发生的时间、地点、人数、人物对象等论元(事件角色),具有一定的通用性,即与不同的事件类型进行整合,其表达含义基本相同,因此这类事件论元对应的问题设计,只需要在不同问题之前增加事件类型字符串用于区分,比如“罚款-时间”对应问题为:找到罚款事件发生的时间,包含年、月、日、天、周、时、分、秒等,“立案-时间”对应问题为:找到立案事件发生的时间,包含年、月、日、天、周、时、分、秒等。

(2)与事件强相关的标签

这类标签通常与具体事件类型有一定的关联,比如罚款-执法机构、开庭-开庭法院等。因此,这类事件论元对应的问题设计,可能需要提到事件类型的某些属性,比如“罚款-执法机构”对应问题为:拥有相对独立的法律地位和组织机构的行政机构。

(3)无法生成问题的标签

对于一些标签实在无法给出较为合适的问题,可以选择单纯保留其原始论元类型,并与事件类型整合,比如“涨停-涨停股票”对应问题为:涨停-涨停股票。

本文针对事件论元和事件类型设计的问题模板见表2。

采用这种问题生成模板规则可以间接增加模型输入数据量,假设一个文本包含m种不同事件类型,每个事件类型平均包含n个可提取内容的论元,那么一个文本数据可以扩充m×n倍,相当于间接做了数据增强,从而在一定程

表2 事件论元角色问题模板

度上增强了模型的学习能力。

2.3 输入向量表征

BERT预训练模型[15]采用基于字粒度的编码方式,难以完整表示中文词语之间的语义特征,因此,本文在基于BERT预训练的字粒度编码基础上增加每个词的词性标注信息,作为事件抽取模型的输入向量。具体实现如下:

(1)利用中文分词工具进行输入文本词性标注,将每个词语标注为B-postag,I-postag,E-postag,S-postag(单个字符)形式作为BERT模型输入获取词表征向量,如“本案由丹阳市公安局侦查终结,以被告人谢某某涉嫌盗窃罪,于2021年7月23日向本院起诉”分词结果如图2所示,对于“公安局”这个词,以“B-nt I-nt E-nt”作为BERT输入进行词向量表征,获取输入文本的词编码向量hpos。

图2 词性标注示例

(2)基于BERT预训练模型获取输入文本对应每个字符的字编码向量hb;

(3)字编码和词编码拼接作为最终编码向量h0,该模块数学表达式如下

h0=Concat([hb,hpos])

(1)

BERT模型的输入是3种编码向量直接相加,其中Token编码表示字符向量或词向量,Position编码表示位置信息,因为自注意力机制的模型无法感知每个字之间的位置关系,所以使用Position编码给每个字标记其顺序信息,Segment编码表示多个句子之间的分割向量,本文仅在每个句子的开头和结尾加上[CLS]和[SEP]标记。BERT采用微调的多层双向Transformer作为编码器,对于一段文本中的每个字向前向后直接和文本中任何一个字进行编码,使得每个字都能融合其左右两边的语义。每个编码器由多头自注意力机制(multi-head self-attention)和全连接前馈神经网络组成,其中,单个编码器结构如图3所示。

图3 BERT编码器结构

多头注意力机制意味着对一段相同文本作多次自注意力计算,而每一次自注意力计算可以获取句子的不同信息,并将多次自注意力计算结果拼接在一起,如下数学表达式

(2)

上述公式中,q,k,v为词向量矩阵,wq,wk,wv为投影矩阵,hi为单头注意机制层输出,Wo为权重矩阵,dk为向量维度。

2.4 事件论元抽取

不同于传统阅读理解式事件论元抽取方法,本文提出一种基于双流注意力机制的阅读理解式事件论元抽取方法。该模型主要有:输入向量表征、基于上下文-问题的双流注意力机制层以及基于多层指针网络的答案预测层,其框架结构如图4所示。上下文-问题的双流注意力机制层是事件论元抽取模块的核心,负责融合上下文和问题之间的语义特征,深层捕捉上下文和问题的关系特征,从而进一步提升阅读理解式事件论元抽取任务的性能。除此之外,为了解决事件论元抽取任务中存在的角色重叠和角色论元嵌套问题,本文还采用多层指针网络堆叠的方式进行模型优化,即对于输入文本中每个字都可以被预测为某一论元角色的起止位置,且任意两个字组成的元素也可能被预测为任意一个论元角色,从而改善事件论元抽取任务中的角色重叠和角色论元嵌套问题。

图4 事件论元抽取模块模型结构

如图4所示模型结构,首先,模型输入向量表征层分别从字词两个不同粒度获取输入上下文和问题的编码向量,得到矩阵H∈Rd×T和U∈Rd×J,作为上下文-问题的双流注意力机制层的输入,d表示向量维度。该层分别从两个方向计算上下文-问题注意力和问题-上下文注意力,具体实现步骤如下:

(1)构造一个共享相似度矩阵,其数学表达式如下

(3)

(2)利用步骤(1)构造的相似度矩阵P分别计算两个方向的注意力大小:上下文-问题注意力(Context-to-Query,C2Q Attention)和问题-上下文注意力(Query-to-Context,Q2C Attention)。其中,C2Q Attention计算的是Context所有词对Query中每个词的注意力大小(相关性),包含所有Query信息,计算方法为:首先对相似度矩阵P进行行方向归一化,再对Query进行加权求和得到C2Q Attention,其数学表达式如下

(4)

而Q2C Attention计算的是Query所有词对Context每个词的注意力大小,包含所有Context信息,计算方法为:首先获取相似度矩阵P每列的最大值,再将其进行Softmax归一化,最后对Context进行加权并在列方向上迭代T次得到Q2C Attention,其数学表达式如下

(5)

(6)

上述公式中,G中每一列向量包含Context和Query的上下文信息。

(3)对注意力机制层的输出向量G进一步进行征提取,得到输出矩阵Hc∈Rd×T, 作为多层指针网络的输入完成论元抽取。不同于传统机器阅读理解任务预测Start和End的方式,本文针对每个字符均使用两个二分类器进行Start和End预测,其数学表达式如下

(7)

(8)

上述公式中,i,j表示位置对应索引值,取值范围为[0,n],n为问题对应字符长度。在得到答案对应起止位置集合之后,还需解决论元开始与结尾位置相匹配问题,本文采用一个二分类模型来预测它们应该被匹配的概率,其数学表达式如下

Pistart,jend=sigmoid(W*Concat(Eistart,Ejend)),W∈1×d

(9)

2.5 事件类型检测

本文基于多标签分类方法进行事件类型检测,具体实现为:对输入向量表征模块的输出向量H∈Rd×T进行最大池化后接一个全连接层和Softmax层进行多标签分类,其数学表达式如下

Xp=maxpooling(H)Pclass=φ(WbXp+b)

(10)

2.6 联合训练

在本文中,事件抽取模型由事件类型检测子任务和事件角色论元识别子任务联合构建,模型训练并不是对单个子任务进行单独优化和学习,而是将事件类型检测结果与事件角色论元预测结果进行联合训练和优化,所以获得事件类型检测结果之后,需要重新定义事件角色论元识别任务的起止位置的预测概率,其数学表达式为

(11)

如果用ystart,yend表示每个token对应任意角色论元开始索引和结束索引的真实标签序列,则每个字符被预测为开始和结束索引的损失函数表达式为

(12)

同理,如果用yse表示开始和结束位置相匹配的索引序列,则相应损失函数表达式如下

(13)

故而,事件抽取联合模型的最终损失函数表达式如下

Loss=αLstart+βLend+γLstart,end

(14)

式中:ɑ,β,γ作为超参数来优化模型,取值范围[0,1]。

3 实验结果与分析

3.1 数据来源

本文采用目前中文事件任务中规模最大的事件抽取数据集DuEE作为实验数据,该数据集定义了65个事件类型,每个事件类型包含相应的事件角色,总共有17 000条具有事件信息的句子。其中,表3统计了数据集关联的领域类别及每个类别对应数据数量。由表3看出,数据集所涉及事件类型不仅包含出售/收购、结婚、辞职等传统中文事件抽取任务常见的事件类型,而且包含起诉、拘捕、立案等具备特定司法领域的事件类型,可以更好支持后期工作。考虑实验的合理性,本文选取12 000条数据作为训练集,2000条作为验证集,1500条作为测试集1,1500条作为测试集2。

表3 DuEE中的事件类型与事件子类型

3.2 实验环境与超参数设置

本文采用Tensorflow[15]深度学习框架和Python3编程语言进行实验环境部署,在CentOS Linux平台上使用NVIDIA Tesla V100图形处理单元(GPU)16 GB显存。选用BERT预训练模型,其中模型层数L为12,隐藏层维度H为768,多头自注意力机制头数A为12,Dropout丢弃率为0.2,Shuffle_buffer为128,Pre_buffer_size为16,并使用交叉熵损失函数进行训练,使用优化器Adam算法[16]进行优化。经过多次实验进行参数调节,得出本文模型达到最优状态时的其它主要超参数为:Batchsize为8,学习率为2e-6,训练批次Epoch为10,每个输入序列最大长度Seq_length为512。

3.3 模型评估指标

本文提出的基于双流注意力机制的阅读理解式事件抽取模型的性能评估由两部分组成,一部分是事件类型检测结果;一部分是事件论元角色识别结果。事件类型检测结果判断:如果模型预测的分类类型与标注类型相匹配,就认为分类正确。事件角色论元识别结果判断:如果模型识别出的论元在事件中充当的角色与标注角色一致,并且识别的论元起止位置与标注的起止位置一致,则认为论元识别正确。

本实验选择精确度(Precision,P)、召回率(Recall,R)以及F1得分作为模型性能评估指标,计算公式为

(15)

式中:TP、FP和FN分别表示预测结果真的正例值、假的例值和假的负例值。

3.4 实验结果及分析

为了评估基于双流注意力机制的阅读理解式事件抽取模型的性能,本文从3个方面进行实验对比和结果分析:①依据文献[17],对比分析了不同网络结构对模型性能的影响,进一步验证了BERT动态词表征模型相比WORD2VEC静态词表征对模型性能的改善效果;②验证了机器阅读理解思想对事件抽取模型性能的提升效果,对比分析了管道式模型和联合式模型的性能;③对比分析了本文提出的基于双流注意力机制的阅读理解式事件抽取模型相比其它模型的优势;④对比分析了采用基于BERT类变体的两种模型进行事件抽取模型的训练过程,进一步分析了BERT类变体模型对事件检测任务的性能影响,验证了本文模型采用BERT进行输入向量表征的优势。不同模型得出的性能评估指标结果见表4。

表4 不同模型性能指标比较

由表4可以看出,融合CNN与LSTM网络结构并进行编码向量共享的DJEE(WORD2VEC)模型相比NO_CNN(WORD2VEC)模型和NO_CNN(WORD2VEC)模型召回率有很大幅度提升,准确率也有一定幅度提升,这表明通过CNN提取字符级特征,LSTM提取词级特征,并融合CNN与LSTM字词特征的方式可以获取文本全局和局部特征,并捕捉到更多文本的上下文语义信息,进一步提升了模型的整体性能;BERT+CRF模型相比融合字词特征的DJEE(WORD2VEC)模型准确率有很大幅度提升,模型整体性能有很大程度改善,这表明基于BERT预训练模型进行输入向量表征可以获取文本更深层次语义,并且与基于WORD2VEC进行输入向量表征的模型相比,还可以根据不同上下文语境动态地获取词语语义信息,同时可以避免LSTM网络结构存在的文本序列长期依赖问题。所以,基于BERT预训练模型进行输入向量表征可以提升模型的整体性能;BERT+SOFTMAX MRC(JOIN)模型相比BERT+CRF在召回率指标上有大幅度提升,这表明阅读理解思想可以提升事件论元识别任务的性能,从而改善事件抽取模型的整体性能,在机器阅读理解任务中,首先根据特定文本进行问题对设计,再让模型从文本中抽取对应答案,这种方式使模型可以同时学习问题和上下文文本的语义信息,加深模型的上下文学习能力,解决了局部词语歧义问题。因此,基于阅读理解方式的事件抽取模型在召回率指标上表现更突出,模型的整体性能也较为突出;而管道式模型BERT+SOFTMAX MRC(PIPELINE)相比联合式模型BERT+SOFTMAX MRC(JOIN),准确率、召回率及F1得分均有很大幅度降低,甚至其性能不如上述的其它模型,这表明管道式模型训练过程中存在子任务误差传递问题,使子任务无法同时达到最优状态,进而影响模型的整体性能。而联合式模型是一种端到端式的训练任务,可以避免模型训练过程中子任务的误差传递,并在一定程度上更多地捕捉到子任务之间的依赖关系,因此具备更强的模型性能;本文提出的ATTENTION+PNet MRC模型相比上述模型,准确率和召回率都有很大幅度提升,这是因为基于双流注意力机制获取上下文和问题之间彼此的关注度向量,并与原始上下文向量进行多特征融合,可以有效捕捉到当前语境下上下文和问题的深层语义信息,加深了模型的语义理解能力。除此之外,基于多层指针网络进行角色论元抽取,即文本序列的每个字都有可能被预测为一个论元的起止位置,一定程度上解决了传统事件论元识别模型所存在的角色重叠和角色论元嵌套问题。

通过以上实验分析,本文提出的模型在准确率和召回率上都有所提升,但模型整体性能还需进一步提升。为了充分利用数据集,本文将训练集和验证集合并起来进行了六折交叉验证,然后对结果进行投票融合,其性能见表5。

表5 交叉验证对模型性能的影响

表5结果显示,交叉验证投票融合方式对模型性能有一定提升,这种方式相当于进行了数据增强。为了进一步验证BERT变体预训练模型对模型性能的影响,本文还选择了3种预训练模型BERT、BERT-wwm以及RoBERTa分别作为输入向量表征层,使用BERT+SOFTMAX MRC模型进行事件类型检测子任务训练,并使用参数F1作为性能评估指标,实验结果见表6。同时,图5展示了3种编码机制对应模型训练的收敛过程。

表6 不同编码向量对模型性能的影响

图5 不同模型训练收敛过程

由表6和图5可以看出,不同预训练模型编码会影响事件抽取模型性能及模型训练时间。从模型性能评估指标来看,BERT编码效果最优,但是与RoBERTa编码的结果相差不大,这表明不同编码对模型性能确实有一定影响。同时,从模型收敛时间来看,BERT编码比RoBERTa编码使模型收敛更快。综合分析,本文选择BERT模型编码,但是RoBERTa编码模型有着节省计算资源,训练参数少,更轻量级以及使用更便捷等优势也可以作为相关研究者的选择。

4 结束语

本文提出一种基于双流注意力机制的阅读理解式事件抽取模型,基于BERT预训练模型获取模型输入的语义表征向量,将其与上下文和问题的双向关注度矩阵进行多特征融合,进一步捕捉上下文-问题文本深层语义信息,并基于多层指针网络进行问题答案预测,最终完成事件论元抽取。本文提出的模型一定程度上避免了传统事件论元识别任务中出现的角色重叠和角色论元嵌套问题,实现了端到端式的模型训练效果,提升了事件抽取模型整体性能。

由实验结果得知,本文提出模型在DuEE数据集上性能表现较好。下一步工作将基于司法领域数据对模型进行优化改进,以技术来支持特定领域事件信息抽取等工作。

猜你喜欢

论元注意力向量
向量的分解
让注意力“飞”回来
聚焦“向量与三角”创新题
“扬眼”APP:让注意力“变现”
成分重量和粤方言双及物结构的论元语序
基于论元结构和题元指派对汉语处置义“把”字句的句法语义分析
A Beautiful Way Of Looking At Things
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
英语中动构式中施事论元句法隐含的认知研究