1 简介
论文题目:Improving Event Detection via Open-domain Trigger Knowledge
论文来源:ACL 2020
论文链接:https://aclanthology.org/2020.acl-main.522.pdf
代码链接:https://github.com/shuaiwa16/ekd
1.1 动机
- 由于标记数据的长尾问题(大量的类别仅有少量的样本)和生成数据的同质性,以前的方法在未见过或者稀疏的数据上表现不佳,在密集的数据上过拟合。
1.2 创新
- 第一个利用开放域的触发词知识提高事件检测的性能。
- 提出了一个新的teacher-student模型,从标记和未标记的数据中学习,减少标记中的内置偏差。
2 方法
2.1 知识收集
从WordNet中收集开放域触发词知识,分为下面两个步骤:
- 消除单词的歧义:使用IMS消岐,然后使用Stanford CoreNLP获得特征(词性标注、句法分析)。
- 判断是否触发事件:利用一个查表的方法,判断是否触发事件。
2.2 模型
模型的整体框架如上图,主要包括下面几部分:
- 特征抽取:使用BERT对句子进行编码。
- 事件预测:对于带标注的数据,预测每个词的事件类型。公式如下:
|
|
- 知识蒸馏:知识蒸馏的目标是使teacher模型的概率等于student模型的概率(公式如下),两个模型共享参数,teacher模型的输入为 S + S^+ S+(Knowledge-attending Sentences),通过开放域触发词知识,使用B-TRI和E-TRI标注触发词的开始和结束边界。如原始句子为 S = { w 1 , w 2 , . . . , w i , . . . , w n } S=\{w_1,w_2,...,w_i,...,w_n\} S={w1,w2,...,wi,...,wn}, w i w_i wi为开放域触发词知识定义的触发词, S + = { w 1 , w 2 , . . . , B − T R I , w i , E − T R I , . . . , w n } S^+=\{w_1,w_2,...,B-TRI,w_i,E-TRI,...,w_n\} S+={w1,w2,...,B−TRI,wi,E−TRI,...,wn}。B-TRI和E-TRI在知识收集的句子上微调(mask的概率为15%)。student模型的输入为 S − S^- S−(Knowledge-absent Sentences),随机mask由开放域触发词知识定义的触发词,如 S − = { w 1 , w 2 , . . . , [ M A S K ] , . . . , w n } S^-=\{w_1,w_2,...,[MASK],...,w_n\} S−={w1,w2,...,[MASK],...,wn}。使用KL散度最小化概率分布之间的差异,公式如下:
|
|
- 联合训练:优化的目标为带标注数据的监督loss和未标注数据的KL散度loss,公式如下:
3 实验
在ACE 2005数据集上的实验结果如下图:
为了评测是否将知识蒸馏到模型中,在测试集上观察带和不带开放域触发词知识的实验效果,结果如下图:
在领域迁移情形下的实验结果:
不同频率触发词的实验结果:
使用三种不同的知识,验证模型是否可以蒸馏其他的知识类型,实验结果如下图:
Case Study: