Exploring Pre-trained Language Models for Event Extraction and Generation 论文阅读

Exploring Pre-trained Language Models for Event Extraction and Generation

1.背景

事件抽取,目标是检测事件的触发器(trigger)和事件的参数(role),又可以说是实体。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A9U2wxFK-1669552239607)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20220928103358985.png)]

面临了两大问题:

1.事件中的角色的频率差异很大。并且存在交叉重叠现象:”The explosion killed the bomber and three shoppers” 句子中,bomber既是施暴者(killer)也是受害者(victim)。数据集采用ACE2005数据集,其中有10%的事件存在这样的现象。过去的处理往往是进行简化,如果命中了其中一个角色就代表预测准确。

2.数据的稀缺,迄今为止,大多数基于深度学习的事件提取方法都遵循监督学习范式,故而需要大量的标记数据,然而标记数据是一件费力的任务,所以事件生成方法的使用很有必要,这样可以产生额外的事件进行训练。过去采用远距离监督产生事件(distant supervision),其高度依赖于源数据。

本文提出了一个基于预训练的语言模型的框架,其中包括一个事件提取模型作为基线和一个标记的事件生成方法。事件提取模型由一个触发提取器和一个参数提取器组成。另外,提出了一个预训练之后的语言模型用于生成标记数据。主要包含两个步骤:参数替换和一些token的重写,并且有一个质量评分,选取高质量样本与源数据一起进行训练以提高数据提取器的性能。

2.相关工作

事件提取工作上,主要有文档级粒度以及句子级粒度。本文主要是句子级粒度的讨论,过去主要有两类方法,一是基于特征的方法,通过追踪设计好的特征来进行提取,二是基于神经网络的自动特征学习。

事件生成工作上,通常使用外部资源,比如Freebase, Frame-Net, WordNet来进行事件的生成。过去的方法主要基于远程监督的假设来实现,但这些实体可能没有任何预期的关系。

预训练语言模型上,ELMO,GPT,BERT等能够考虑上下文动态的捕捉单词的意义。

3.事件抽取模型

包含两个阶段的任务,一是触发器的提取(trigger),二是参数的提取(role),提出了一个基于预训练语言模型的事件提取器(PLMEE),下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MEixY4Tq-1669552239608)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20220928204758888.png)]

3.1 第一触发器的提取

可以被视为一个带有标签的分类任务,标签即为事件的类型,在BERT的基础上添加了一个多分类器实现触发器的提取。BERT的输入即为Wordpiece,Segment(0),Position的sum。每一个token都会给出一个预测标签,给出同样的预测标签的会被视为以一个完整的触发器(存在phase级别的触发器)。运用交叉熵计算损失函数对模型进行fine-tuning。

3.2 第二是参数的提取

在给定了触发器之后,还需要提取出相关的参数以及它们所扮演的角色,相对来说更加复杂,因为三点:一是对触发器的依赖性,二是大多为长名词短语,三是角色重叠的问题。与触发器提取器相同的是,仍然采用BERT的三输入,只是在segment字段对trigger的词组(图中的killer)作一个记号,这就解决了第一个问题。后两个问题通过引入了一个分类器集合来解决,每一个role通过一个二进制分类器来界定长度,进而可以确定出每一个token所代表的role,由于每一个token可以对应多个role,就解决了角色重叠的问题(可以代表多个role了)

3.3 参数范围确定

通过概率给定一个token被预测为一个扮演了某一个角色的参数的开始或者结束的表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtWHvliI-1669552239608)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002161058771.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oOtFdpqg-1669552239609)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002161108023.png)]

B是BERT的embedding表示,s代表start,e代表end,r代表该role,W代表一个权重,不同role的start和end不一样。最后经过softmax映射到一个概率值。

通过这个概率就可以得到每一个role的两个列表,分别表示该role的开头与结尾对应到每一个token的概率。对应 B s r B{}{_s^r} Bsr B e r B{^r_e} Ber,他们映射出对应的每一个标签token是否有可能是该role的参数开头或者结尾。接着需要一个算法来将这些参数的开头与结尾确认出来。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1hRv4u1P-1669552239609)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20220930104732733.png)]

