1 简介
论文题目:Lifelong Event Detection with Knowledge Transfer
论文来源:EMNLP 2021
组织机构:伊利诺伊大学厄巴纳-香槟分校
论文链接:https://aclanthology.org/2021.emnlp-main.428.pdf
代码链接:https://github.com/Perfec-Yu/Lifelong-ED
1.1 创新
- 定义了一个新任务lifelong event detection(增量学习,不断学习和预测新的事件类型),提出一个模型,通过在旧事件类型和新的事件类型间迁移知识,缓解严重的类型不平衡问题。
2 方法
2.1 baseline
整个任务框架如上图,任务的输入为文本序列和目标文本span,对span进行分类。对于论文提出的baseline,首先使用BERT对文本序列和目标文本span进行编码和映射,对于每个事件类型分配一个类型编码,使用内积计算得到每个类型的分数,公式如下:
![]() |
![]() |
![]() |
由于NA事件类型不具有语义连续性,因此不对NA类型的编码进行学习,Loss为交叉熵,具体公式如下:
![]() |
![]() |
-
Experience Replay
设置一个样本集 ε t \varepsilon_t εt包含所有学习类型的训练实例,保存并不断更新,使用herding algorithm(从新类别数据中抽取部分数据,构成与旧类别examplar大小相等的数据集)选取样本例子,然后将 ε t − 1 \varepsilon_{t-1} εt−1添加到训练集 D t D_t Dt中。 -
Knowledge Distillation
在学习新的事件类型前,使用温度参数T对旧的输出概率进行缩放,Loss公式如下:
![]() |
![]() |
![]() |
2.2 新旧事件类型的知识迁移
- New to Old:如果新类型与某些旧类型相关,则新类型的某些实例可能与旧类型具有相似性。利用这些实例使用自训练loss来更新学习知识,Loss公式如下(上式中的
L
D
\mathcal{L_D}
LD替换为
λ
L
S
+
(
1
−
λ
)
L
D
{\lambda}\mathcal{L_S}+(1-{\lambda})\mathcal{L_D}
λLS+(1−λ)LD):
- Old to New: 通过初始化新事件类型的编码,将旧知识迁移到新类型中,对频繁的事件类型使用下面公式初始化,对于长尾分布中少数据的事件类型,随机初始化(第一行公式)。添加一个门控机制g,用来决定事件类型编码使用什么方式初始化,公式如下:
![]() |
![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
|
3 实验
实验选择的数据集为ACE 2005和MAVEN,对于增量学习的设置,将本体分为5个子集
D
1
:
5
\mathcal{D}_{1:5}
D1:5。在阶段t,模型需要对所见子集
D
1
:
t
\mathcal{D}_{1:t}
D1:t 中的类型进行事件检测,取5个随机的排列顺序,表现取平均值,在每个阶段t,在整个测试集上评估模型。
实验包括下面两个设置:
- Oracle Negative: 负样例包括原始数据集中的负样例(NA类型)和全部未学习的类型,用来模拟将新类型的标注添加到旧类型的现有数据集中的情况。
- Silver Negative:负样例包括原始数据集中的负样例、未学习类型的实例,以及已学习类型的实例。模拟在与旧类型的数据集不同的语料库中标注新类型。
在Oracle Negative设置下的实验结果如下图:
在Silver Negative设置下的实验结果如下图:
在两个数据量小的事件类型上的表现:
Case study: