Dynamic Prefix-Tuning for Generative Template-based Event Extraction
代码:无
期刊/会议:ACL 2022
摘要
我们以基于模板的条件生成的生成方式考虑事件抽取。尽管将事件抽取任务转换为带有提示的序列生成问题的趋势正在上升,但这些基于生成的方法存在两个重大挑战,包括使用次优提示和静态事件类型信息。在本文中,我们提出了一种基于生成模板的动态前缀事件抽取方法(GTEE-DYNPREF),该方法通过集成上下文信息和特定类型的前缀来学习每个上下文的特定上下文前缀。实验结果表明,该模型在ACE 2005上与目前最先进的基于分类的ONEIE模型具有相当的性能,在ERE上表现最好。此外,我们的模型被证明可以有效地移植到新类型的事件。
1、简介
事件抽取是自然语言理解中一个重要而又具有挑战性的任务。给定一段文本,事件抽取系统需要根据定义了事件类型和论元角色的事件本体,在每个事件记录中识别具有特定类型的事件触发词和具有正确角色的事件论元(Doddington et al, 2004;安,2006)。例如,图1中的上下文包含两个事件记录,一个由“returned”触发的Transport事件和一个由“capture”触发的Arrest-Jail事件。在Transport事件中,Artifact是“the man”,Destination是“Los Angeles”,Origin是“Mexico”。在“Arresr-Jail”事件中,“Person”是“the man”,“Time”是“Tuesday”,“Agent”是“bounty hunters”。在这项工作中,我们重点研究了在没有标准实体标注的情况下抽取事件的任务设置,这在实际应用中更实用。
大多数事件抽取工作将事件触发词和事件论元的抽取视为几个分类任务,要么在流水线形式(Ji和grisman, 2008;刘等,2020;Du和Cardie, 2020;Li et al, 2020)或联合形式(Li et al, 2013;Yang和Mitchell, 2016;Nguyen等人,2016;刘等,2018;Wadden等人,2019;Lin et al, 2020)。
通过应用特殊解码策略,将事件抽取任务转换为序列生成问题的趋势正在上升(Paolini等人,2021;Lu等人,2021)或引导预训练的语言模型输出带有离散提示的条件生成序列(Li等人,2021;Hsu等人,2021)。与基于分类的方法相比,这一行的工作更加数据高效和灵活,它需要更少的标注数据来实现可接受的模型性能,更容易通过稍微修改设计的提示和解码策略扩展到新的事件类型。
然而,这些基于生成的方法存在两个重大挑战,阻碍了基于分类的方法获得具有竞争力的结果。(1)次优提示:首先,他们为每种事件类型手动设计提示(Li et al, 2021;Hsu等人,2021),这些参数在没有调优的情况下是次优的,并且在很大程度上影响模型性能。(2)静态事件类型信息:其次,在抽取特定类型的事件时,最近的基于生成的方法将只接收到与正在运行的事件类型有关的相同事件类型信息,而不考虑其他可能的事件类型之间的关联。
为了缓解上述两个挑战,我们提出了一种具有动态前缀的基于生成模板的事件抽取方法,记为GTEE-DYNPREF。如图1所示,我们遵循之前的工作(Li et al, 2021;Hsu等人,2021),使用预训练的编码器-解码器语言模型BART (Lewis等人,2020)进行条件生成,逐类型抽取事件记录。对于每个事件类型,我们首先初始化一个特定于类型的前缀,该前缀由一系列可调向量组成,作为transformer历史值(Li和Liang, 2021)。特定于类型的前缀为单个类型提供了可调的事件类型信息。然后,我们将上下文信息与所有特定于类型的前缀集成,以学习特定于上下文的前缀,动态组合所有可能的事件类型信息。
我们在两个广泛使用的事件抽取基准上评估我们的模型,ACE 2005和ERE。实验结果表明,该模型在ACE 2005上与目前最先进的基于分类的ONEIE模型具有相当的性能,在ERE上表现最好。此外,根据迁移学习的结果,我们的模型也可以有效地适应新的事件类型。
2、相关工作
2.1 基于分类的事件抽取
事件抽取通常被表述为序列标记分类问题(Nguyen等人,2016;Wang等,2019;Yang等,2019;Wadden等人,2019;Liu et al, 2018)。其中一些包含全局特征并应用联合推理(Lin et al, 2020;Li等,2013;Yang和Mitchell, 2016)共同建模事件依赖性。此外,最近的工作将事件抽取视为机器阅读理解(MRC)问题(Liu等人,2020;Du和Cardie, 2020;Li等人,2020)通过构造问题来查询事件触发词和论元。
我们的工作将事件抽取视为条件生成任务,这更加灵活和可移植,从而减少了标注的负担。
2.2 基于生成的事件抽取
将事件抽取作为序列生成问题的工作线正在上升,例如转换为翻译任务(Paolini等人,2021),使用约束解码方法生成(Lu等人,2021)和基于模板的条件生成(Li等人,2021;Hsu等人,2021)。
上述两种最接近的方法(Li et al, 2021;Hsu等人,2021)都使用手动设计的离散模板,这导致了次优问题。此外,应用的静态类型指令(static type instructions)不考虑同一上下文中事件之间的连接。我们用动态前缀(dynamic prefic)代替静态类型指令,在训练过程中,动态前缀是连续的、可调的向量,结合人工事件模板,缓解了次优问题。
2.3 提示学习
有一种工作是使用特定的句子模板和预训练的模型来解决自然语言理解任务。基于人类的内省(introspection),很自然地会出现前缀式(prefix-style)(Brown et al, 2020)或完形式(close-style)(Petroni et al, 2019)的提示,这些提示被称为“descrete prompt”。离散提示调优的现有工作(Shin等人,2020;Gao等,2021;Schick等人,2020)依赖于verbalizers来从类标签映射到答案token。这些方法被证明在文本分类和条件文本生成任务的少样本设置中是有效的(Schick和Schütze, 2021b,a,c)。还有一些方法可以探索直接在模型的嵌入空间中操作的连续提示,例如对向量进行调整(Li和Liang, 2021;Lester等人,2021年;Tsimpoukelli等人,2021),用离散提示进行初始化(Zhong等人,2021;Qin和Eisner, 2021;Hambardzumyan等人,2021)和混合提示调优(Liu等人,2021b,a;Han等,2021)。
3、基于模板生成的方法
我们将事件抽取任务作为条件生成过程重新审视,并将我们的基本模型(GTEE-BASE)如图2所示。
3.1 问题定义
在事件抽取的条件生成任务制定中,将文本上下文的整个抽取过程根据事件类型划分为若干个子任务。具体来说,给定一个事件类型集E = { e i ∣ i ∈ [ 1 , ∣ E ∣ ] } 的事件本体O,针对事件类型e i 的每个子任务S e i , C 的输入由上下文C 和设计好的提示符P e i组成。输出是已回答的提示A e i ,包含抽取的事件记录。
我们以事件类型e i 的单个条件生成子任务S e i , C 为例来解释以下内容。
3.2 基础架构
如图2所示,条件生成子任务由预训练的编码器-解码器语言模型(LM)、BART (Lewis et al, 2020)和T5 (rafffel et al, 2020)建模。在生成过程中,编码器-解码器LM通过先前的token y < i 和编码器输入X ,来建模挑选一个新的token y i 的条件概率。因此,在给定输入序列X的情况下,计算产生输出序列Y 的整个概率p ( Y ∣ X ) 为:
其中,[ ; ]表示序列的连接操作,[SEP]表示编码器-解码器LM的分隔符。
3.3 提示设计
类似于用于事件抽取的最先进的端到端生成方法DEGREE-E2E (Hsu等人,2021),在我们的基本模型GTEE-BASE中,子任务S e i , C 的提示P e i 包含类型指令I e i 和模板T e i 。
类型指令。描述子任务中的事件类型e i 的简短自然语言序列I e i 。我们使用模式“事件类型是[MASK]”。,为事件类型集E 构造类型指令。例如,事件类型Meet的类型指令是" Event type is Meet. "。
模板:特定于类型的模式T e i ,它包含几个占位符,反映论元如何参与事件。我们使用两种类型的占位符,< trg >和 < arg >,分别表示触发词和论元。模板由触发词部分和论元部分组成。这两个部分由一个新的单独的token < IN-SEP >连接起来。如图2所示,触发词部分是“trigger < trg >”,它将识别所有事件类型。论元部分特定于事件类型e i 。由于设计和搜索最佳模板的手工工作,我们遵循Li等人(2021)在本体O中重用预定义论元模板。原始的预定义论元模板(< arg > < arg1 >)包含了数字标签和插槽映射M \mathcal{M}M到相应的论元角色。我们也跟随Li等人(2021年)取消这些数字标签。
正确标注构建。对于上下文C 中的每个事件类型e i ,我们通过将正确事件记录填充到模板T e i 中,用于构造条件生成的正确标注序列G e i,C 。如果没有事件类型e i 的事件记录,则生成地真值为“Trigger < trg >”。否则,事件记录将作为图2中的输出填充在模板T e i 中。如果几个论元被归类为相同的角色,这些论元首先按span排序,然后用“and”连接。如果有多个事件记录,它们将根据触发词的跨度进行排序,并且填充的序列将由一个新的单独token <OUT_SEP >连接起来。
3.4 训练、推理和解码
训练。我们的基本模型GTEE-BASE的可训练参数只有编码器-解码器LM。我们用ϕ 来表示所有可训练的参数。因此,训练目标是最小化训练集D 中所有子任务S e i , C j 的负对数似然,其中C j 表示D中的第j 个上下文。
推理。在推理阶段,我们的基模型通过beam search BEAM = 6生成序列。根据数据集统计数据设置最大序列长度,最大序列长度略大于最长ground truth的长度。
解码。基本上,我们根据本体O通过模板匹配和插槽映射来解析事件记录。请注意,并非所有生成的输出序列都是有效的。对于每个生成的序列,我们将首先尝试解析一个触发器。如果失败,我们将跳过该序列。然后,如果我们未能匹配或模板T e i 的论元部分,我们将跳过论元解析,只保留一个触发词。
3.5 无关事件类型
通过研究已解析的事件记录,我们发现我们的模型即使对于不相关的事件类型也会产生事件记录。当输入上下文不包含任何事件记录时,这将是致命的,这将在很大程度上影响precision分数和F1分数。ACE 2005和ERE中分别有80.28%和71.02%的句子不包含任何事件记录。
因此,我们提出了一个简单而有效的解决方案,通过单独训练一个不相关分类器IC来缓解这个问题。以上下文C 作为输入,我们通过将编码的[ CLS ] 向量作为二分类器提供给MLP来调整BERT模型(Devlin et al, 2019),以查看上下文是否包含任何事件记录或与本体O 完全无关。值得注意的是,可能存在其他方法来避免这个问题。正如Cui等人(2021)将NER任务制定为一个排序任务,以避免在类似的条件生成任务设置中不相关的实体类型。
4、动态前缀微调
我们建议使用特定于任务的前缀和特定于上下文的前缀进行动态前缀调优,以缓解基于生成的事件抽取中的两个主要挑战。我们的动态前缀调优模型框架GTEE-DYNPREF如图3所示。我们将逐步介绍动态前缀调优。
4.1 特定类型的静态前缀
受到前缀微调 (Li和Liang, 2021)的启发,我们使用特定于事件类型的前缀STAPREF,它是一对两个transformer激活序列{ s p , s p ′ } ,每个序列分别包含L个连续D-dim向量作为编码器和解码器的历史值。从编码器和解码器输入的角度来看,在子任务S e i , C 中,编码器-解码器LM中序列X和Y的前缀实际上是预先添加的。
这些transformer activations序列的主要优点是它们为编码器和解码器提供了可训练的上下文,这也是可计算实现的。
我们首先为本体O中的每个事件类型e i初始化一对特定于任务的前缀{ s p e i , s p e i′ } ,然后在条件生成子任务S e i , C 中,我们将相应的特定于任务的前缀{ s p e i , s p e i′ } 作为编码器和解码器的transformer activations。
遵循Li和Liang(2021),我们使用可训练的嵌入张量P ∈ R ∣ E ∣ × L × D 来建模特定的上下文前缀s p。对于本体O 中的事件类型e i ,这个前缀向量 在索引t的值为:
我们将特定任务的前缀称为静态的原因是,对于相同事件类型的子任务,输出类型指令是相同的。换句话说,这样的前缀只保留了关于单一事件类型的上下文,忽略了不同事件类型之间的关联。
4.2 特定上下文的动态前缀
为了在构造可训练的前缀时捕捉不同事件类型之间的关联,我们提出了DYNPREF,它在提示预训练的语言模型时构造具有特定上下文信息的动态前缀。
上下文特定的前缀d p C 是动态的,因为它在引导LM时考虑了本体O中类型特定的信息和唯一的上下文信息。
继Li和Liang(2021)之后,我们在编码器-解码器LM中的时间步骤i循环地计算解码器transformer激活向量h i ,它是所有层的连接。
4.3 训练
除LM参数ϕ外,DYNPREF的附加可训练参数包括嵌入张量P 和BERT编码器建模上下文信息。
特别地,我们按照训练建议(Li and Liang, 2021),通过建模一个MLP和另一个小维D ′ < D 的嵌入张量P ′ ∈ R ∣ E ∣ × L × D ′ ,对嵌入张量P 进行重新参数化。最后,计算P P为
P [ e i , t , : ] = MLP ( P ′ [ e i , t , : ] )
现在我们用θ 来表示DYNPREF的所有引入参数。
训练目标仍然是最小化式(2)中φ和θ 的负对数似然。然而,在我们的初步实验中,我们发现联合学习LM参数ϕ和DYNPREF参数θ 需要不同规模的训练超参数,很难学习抽取事件论元的能力。因此,我们将它们分别训练,分为三个步骤:(1)首先,使用GTEE-BASE训练ϕ 来学习任务信息。(2)然后固定LM参数ϕ,并在每个子任务S e i , C 中屏蔽除e i 外的所有其他事件类型,只优化θ,以学习每种事件类型的类型相关信息。(3)最后,我们去除事件类型的屏蔽,保持LM参数固定,只使用DYNPREF优化θ,以捕获相关事件类型之间的关联。
5、实验设置
5.1 数据集
ACE2005(LDC2006T06)、ERE(LDC2015E29、LDC2015E68、LDC2015E78)。
5.2 评估指标
precision、recall、F1。
5.3 Baseline
基于分类的模型:DyGIEE++、GAIE、ONEIE、BERT_QA、MQAEE。
基于生成的模型:TANL、BART-GEN、Text2Event、DEGREE-E2E。
5.4 实验设置
如§3.5所述,与正样本相比,负样本的数量是压倒性的。因此,我们在三个数据集的训练和开发集分割中仅抽取4%的负样本,使所有样本保持在测试分割中。
6、结果
6.1 监督的设置
可训练的提示提高了效果。GTEE-DYNPREF在所有数据集上都优于使用固定模板的事件抽取方法DEGREE和不带提示的生成式事件抽取方法TEXT2EVENT,显示了具有提示的可训练动态前缀的有效性。
6.2 迁移学习设置
GTEE-DYNPREF利用事件类型模板,并在动态前缀中使用特定于上下文的信息对其进行优化,这很容易扩展到一种新的事件类型。
6.3 消融实验
表5展示了连续提示的效果大于离散提示、动态提示的效果大于静态提示。
6.5 内在评估
对比了前缀的长度L 和嵌入的维度D ′。
7、总结
本文研究了基于模板的条件生成方式下的事件抽取。我们提出了动态前缀调优模型GTEE-DYNPREF用于事件抽取。一方面,该方法构造可调的前缀来建模特定于类型的信息,另一方面,当引导预训练的语言模型时,GTEE-DYNPREF捕获事件类型之间的关联并计算特定上下文的前缀。实验结果表明,我们的模型与ACE 2005的SOTA相比具有竞争力,并且可以有效地移植到新的事件类型中。