它就是一个有限状态机,包含三个状态:1)均未检测到start和end;2)仅检测到start;3)检测到start和end。不断通过上述过程选择出最高概率的argument。对于每一个role都进行一遍检测,就可以得出每一个role的参数抽取情况。

3.4 损失重加权

先定义确定start的损失函数:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8S9BZ6lH-1669552239609)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20220930114927871.png)]

CE是交叉熵,|R|是role的数量,|S|代表句子中的token数量,每一个role都需要计算每一个token的交叉熵。类似的也有end的损失函数:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rh45cRWb-1669552239610)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20220930115324483.png)]

不仅如此,roles具有不同的重要性,所以仍然需要对这些损失函数加入一个权值来衡量。比如在死亡的事件下,role受害者就比role时间更加重要,具体来说,通过两个指标来衡量重要性,分别是Role Frequency(RF)和 Inverse Event Frequency(IEF):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8fJOWnlz-1669552239610)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002160728671.png)]

N v r N{^r_v} Nvr代表在事件v中,role r的出现次数(count),这个指标反映了role的出现频率。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nMg0SuaS-1669552239610)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002160924602.png)]

IEF指标衡量了该role的普遍重要性,比如时间在很多event中都有出现,那么这个IEF值就会很小(不那么重要)。

将二者结合,形成一个新的统计指标RF-IEF:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D5qLr2iZ-1669552239610)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002161436495.png)]

这样可以衡量出一个角色r在v型事件中的重要性:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-daah1drB-1669552239611)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002161536356.png)]

这样不同的事件都有其不可或缺的角色,通过计算上述指标进行排序即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fjWmgQaS-1669552239611)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002161836939.png)]

与此同时,我们可以定义出包含角色重要性的损失函数进行训练,进行一个损失重加权

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zJUZ5LAi-1669552239611)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002162008171.png)]

相当于在最开始的基础上,用 I ( r , v ) I(r,v) I(r,v)代替了 1 ∣ R ∣ \frac{1}{|R|} R1,意味着每一个role的地位已经不一样了。

4.训练数据的生成

除了事件的抽取,本文还构建了一个基于预训练语言模型的事件生成器。主要方法是通过对原型数据的修改,以生成可控数量的标记样本作为额外的训练语料库,主要包括三个阶段:1.预训练 2.事件生成 3.评分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LrxcwZqO-1669552239611)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221002172019760.png)]

便于生成,将除了trigger和argument之外的token定义为辅助token,包括标点符号。生成主要通过对这些辅助token的重写,以扩展生成结果的多样性,同时保持触发器(trigger)和参数(argument)不变。

4.1 预训练阶段

首先是对token(包括role)的收集,但是不包括那些存在重复现象(role)的参数(包含信息复杂)。

接着是对BERT模型的训练以及fine-tuning,任务是对辅助token的重写。通过对参数进行mask掩盖,让模型在非监督的情况下进行预测。

4.2事件生成

为了生成事件,我们在一个原型上执行了两个步骤。我们首先将原型中的参数argument替换为那些发挥了相同作用(role)的类似argument,接下来,我们用BERT重写辅助token。通过这两个步骤,我们可以获得一个带有注释的新句子。

参数替换

在argument的替换上,为了不彻底改变意义,我们使用相似性作为选择新参数的标准。它基于以下两个考虑:一个是发挥相同作用的两个参数在语义上可能存在显著差异;另一个原因是,一个参数所扮演的角色很大程度上取决于它的上下文。因此,我们应该选择在语义上相似且与上下文一致的参数。

使用嵌入之间的余弦相似度来衡量两个参数的相似性,这里利用ELMO模型指标来嵌入参数表示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IDQ2FP4E-1669552239611)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221005153020192.png)]

由于ELMO模型可以衡量OOV问题,所以加以利用,这里的 a a a指的是参数, E \mathcal{E} E指的是ELMO的表示,t代表token。选择最相似的前10%参数作为候选,并对它们的相似性使用softmax操作来分配概率。一个参数有80%的概率被替换,与此同时,trigger不会被替换。

辅助token的重写

利用BERT的fine-tuned进行重写以扩展多样性避免过拟合。重写是为了将原型中的一些辅助token替换为与当前上下文更匹配的新token。利用MASK手段,每一次mask15%的辅助token送入BERT模型进行重写,其余的保持不变。(step-by-step process)尽管m(重写的token比例)设为1.0,仍然会有token保持不变。

评价

理论上,用我们的生成方法可以产生无限数量的事件。然而,并不是所有的事件对提取器都有价值,有些甚至可能降低其性能。因此,我们增加了一个额外的阶段来量化每个生成的样本的质量。我们评估质量的关键与两个因素紧密相关,即Perplexity困惑度和Distance到原始数据集的距离。前者反映了这个事件的合理性,后者反映了与原始数据的差异。

Perplexity(PPL):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dtqUM7Eg-1669552239612)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221005155447973.png)]

A ( S ’ ) A(S’) A(S)代表被重写的辅助token的集合,式子代表了生成该新句子的平均概率。

Distance (DIS):

利用余弦相似度来衡量:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dKBpXAFn-1669552239612)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221005155907359.png)]

这里利用的BERT的嵌入,将第一个标记[CLS]的embedding作为整个句子的。D代表原数据集。

高质量的样本应该同时具有低的PPL与DLS,所以重新定义质量函数如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a4aOhFZo-1669552239612)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221005160232309.png)]

λ [0*,* 1],是一个平滑因子,该函数用于选择实验中生成的高质量样本。

实验部分
事件抽取

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TMdXGmhx-1669552239613)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221005160509608.png)]

在评估的过程中,采用以下标准来评估每个预测事件提及的正确性:

1.只有当触发器trigger的跨度和类型与正确标签匹配时,触发器预测才正确。

2.只有当参数argument的跨度和它扮演的所有角色与正确标签匹配时,参数预测才是正确的。

采用精度§、Recall ®和F测度量(F1)作为评价指标。

与过去的三种模型作了对比实验,第一种是基于特征的(交叉事件,实体),基于结构化。第二种基于神经网络(DMCNN,JRNN),第三种是基于外部资源的方法,DMCNNDS(Chen et al.,2017)使用FreeBase通过距离监督来标记无监督语料库中的潜在事件。

为了验证损失重加权的有效性,对两组实验进行了比较。也就是说,损失函数只是取所有分类器输出平均值的组(表示为PLMEE(-)),以及根据角色重要性重新加权损失的组(表示为PLMEE)。

在trigger的提取上有很明显的进展,虽然在参数提取方面的改进并不那么明显,达到了约2%。这可能是由于我们已经采取了更严格的评估度量,以及参数提取任务的差异性。

生成文本case

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DzGErf8z-1669552239613)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221025085708367.png)]

上表说明了一个原型及其生成,参数m的范围为0.2到1.0。我们可以观察到,替换后的参数可以相对较好地匹配原型中的上下文,这表明它们在语义上与原始的参数相似。另一方面,重写token可以平滑生成的数据并扩展它们的多样性。然而,由于没有明确的指导,这一步也可能引入不可预测的噪声,使生成不像预期的那样流畅。

生成文本的自动评估

生成方法主要有三个方面可能对提取模型的性能有显著影响,首先是生成的样本的数量,然后是重写的辅助token的比例m,以及生成的样品的质量。特别地,我们将m设置范围为0.2到1.0,间隔为0.2,n设置为0.5、1.0和2.0,同时在生成过程中保持其他参数不变。我们用这些参数进行了实验。通过分析结果,我们发现m = 0.4和n = 1.0对PLMEE在触发器提取和参数提取方面都具有最好的性能。这表明,生成的样本太少和太少都不是更好的提取选择。太少的影响有限,而太多可能会带来更多的噪声,干扰数据集的分布。质量的评估函数同样将λ 从0取到1,通过实验以及此评估函数,从n=4的4倍生成数据库选取25%的数据加入训练,最终得到的训练结果如下表,说明生成的数据对模型产生了积极的作用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWu7Bzo4-1669552239613)(C:\Users\wade\AppData\Roaming\Typora\typora-user-images\image-20221025091722616.png)]

不足

生成文本可能会产生一些语义问题,leaving from ==> leaving for

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值