论文浅尝 | 探索将预训练语言模型用于事件抽取和事件生成

论文笔记整理: 郝凯龙,南京大学硕士

链接: https://www.aclweb.org/anthology/P19-1522.pdf

动机

传统的 ACE 事件抽取任务依赖于人工标注的数据,耗费大量的人力并且数据量有限,数据量不足给事件抽取带来了阻碍。传统的事件抽取不能解决 role overlap 角色重叠的问题。 PLMEE 模型通过对不同的角色分别进行 augument prediction 论元预测解决了角色重叠问题。另外,论文提出了一种利用 BERT 生成训练数据的方法,并证明有效。在 ACE2005 数据集上,超过了 state-of-the-art 的结果,将触发词分类和论元分类的 F1 值分别提高到了 81.1 58.9

亮点

PLMEE 的亮点主要包括:

1 )解决了一个论元扮演多个角色即角色重叠问题,通过对不同的角色构建多个分类器的方式。例如“ The explosion killed thebomber and three shopers ”在这句话中, bomber 既是 Attacker 也是 Victim

2 )提出了利用 BERT 生成训练数据的方法,并证明方法有效。

概念及模型

  • 事件抽取

事件抽取分为触发词抽取、论元抽取、论元范围检测、损失函数重写

1.      触发词抽取

将触发词抽取建模为多分类问题,在 BERT 后添加 MLP 做分类,用 cross-entropy 作为损失函数。

2.      论元抽取

对于每一个 token 有多组二分类器,每个分类器决定改 token 是否为对应 role 的开头或结尾。通过这种方式,一个 token/argument 可以是多个 role ,可解决 role overlap 问题。

3.      论元范围检测

利用一个有限自动机,进行短语的检测,可以表示成下图:

尽可能的选择概率更高的 token 作为 argument 的开头和结尾。并且可以为一个 role 检测出多个 argument

4.      损失函数重写

按照 TF-IDF 的方式,计算不同 role 的重要程度,作为 weight

r 表示 role ,即角色。 v 代表某一事件类型, V 代表所有事件类型集合。

RF-IEF 规范化,得到 I(r, v) 代表对于事件 v 角色 r 的重要程度。

Ls 表示 start ,即论元开头的 loss Le 表示 end 的损失。两者求和为最终的损失函数。

  • 事件生成

首先在数据集中进行论元收集,将角色相同并且上下文相似的 token/phrase 构成集合,如上图框中示例。

对于句子,对其中的 argument 论元,在构建的相似集合中随机选择进行替换。

对于触发词和论元以外的词,即附加词,利用 bert 进行 [mask] 遮掩,利用 BERT 预测的结果作为替换。

最后得到打分函数,用于筛选生成数据。

理论分析

实验

1.       实验结果

作者采用了相较于以往方法更严苛的评判标准。

但是实验的结果依然是极好的,对于 Trigger Identification 触发词检测和 Trigger Classification 触发词分类甚至提升了 10%

1.       触发词只有类型和范围均检测正确,才认为结果正确

2.       论元只有范围正确,并且所有的 role overlap 重叠角色均被检测出来,才认为结果正确。

总结

本文利用预训练语言模型,对事件抽取证明有极大的提高,说明 BERT 得到的 embedding 蕴含的语义信息是非常有意义的。另外,采用 BERT 生成数据也是一种不错的思路。对于 role overlap 等问题,论文提出了一种基于多分类器的改进方式。

OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击 阅读原文 ,进入 OpenKG 博客。