文章目录
1 简介
论文题目:Dynamic Prefix-Tuning for Generative Template-based Event Extraction
论文来源:ACL 2022
组织机构:北京理工大学
论文链接:https://arxiv.org/pdf/2205.06166.pdf
1.1 动机
- 基于生成的事件抽取方法存在两大挑战:未达到最佳的prompt和静态的事件类型信息。
1.2 创新
- 提出了一种基于模板的生成方法(动态前缀),通过将上下文信息与特定于类型的前缀相结合来学习特定于上下文的前缀。
2 方法
2.1 Generative Template-based Method
首先提出一个base模型,如上图,通过拼接prompt和上下文,然后通过预训练模型(BART、T5),生成输出概率分布(公式1)。prompt的设计包括类型指令(Event type is [MASK].)和模板(如上图,包括触发词占位符<trg>、论元占位符<arg>、分隔符为<IN_SEP>)。在构建truth序列时,如果不存在事件,生成"Trigger <trg>“;如果多个论元表示相同的角色,则根据span进行排序,使用"and"连接;如果包含多个事件,则根据触发词进行排序,使用”<OUT_SEP>"进行连接。训练的loss为公式2:
|
|
在推理时,束约束为6,最大序列长度根据数据集统计(比最长的ground truth长)。不是全部生成的输出序列是有效的,首先解析触发词,如果失败则跳过这个序列;如果不能匹配到<IN_SEP>或者模板中的论元部分,则跳过解析论元,只保留触发词
由于在ACE 2005中80.28%的句子不包含事件记录,ERE中71.02的句子不包含事件记录,导致模型有偏差生成不相关的事件类型,因此提出一个分类器IC,使用BERT模型对上下文进行编码,使用[CLS]向量进行2分类,判断上下文是否包含事件记录。
2.2 Dynamic Prefix-Tuning
提出的模型整体框架如上图,下面分别介绍静态前缀和动态前缀。
2.2.1 Type-Specific STATIC PREFIX
构造特点事件类型的前缀,为两个序列 s p , s p ′ {sp,sp'} sp,sp′(可训练),与输入序列进行拼接(公式1),最后输入到预训练模型中。使用可训练的编码向量P得到sp,对于事件类型 e i e_i ei的第t个前缀向量为公式2,对于相同的事件类型,输出的前缀是相同的,因此是静态的(没用考虑事件之间的联系)。
|
|
2.2.2 Context-Specific DYNAMIC PREFIX
如上图所示,构造动态的前缀,使用多头注意力根据上下文信息和全部事件类型的前缀向量计算当前事件的前缀向量,上下文c的第t个前缀向量为公式1,计算输出向量如公式2:
|
|
使用MLP和
P
′
P'
P′得到可训练的编码向量P(公式如下),训练的目标为最小化负对数似然。对语言模型参数和DYNPREF参数分别训练,包括3个步骤:1)使用base模型训练语言模型参数。2)固定语言模型参数和mask其他事件类型,训练DYNPREF中每个事件类型的参数。3)固定语言模型参数,取消mask,训练DYNPREF参数。
3 实验
实验数据集为ACE 2005和ERE,数据统计如下:
实验结果如下:
迁移学习设置下的实验结果:
消融实验:
判断文本中是否含有事件的分类器对实验结果的影响:
参数设置: