Exploring Pre-trained Language Models for Event Extraction and Generation

1.背景

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

面临了两大问题:

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),下图所示:

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被预测为一个扮演了某一个角色的参数的开始或者结束的表示:

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

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

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

3.4 损失重加权

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

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

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

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

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

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

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

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

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

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

4.训练数据的生成

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

便于生成,将除了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模型指标来嵌入参数表示:

由于ELMO模型可以衡量OOV问题,所以加以利用,这里的aaa指的是参数,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):

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

Distance (DIS):

利用余弦相似度来衡量:

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

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

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

实验部分

事件抽取

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

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

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

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

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

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

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

生成文本case

上表说明了一个原型及其生成,参数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%的数据加入训练,最终得到的训练结果如下表,说明生成的数据对模型产生了积极的作用。

不足

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

Exploring Pre-trained Language Models for Event Extraction and Generation 论文阅读相关推荐

  1. 论文笔记 ACL 2019|Exploring Pre-trained Language Models for Event Extraction and Generation

    文章目录 1 简介 1.1 动机 1.2 创新 3 抽取模型 3.1 触发词抽取 3.2 论元抽取 3.3 确定论元区间 3.4 重新加权loss 4 训练数据生成 4.1 预处理 4.2 事件生成 ...

  2. 【论文解读 ACL 2019 | PLMEE】Exploring Pre-trained Language Models for Event Extraction and Generation

    论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation 论文来源:ACL 2019 国防科技大学 ...

  3. 【论文阅读笔记|ACL2019】PLMEE:Exploring Pre-trained Language Models for Event Extraction and Generation

    论文题目:Exploring Pre-trained Language Models for Event Extraction and Generation 论文来源:ACL 2019 国防科技大学 ...

  4. CL-ReLKT: Cross-lingual Language Knowledge Transfer for MultilingualRetrieval Question Answering论文阅读

    CL-ReLKT: Cross-lingual Language Knowledge Transfer for Multilingual Retrieval Question Answering 摘要 ...

  5. 《A More Fine-Grained Aspect-Sentiment-Opinion Triplet Extraction Task》论文阅读

    文章目录 文章概述 ASTE与ASOTE的区别 数据集构建 文章模型 ATE TOWE AOPSC 总结 文章地址: https://arxiv.org/abs/2103.15255 文章概述   方 ...

  6. Chapter9 : De Novo Molecular Design with Chemical Language Models

    reading notes of<Artificial Intelligence in Drug Design> 文章目录 1.Introduction 2.Materials 2.1.C ...

  7. AIGC之LLaMA:《LLaMA: Open and Efficient Foundation Language Models》翻译与解读

    AIGC之LLaMA:<LLaMA: Open and Efficient Foundation Language Models>翻译与解读 导读:该论文提出了一个开源的大规模语言模型LL ...

  8. Medical Diffusion - Denoising Diffusion Probabilistic Models for 3D Medical Image Generation

    Medical Diffusion - Denoising Diffusion Probabilistic Models for 3D Medical Image Generation 论文链接:ht ...

  9. Paper简读 - ProGen2: Exploring the Boundaries of Protein Language Models

    欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/12 ...

  10. 论文笔记--Evaluating Large Language Models Trained on Code

    论文笔记--Evaluating Large Language Models Trained on Code 1. 文章简介 2. 文章概括 3 文章重点技术 3.1 评估 3.2 模型训练--Cod ...

最新文章

  1. doe报告模板_技术漫谈|关于制剂研发过程中的实验设计(DOE)误区讨论
  2. 计算机视觉库OpenCV之saturate_cast防数据越界函数
  3. ppt拖动就复制_学会这3个PPT技巧和29个快捷键!让你的PPT脱颖而出,领导叫好
  4. 2个网页跳来跳去_成为搜索产品经理(2):认识网络爬虫
  5. 化繁为简 - 腾讯计费高一致TDXA的实践之路
  6. 2/2 pymysql:基础操作总结
  7. 数据工程师在未来将扮演不可或缺的角色
  8. egg 编码规范_Egg 框架简述 (仅学习)
  9. Java环境的正确配置你会了吗?
  10. 【算法基础笔记】常用的排序算法的时间、空间复杂度,部分排序算法原理
  11. 无法读取项目文件 .csproj
  12. The 46th ICPC Asia Jinan Regional Contest,2021,46届济南站热身赛
  13. 印地语freeCodeCamp YouTube频道+不和谐聊天现已上线
  14. CodeForces1036 F Relatively Prime Powers(莫比乌斯容斥)
  15. Tilera吴晓东:2013年要做成三百多个核
  16. 软件开发生命周期及开发模型
  17. 装系统需不需要格式化系统盘?别再被这些说法骗了!
  18. BIM建模助手上线一周,有哪些BUG被用户找到?
  19. android关闭传感器,您如何在安卓10手机上打开和关闭传感器
  20. 用于汽车传感器的混合点云语义压缩:性能评估

热门文章

  1. 52个比付费软件更好的免费软件
  2. SAP中会计凭证红蓝冲相关分析测试笔记
  3. 数字翻译器,Java
  4. 【热点资讯】哪所英国大学最适合你?
  5. docker运行rabbitmq
  6. 台式计算机怎么开声音,台式电脑没有声音怎么办
  7. Java的运行机制(一)
  8. IJCAI2021强化学习相关论文集合推荐
  9. ubuntu 16.04 Titanxp 安装cuda10.0 cudnn7.6 环境
  10. esxi - 加装vmware titan xp显卡配置