本文主要是介绍论文笔记 ACL 2020|Towards Open Domain Event Trigger Identification using Adversarial Domain Adaptation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1 简介
- 1.1 动机
- 1.2 创新
- 2 方法
- 3 实验
1 简介
论文题目:Towards Open Domain Event Trigger Identification using Adversarial Domain Adaptation
论文来源:ACL 2020
论文链接:https://arxiv.org/pdf/2005.11355.pdf
代码链接:https://github.com/aakanksha19/ODETTE
1.1 动机
- 监督事件抽取有一个缺陷:不能泛化到来自不同域或包含不同事件类型的数据。
1.2 创新
- 使用对抗领域自适应的框架构建表示,使用对抗训练,预测触发词,但是不预测样本的领域(使其领域无关)。
- 不需要带标签的目标领域数据,是无监督的。
2 方法
整个框架如上图所示,主要包括下面三个部分:
- 表示学习:使用LSTM、BiLSTM、POS(输入拼接词性标签,然后使用BiLSTM进行编码)、BERT(使用BERT的上下文token表示,然后使用一个BiLSTM)
- 事件分类:使用MLP完成token级别的分类。
- 领域预测:使用Pool+MLP进行领域预测。
原领域数据集为 D s = ( x 1 s , e 1 s ) , . . . , ( x n s , e n s ) D^s={(x_1^s,e_1^s),...,(x_n^s,e_n^s)} Ds=(x1s,e1s),...,(xns,ens),其中 e i s e_i^s eis为事件标签,使用原领域的数据集和未标注的目标领域数据构造 D a = ( x 1 a , d 1 a ) , . . . , ( x n a , d n a ) D^a={(x_1^a,d_1^a),...,(x_n^a,d_n^a)} Da=(x1a,d1a),...,(xna,dna),其中 d i s d_i^s dis为领域标签。首先使用 D a D^a Da训练领域预测,公式如下:
然后训练事件分类,公式如下:
优化上述公式使用了梯度反转层(前向传播时不变,反向传播时将梯度放缩为 − λ -\lambda −λ),优化公式如下:
3 实验
数据集使用LitBank和TimeBank,数据统计如下:
从LitBank迁移到TimeBank的实验结果如下:
从TimeBank迁移到LimBank的实验结果如下:
对抗领域自适应的例子分析:
使用少量数据进行微调:
使用自训练的方式,首先使用标注数据训练一个教师模型(本文提出的问题),然后使用教师模型对未标注的数据进行标注,最后使用全部的数据训练学生模型(普通bert)。算法流程和实验结果如下:
这篇关于论文笔记 ACL 2020|Towards Open Domain Event Trigger Identification using Adversarial Domain Adaptation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!