论文题目:Dynamic Prefix-Tuning for Generative Template-based Event Extraction
论文来源:ACL2022
论文链接:https://aclanthology.org/2022.acl-long.358.pdf
代码链接:
0 摘要
我们考虑用基于模板的条件生成的方式进行事件提取。尽管将事件提取任务转换为具有提示的序列生成问题越来越多,但基于生成的方法仍存在两个重大挑战,包括使用次suboptimal prompt和静态事件类型信息(static event type information)。在本文中,我们提出了一种基于生成模板的动态前缀(GTEE-DYNPREF)事件提取方法,通过将上下文信息与类型特定的前缀集成,来学习每个上下文的上下文特定前缀。实验结果表明,我们的模型在ACE 2005上取得了与最先进的基于分类的模型ONEIE的竞争结果,并在ERE上取得了最好的性能。此外,我们的模型还被证明可以有效地可移植到新类型的事件中。
1 引言
事件抽取是自然语言理解的一项必要但具有挑战性的任务。给定一段文本,事件抽取需要根据事件本体在每个事件中识别特定类型的事件触发词,事件论元定义事件类型和论元角色。
例如,图1中的上下文包含两个事件记录,
一个是由“returned”触发的Transport事件
另一个是由“capture”触发的Arrest-Jail事件。
在Transport事件中,Artifact是“the man”,Destination是“Los Angeles”,而Origin是“Mexico”。
在Arrest-Jail事件中,Person是“the man”,Time是“Tuesday”,而Agent 是“bounty hunters”。
本文主要实现没有进行实体标注的提取事件的任务设置,这在实际应用程序中更实用。
大多数事件抽取任务将触发词和论元的抽取视为多分类任务,通过pipelined框架或级联解码来实现。
近来,把事件抽取任务作为序列生成任务来解决或引导引导预训练模型以离散提示输出条件生成序列的较多,与基于分类的方法相比,这样做需要更少的标注数据,只需要稍微修改设计的prompt和解码策略,更容易扩展到新的事件类型。
基于生成的方法存在两个重大挑战(1)suboptimal prompts:手动为每种事件类型设计提示,没有调优,在很大程度上影响模型性能。(2)static event type information:在抽取特定类型的事件时,最近的基于生成的方法将只接收有关正在运行的事件类型的相同事件类型信息,而不考虑其他可能的事件类型之间的关联。
2 相关工作
2.1 基于分类的事件抽取
2.2 基于生成的事件抽取
2.3 prompt调优
3 基于模板生成的方法
![](https://img-blog.csdnimg.cn/ab0be7a634bd487187f1a62b7e920123.png)
3.1 问题设计
在事件抽取的条件生成任务公式中,将根据事件类型将文本上下文的提取过程划分为多个子任务。
即,给定一个事件本体,事件类型集为
,对于事件类型
的每个子任务
的输入由上下文
和设计的prompt
组成,输出是回答的prompt
,包含提取的事件记录 。
例如:Hariri submitted his resignation during a 10-minute meeting with the head of state at the Baabda presidential palace
输入:[prompt; [SEP]; 上下文]
[Event type Meet.Trigger <trg> <IN_SEP> <arg> met with <arg> in <arg> place; [SEP];
3.2 基本架构
如图 2 所示,条件生成子任务由预训练的编码器-解码器语言模型(LM)、BART和 T5建模。在生成过程中,编码器-解码器 LM 模拟了在前一个token 和编码器输入
的条件下选择新token
的条件概率。因此,给定输入序列
,生成的输出序列
的概率计算为:
3.3 prompt设计
![](https://img-blog.csdnimg.cn/edab4dc8ad3b407597ad87b7781bb0e4.png)
![](https://img-blog.csdnimg.cn/af16ab658b4240f2ab623659a4caeb16.png)
![](https://img-blog.csdnimg.cn/453d6c6a46d84eeabd5183c71005379e.png)
![](https://img-blog.csdnimg.cn/e329c53116f942b0803c139f2f0c340d.png)
事件类型
描述子任务事件类型ei的序列,使用的模板为“Event type is [MASK].”,例如Meet事件的事件类型指令为“Event type is Meet.”
模板
使用<trg>和<arg>表示触发词和论元,通过<IN_SEP>连接,例如:
触发词部分是Trigger <trg>,论元部分是特定于事件类型ei的,由人工设计和寻找最佳模板。
Ground Truth Construction
对于句子中的每个事件类型ei,将事件填充到模板
,构建序列
,用于条件生成。
若没有事件类型ei的事件记录,generation ground truth是Trigger <trg>,否则,事件类型被填充到模板中。
如果几个论元被归类为相同的角色,那么这些论元按照span排序,然后由'and'连接。如果有多个事件类型,按触发词的span排序,并且填充的序列将由一个新的单独的标记<OUT_SEP>连接
3.4 训练推理和分析
训练
基本模型GTEE-Base的可训练参数只是编码器-解码器语言模型,用来表示所有的可训练参数。训练目标是最小化训练集D中所有子任务
的negative loglikelihood,
表示D中的第j个句子
推理
在推理阶段,基础模型通过波束搜索BEAM=6生成序列,最大序列长度是根据数据集统计量设置的,略大于真实值的长度。
分析
根据事件本体O,通过模板匹配和插槽映射来解析事件记录,并不是所有生成的输出序列都是有效的,对于每个生成序列,首先尝试解析触发词,若失败了,跳过该序列;若不能匹配<IN_SEP>或模板的论元部分,将跳过论元解析,只保留一个触发词。
3.5 无关事件类型
通过调查解析的事件时,我们发现我们的模型即使对于不相关的事件类型也有生成事件记录的偏差。 当输入上下文不包含任何事件记录时,这将在很大程度上损害precision分数和 F1 分数。 在 ACE 2005 和 ERE 中分别有 80.28% 和 71.02% 的句子不包含任何事件记录。
因此,我们提出了一个简单而有效的解决方案,通过单独训练一个无关性的分类器IC来缓解这个问题。将上下文C作为输入,我们微调BERT mdoel通过给编码[CLS]向量MLP二进制分类器,看看上下文是否包含任何事件记录或完全无关的本体o。
4 动态前缀调整
我们提出使用任务特定前缀和上下文特定前缀进行动态前缀调整,以缓解基于生成的事件提取中的两个主要挑战。我们的动态前缀调优模型的框架,GTEE-DYNPREF,如图3所示。我们将逐步介绍动态前缀调优。
4.1 特定类型的动态前缀
受前缀调优的启发,我们使用事件类型特定的前缀STAPREF,它是一对两个transformer激活序列,每个序列包含L个连续的D-dim向量,分别作为编码器和解码器的历史值。从编码器和解码器输入的角度来看,在子任务
中,编码器-解码器LM中的序列X和Y的前缀几乎被提前添加。
这些transformer激活序列的主要优点是:为编码器和解码器提供可训练的上下文。
首先为本体o的每个事件类型ei初始化一对特定于任务的前缀,然后在条件生成子任务中,我们预先将相应的一对特定于任务的前缀
作为编码器和解码器的transformer activations。
使用可训练的嵌入张量来建模类型特定前缀sp,对于本体o中的事件类型ei,索引t的前缀向量
为:
我们称特定于任务的前缀为静态的原因是:对于具有相同事件类型的子任务,输出类型指令是相同的。即这样的前缀只保留了关于一个单一事件类型的上下文,而忽略了不同事件类型之间的关联。
4.2 特定上下文动态前缀
为了在构建可训练前缀时捕获不同事件类型之间的关联,我们提出了 DYNPREF,它在提示预训练语言模型时使用上下文特定信息构造动态前缀。
如图4所示,与sp的序列长度相同,都为L,对于每个position t,前缀向量
根据多头注意动态积分本体O中事件类型ei的所有前缀向量前缀信息c。为了计算上下文特定的信息c,我们应用BERT 模型作为上下文编码器,将上下文C作为输入,并将[CLS]向量作为c。
特定于上下文的前缀 是动态的,因为它在引导 LM 时既考虑了本体 O 中特定于类型的信息,也考虑了独特的上下文信息。
按照 Li 和 Liang(2021 年)的方法,我们在编码器-解码器 LM 的第 i 个时间步,循环计算解码器transformer的激活向量 ,它是所有层的集合。
编码器transformer的激活向量的计算与此类似。
4.3 训练
除LM参数φ外,DYNPREF的附加可训练参数还包括嵌入张量P和BERT编码器建模上下文信息。
我们通过建模一个自然语言模型MLP和另一个嵌入张量,对张量p进行重新参数化,最后p计算为:
现在我们使用θ来表示为DYNPREF引入的所有参数。
训练目标仍然是最小化公式(2)中的负对数似然。然而,在我们的初步实验中,我们发现联合学习LM参数φ和DYNPREF参数θ需要不同尺度的训练超参数,因此很难学习提取事件参数的能力。因此,我们分三个步骤分别训练它们:
(1)首先,我们使用GTEE-BASE训练φ来学习任务信息。
(2)然后我们修复LM参数φ,并在每个子任务中屏蔽除ei外的所有其他事件类型,只优化θ,以学习每个事件类型的类型特定信息。
(3)最后,我们删除了事件类型的屏蔽,保持LM参数固定,并且只使用DYNPREF优化θ,以捕获相关事件类型之间的关联。