论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation
论文来源:ACL 2019
论文链接:https://aclanthology.org/P19-1522.pdf
事件中的角色出现频率差异很大,在某些词上可能重叠,甚至共享相同的论元(角色重叠问题),在ACE2005数据集中有10%的事件存在角色重叠问题。
在以前的大部分工作中,如果一个论元在一个事件中同时表示多个角色,只要预测正确它们其中的一个,则分类正确。
大部分基于深度学习的事件抽取方法是监督学习范式,需要大量的标注数据去训练。
将事件抽取当作一个两部分的任务:触发词抽取和论元抽取,提出一个基于预训练语言模型的事件抽取模型,如下图:
触发词抽取的目的是预测一个token是否触发一个事件。定义触发词抽取为一个token级别的分类任务,标签为事件的类型。触发器抽取器的输入遵循BERT,为三种编码的总和:WordPiece编码、位置编码和段编码。因为输入为一个句子,因此段编码为全0。在很多情形下,触发词为一个短语,因此将连续的相同预测标签的token视为一个完整的触发词。使用交叉熵作为loss函数。
给定触发词,论元抽取的目的是抽取相关的论元和它们所扮演的全部角色。比较触发词抽取,论元抽取是更加复杂的,因为三个原因:论元对触发器的依赖性、大多数论元是长的名词短语以及角色重叠问题。
论元抽取器也需要和触发词一样的三种编码,因为需要知道那些token组成触发词,因此段编码中触发词token的值为1.
为了克服论元抽取的后两个问题,在BERT里添加多个二分类器,每一个分类器为一个角色提供服务,以确定扮演它的所有论元的范围(每个范围包括开始和结束)。因为预测与角色分离,一个论元可以扮演多个角色,一个token可以属于不同的论元,角色重叠问题被解决。
一个token t被预测为角色为r的论元的开始部分和结束部分的概率公式如下,其中s代表"start",e代表"end", β \beta β为BERT的编码。
对于每个角色r,根据 P s r P_s^r Psr和 P e r P_e^r Per可以得到两个值为0或1的列表 B s r B_s^r Bsr和 B e r B_e^r Ber。它们分别定义句子中的token是否是角色为r的论元的开头或者结尾(第i个token为开始,则 B s r [ i ] B_s^r[i] Bsr[i]=1)。下图算法按顺序检测每个token,以确定扮演角色r的所有论元的范围。
该算法包括下面三个状态,当前token为开始则从状态1转换到转换2;当前token为结束则从状态2转换到转换3;当前token为一个新开始则从状态3转换到转换2.如果同时出现两个开始(结束),则选择高概率的。
定义 L s L_s Ls为检测论元开始的全部二分类器的loss函数,是输出概率和真实标签y的交叉熵的平均值,公式如下,其中CE为交叉熵,R为角色集,S为输入序列,|S|为S中的token数。
类似地,定义 L e L_e Le如下,最后取 L e L_e Le和 L s L_s Ls的平均值作为论元抽取的loss
由于角色出现的频率有很大的差异,这意味着在一个事件中角色有不同级别的重要性。这个重要性表示一个角色定义一个具体类型事件的能力。因此,根据角色的重要性重新加权 L s L_s Ls和 L e L_e Le,使用如下定义来衡量重要性。
定义角色频率为角色r出现在事件类型v的频率,其中 N v r N_v^r Nvr为角色r出现在事件类型v的数量。
为了衡量一个角色的全局重要性,定义IEF作为包含角色r的事件类型的对数比例翻转分数,公式如下,其中V为事件类型的集合。
最后,定义RF-IEF为RF和IEF的乘积: R F − I E F ( r , v ) = R F ( r , v ) × I E F ( r ) RF-IEF(r,v)=RF(r,v)×IEF(r) RF−IEF(r,v)=RF(r,v)×IEF(r),测量一个在事件类型v中的角色r的重要性为:
选择三个事件类型,列出每个类型的两个最重要的角色。如下表,它展示尽管一些事件有多个角色,但仅一些是必需的。
给定输入的事件类型v,根据每个角色的重要性,重新加权 L e L_e Le和 L e L_e Le,公式如下:
最后取 L s L_s Ls和 L e L_e Le的平均值作为论元抽取的loss
提出一个基于预训练语言模型的事件生成方法,结构如下图,通过编辑原型数据,该方法可以生成数量可控的带标签样本作为额外的训练语料库。主要包括三个部分:预处理、事件生成、评分。定义附属token为句子中不是触发词和论元的token,不仅包括单词和数字,而且包括标点符号。
首先收集ACE 2005数据集中的论元和它们的角色,其中重叠的论元不统计,因为这些论元通常是长的短语,包含太多的不期望的信息,使用它们进行论元替换可能带来更多不必要的错误。使用BERT作为目标模型重写附属token,在ACE 2005数据集的标记语言模型任务中微调,使其预测偏于数据分布。每次标记15%的token,目标是无监督地预测正确的token。
事件生成分为下面两步,通过这两个步骤,可以获得一个带标注的新句子。
角色在替换后是被继承的,所以我们可以对生成的样本使用原始标签。为了不大幅度地改变意思,我们使用相似性作为标准来选择新论元。基于下面两个原因:
因此应该选择有相似语义和连贯的上下文的论元。
使用编码的余弦相似度计算两个论元的相似度。由于ELMO可以处理OOV问题,因此使用它编码论元,公式如下,其中a为论元, ε \varepsilon ε为ELMO编码。选择10个最相似的论元作为候选集,对它们的相似度使用softmax分配概率。
为了偏向真实事件的表示,80%的论元被替换,20%的保持不变。同时触发词保持不变,避免不必要的依赖关系的偏离。
替换论元的结构已经可以被当作生成的数据,但是一样的上下文可能增加过拟合的风险。因此,为了平滑生成数据和扩展它们的多样性,使用微调的BERT重写附属token。
重写是为了替换原型数据中的一些附属token,替换为更符合当前上下文的新token,它为Cloze任务。一些附属token被随机标记,微调的BERT基于上下文,预测适当的token的词典id。使用参数m表示需要重写的附属token比例。
附属token重写是一个逐步的过程,每次标记15%的附属token([MASK]).然后输入到BERT得到新的附属token。尚未重写的附加token将暂时保留在句子中。根据图4(设置m=1.0)可以发现,尽管m为1.0仍保留了一些附属token。
通过两个因素评测生成样本的质量:困惑度和与原始数据库的距离。前者展示生成数据的合理性,后者反应数据间的不同。
使用重写的附属token的平均概率作为生成的句子的困惑度,公式如下,其中A是S’中已重写的附加token集。
使用余弦相似度测量句子S’和数据库D的距离,公式如下,其中使用BERT编码句子,取第一个token[CLS]的编码作为句子的编码。
困惑度和句子的范围为[0,1],高质量的生成样本应该有低的困惑度和距离,因此,定义质量函数如下:
使用的数据集为ACE 2005,不同于以前的工作,使用下面标准评测每个预测的事件提交正确性。
注意:论元的全部预测角色需要与真实标签匹配,而不是只匹配其中的一个角色。
实验结果如下图,其中PLMEE(-)为loss函数为全部类别输出的平均,PLMEE的loss为基于角色重要性进行重新加权。
主要有三个因素显著地影响抽取模型的表现:
使用额外数据的实验结果如下图,PLMEE(+)表示PLMEE模型训练时使用额外的生成数据,其中m取0.4,n取1.0, λ \lambda λ取0.5。
通过比较生成样本和人工标注的样本,该生成方法的一个问题是角色可能偏移,因为仅重写几个附属token,语义就发生了很大变化。如下图,因为from被替换为for,drive to被替换为return from,导致生成数据的论元角色错误。