1 简介
论文题目:Template Filling with Generative Transformers
论文来源:NAACL 2021
论文链接:https://aclanthology.org/2021.naacl-main.70.pdf
代码链接:https://github.com/xinyadu/gtt
1.1 动机
- 目前的模型没有建模事件之间的关系
1.2 创新
- 第一个在模板填充任务(Template Filling)中建模事件的关系,在多事件的文档中表现更好。
2 背景知识
模板填充任务通常分为两部分:
- 角色填充实体提取(role-filler entity extraction):从文档中抽取出事件相关的实体
- 模板/事件识别(template/event recognition):将角色填充到模板中,同时定义模板(事件)的类型
3 方法
模型的整体框架如下,主要分为以下部分:
- 输入分为Source和Target,Source为模板(事件)类型和文档token,Targer为事件类型和角色填充,然后将输入经BERT编码。
a ^ 0 , a ^ 1 , . . . , a ^ l s r c , b ^ 0 , . . . , b ^ l t g t = B E R T ( a 0 , b 1 , . . . . , a l s r c , b 0 , . . . , b l t g t ) \widehat{a}_0,\widehat{a}_1,...,\widehat{a}_{l_{src}},\widehat{b}_0,...,\widehat{b}_{l_{tgt}}=BERT(a_0,b_1,....,a_{l_{src}},b_0,...,b_{l_{tgt}}) a 0,a 1,...,a lsrc,b 0,...,b ltgt=BERT(a0,b1,....,alsrc,b0,...,bltgt) - 该阶段进行Pointer Deconding,在t时刻,计算
b
t
b_t
bt和
a
0
a_0
a0的点乘,然后经过softmax,发现source token的最大概率。(测试时的解码为贪婪解码)
c 0 , c 1 , . . . , c l s r c = b ^ t ⋅ a ^ 0 , b ^ t ⋅ a ^ 1 , . . . , b ^ t ⋅ a ^ l s r c c_0,c_1,...,c_{l_{src}}=\widehat{b}_t{\cdot}\widehat{a}_0,\widehat{b}_t{\cdot}\widehat{a}_1,...,\widehat{b}_t{\cdot}\widehat{a}_{l_{src}} c0,c1,...,clsrc=b t⋅a 0,b t⋅a 1,...,b t⋅a lsrc
p 0 , p 1 , . . . , p l s r c = s o f t m a x ( c 0 , c 1 , . . . , c l s r c ) p_0,p_1,...,p_{l_{src}}=softmax(c_0,c_1,...,c_{l_{src}}) p0,p1,...,plsrc=softmax(c0,c1,...,clsrc) - 解码的约束如下:
- [SEP]和[SEP_T]的概率降低为0.01
- 在第k个模板(一个文档中事件的最大数量)结束时停止解码
- 确保一个实体的开始标记和结束标记的指针是有序的。
4 实验
在MUC-4上的实验结果如下:
事件类型和角色的实验效果如下。
多事件的实验效果如下:
在不同事件数的文档中实验效果如下: