【论文原文】:KiPT: Knowledge-injected Prompt Tuning for Event Detection
【作者信息】:Li, Haochen and Mo, Tong and Fan, Hongcheng and Wang, Jingkun and Wang, Jiaxi and Zhang, Fuhao and Li, Weiping
论文:https://aclanthology.org/2022.coling-1.169.pdf 代码:未开源
博主关键词:知识注入,提示学习,事件检测
推荐相关论文:无
摘要
事件检测旨在通过识别和分类事件触发词(最具代表性的单词)来从文本中检测事件。现有的大部分工作严重依赖复杂的下游网络,需要足够的训练数据。因此,这些模型在结构上可能是冗余的,并且在数据稀缺时表现不佳。基于提示的模型很容易构建,并且很有希望完成少样本任务。然而,目前基于提示的方法由于没有引入事件相关的语义知识(如词性、语义相关性等),可能存在精度不高的问题。为了解决这些问题,本文提出了一种知识注入的提示调优模型。具体来说,事件检测任务被表述为条件生成任务。然后,利用外部知识库构建知识注入提示,并利用提示调优策略对提示进行优化。大量实验表明,KiPT优于强基线,特别是在少样本场景下。
1、简介
事件触发词是事件中最具代表性的词语或短语,通常由动词或名词组成。事件和事件触发词之间是一一对应的,因此ED任务相当于识别和分类事件触发词。事件检测具在下游任务具有很多的应用,因此ED广泛吸引了学术界和工业界大量的关注。
目前大多数ED模型使用预训练语言模型来构建复杂的下游网络(包括CNN、RNN、GCN等),这些方法在公共数据集上表现良好,并引入大量额外参数,但它们严重依赖于微调策略来训练其下游网络。然而,由于ED标注数据的稀缺性和分布不均匀,这些方法可能会导致严重的过拟合问题。此外,这些方法在数据稀缺的情况下可能表现不佳,因为它们的额外参数不能完全优化。
基于提示的学习方法是近年来自然语言处理的新趋势。研究人员证实,预训练的语言模型已经有足够的知识,所以复杂的下游网络在很多情况下是不必要的。基于提示的学习方法充分利用预训练语言模型中的信息,通过构造提示来指导语言模型解决NLP任务。具体来说,基于提示符的方法首先将原始输入转换为包含初始输入、提示token和未填充的输出槽的提示模板。然后,使用预训练的语言模型来填充未填充的插槽,以获得最终字符串,从中可以导出最终输出。
基于提示学习的方法消除了复杂的下游网络和大量额外参数,因此在数据稀缺的情况下具有优势。同时,提示的质量直接影响模型的表现。但是,手动选择最佳提示费时费力。考虑到这一点,提出了提示调优策略,通过引入连续的虚拟token作为可训练的提示,将通过训练进行优化。但是,上述提示由于没有引入事件相关的语义知识,可能导致精度较低。
事件触发词多为动词和名词,通常在语义上与事件的核心概念词相关。因此,语义知识(如词性、词语语义关联等)在ED任务中起着至关重要的作用。为此,本文提出了一种知识注入提示调优(KiPT)模型,利用外部知识库引入事件相关知识。
具体来说,我们将ED任务制定为条件生成任务。然后,利用外部知识库和语义工具获取与输入句子和事件相关的语义知识。然后,将语义知识注入到ED提示中。最后,使用注入知识的提示提取事件触发词,并通过提示调优策略对提示进行优化。我们的方法直接有效,可以很容易地推广到其他任务中。
本文的主要贡献总结如下:
- 我们引入了知识注入方法,将事件相关语义知识注入到提示模板中,这在ED任务中尚属首次;
- 我们为ED提出了一种基于提示的学习模型,称为知识注入提示调优(KiPT),它利用提示调优策略来优化提示;
- 大量实验表明,我们的模型优于当前基于提示的ED模型和强基线,特别是在数据稀缺的情况下。
2、相关工作
2.1 事件检测方法
事件检测模型通常被分为序列标注模型和条件生成模型。
Chen等人和Nguyen等人首次将ED定义为序列标记任务,并使用CNN和RNN对句子级特征进行建模;Liu等和Y an等使用GCN来强调语义依赖。Nguyen和Nguyen基于共享的隐藏表示共同提取实体、触发词和论元;Wadden等人提供了一种图形传播方法来捕获与实体、关系和事件相关的上下文;Lin等人构建了一个端到端信息提取系统,该系统采用全局特征和beam search来提取全局最优事件结构;
条件生成方法使用生成式预训练语言模型(如BART(Lewis et al, 2019)和T5(rafffel et al, 2019))对句子进行编码。Li等人利用BART的条件生成模型,Paolini等人将事件提取视为增强自然语言之间的翻译任务;Lu等人将事件构建为事件树,并使用Seq2Structure模型。
2.2 基于提示学习的方法
基于提示的学习方法使用提示来指导预训练的语言模型来生成结果,因此提示模板的质量至关重要。目前基于提示的学习模板包括:手动设置离散提示模板(模板中的实际单词):Schick和Schütze使用手动提示模板将文本分类任务转换为完形填空任务。Petroni等人通过提示模板将三元组补全任务转换为完形填空问题。
构建可训练的连续提示模板(模板中的虚拟token):Li和Liang使用可训练的前缀标记作为提示,并在语言模型的每一层添加软token。Liu等人在提示模板中用可训练的软token替换了实际单词,并引入了额外的提示编码器。
然而,这两种方法都没有引入与任务相关的知识,不能与外部知识一起优化提示。
2.3 基于提示知识的注入
一些著作已经尝试在提示型学习中引入外部知识。Hu等人通过在语言器中引入额外的知识来增强模型输出和预定义类别的映射。Chen等人引入虚拟token来增强关系提取任务的类别特征。Li等人通过引入ground-truth加强了模型。尽管这些方法很有指导意义,但它们具有很强的任务依赖性,很难应用于事件检测。我们的工作旨在使用具有事件相关知识的基于提示的模型来执行ED任务。
为此,本文提出了一种知识注入的提示调优方法。
3、方法
本节首先介绍ED任务的定义。然后,详细介绍了所提出的KiPT模型。
3.1 任务描述
根据自动内容提取的任务描述,ED的标准任务包括事件触发词识别(Trig-I)和触发词分类(Trig-C)。请考虑图1中的示例。ED方法在获取输入句子后,首先识别触发词“war”和“kill”的事件,然后将其分为“Conflict:Attack”和“Life:Die”两种事件类型。
为了简化输出,本文将标准ED任务化为条件生成任务。首先,结构词“triggers”用于组合触发词及其对应类型,如“war triggers Conflict:Attack”。然后,如果一个句子包含一个以上的事件,这些事件将被另外一个结构词"and"连接。考虑图1中的例子,我们构建的事件记录是“war triggers Conflict:Attack and kill triggers Life:Die”。因此,给定输入句子,我们的模型生成上述事件记录作为输出。值得一提的是,我们方法的输出与原始ED任务相当,因为事件记录可以很容易地分成事件触发词和事件类型。
3.2 KiPT的整体架构
KiPT的总体结构如图2所示。首先,给定输入句子x ,构造知识注入提示P r o m p t ( x ) 。然后构建提示模板输入T,输入预训练的语言模型LM,得到输出事件记录y 。
我们在KiPT中提出了一种可训练的知识注入提示P r o m p t ( x ) 。P r o m p t ( x ) 包括两部分:与输入相关的知识注入K ( x )和与输入无关的软token S 。K ( x ) 和S 都是可训练的,在训练过程中会进行优化。
在下面的小节中,将详细解释知识注入提示的构造和调优。
3.3 知识注入的提示构建
本节首先介绍知识注入K ( x )和软token S 的定义。然后,将K ( x )和S 组合成提示符P r o m p t ( x )。
知识库中的语义关联也为ED提供了重要的信息。每一种事件都有一些核心概念,例如,事件类型"Conflict: Attack" 有一些概念如"attack, fight, bomb, etc.",事件类型"Life: Die" 有"kill, suicide, murder, etc."的概念。为了挖掘词汇和事件核心概念的语义相关性,我们做了以下假设:
假设3.1:如果一个词与特定事件类型的核心概念有很强的语义相关性,那么这个词就有可能触发该类型的事件。
3.4 知识注入的提示调优
知识注入提示符P r o m p t ( x )需要通过训练进行优化,主要有以下两个原因:
(1)在构建知识注入K ( x )的过程中使用了一些基于规则的算法。然而,这些规则在某些情况下可能是无效的,甚至是错误的,所以这些规则需要通过训练来磨合;
(2)软token S是随机初始化的虚拟张量,没有原始语义。它们需要经过训练,以接近实际单词的分布,以实现语言模型的提示作用。
为此,我们提出了知识注入提示调优来优化P r o m p t ( x ) 。给定一个预先训练好的语言模型LM及其词汇V ,提示模板的输入T 为:
D是训练的整个数据集,θ L M 是LM的参数。
之前的研究(Liu et al, 2021)表明,实际token和虚拟token的嵌入之间存在语义差距。由于通过预训练,实际单词的嵌入是高度离散的,因此可训练的软提示符号是随机分布的。在随机梯度下降过程中,它们只会在一个小范围内发生变化。
因此,在Liu等人的工作之后,我们使用精简的多层线性网络(MLP)作为提示编码器,以缩小实际单词嵌入和提示token之间的语义距离:
损失函数将被修改为:
θ MLP是MLP网络的参数。
4、实验
数据集:ACE 2005,TAC 2015。
评估指标:Trigger-Classification(Trig-C)、Trigger-Identification(Trig-I)。micro-averaged precision,recall,f1。
Baseline:
- 序列标注模型:Joint3EE,DYGIE++,OneIE。
- QA模型:BERT_QA,MQAEE。
- 生成模型:BERT-GAN,TANL,Text2Event。
- 提示学习模型:PokE,GDAP。
实验结果
结论:
- KiPT超过了PoKE和GDAP两种提示学习模型,因为利用了事件相关的知识。提示学习模型可能存在高召回率,低准确率的问题。我们认为基于提示的学习模型只使用预先训练的语言模型的知识,这是更常见的,但缺乏任务特异性。更大的预训练模型可能包含更多的事件相关知识。
- 相对于Text2Event和PoKE模型来说,KiPT模型提示微调策略的有效性。
- KiPT比条件生成模型和基于QA模型效果更好,这表明KiPT通过知识注入将潜在的触发词及其对应的事件类型绑定在一起,因此在识别触发词后更容易正确地对其进行分类。
- 相对于OneIE序列生成模型来说,在数据充足的情况下,它是具有竞争力的,但是在复杂的下游任务情况下,通常数据不充足。
少样本实验结果
零样本实验结果
消融实验
5、结论
本文通过引入知识注入提示调优,提出了一种基于提示的ED学习方法。利用外部知识和软token构建知识注入提示,通过训练对提示进行优化。综合实验表明,KiPT优于当前基于提示的ED模型和强基线,特别是在数据稀缺的情况下。通过我们的方法,基于提示的模型可以更方便有效地引入任务相关知识。在未来,我们将探索更多的知识注入方法及其在其他任务中的应用。
【论文速递 | 精选】
论坛地址:https://bbs.csdn.net/forums/paper