Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction 论文解读

Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction

论文:Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction - ACL Anthology

代码:mayubo2333/PAIE: ACL’2022: Prompt for Extraction? PAIE: Prompting Argument Interaction for Event Argument Extraction (github.com)

期刊/会议:ACL 2022

摘要

在本文中,我们提出了一个既有效又高效的模型PAIE,用于句子级和文档级的事件论元抽取(EAE),即使在缺乏训练数据的情况下也能很好地泛化。一方面,PAIE利用抽取目标的提示调优,以充分利用预训练语言模型(PLMs)的优势。它根据提示在每个角色的输入文本中选择开始/结束标记,引入了两个span选择器。另一方面,它通过多角色提示捕获论元交互,并通过二部匹配损失进行最优跨度分配的联合优化。此外,通过灵活的提示设计,PAIE可以抽取具有相同角色的多个论元,而不是传统的启发式阈值调优。我们在三个基准上进行了广泛的实验,包括句子级和文档级EAE。结果显示,与PAIE相比有了很大的改善(在三个基准上,PAIE-base和PAIE-large的F1平均涨幅分别为3.5%和2.3%)。进一步的分析证明了不同抽取提示调优策略的效率、对少样本设置的泛化和有效性。

1、简介

通过识别事件和论元来理解文本一直是自然语言处理(NLP)的长期目标(Sundheim, 1992)。如图1所示,我们可以很快地理解该文档谈论的是一个Sell事件,有四个涉及的论元,即Vivendi (Seller)Universal Studios (Artifact)parks (Artifact)company (Artifact),其中论元角色在括号中。由于事件检测近年来取得了巨大的成功(Wang et al, 2021),主要的挑战在于事件论元抽取(EAE)。

典型的EAE工作可以大致分为两类。第一种方法将其表述为语义角色标签问题(Wei等人,2021)。通常有两个步骤——首先确定候选论元范围,然后对它们的角色进行分类。虽然提出了联合模型来共同优化它们,但对候选对象的高度依赖仍然可能受到误差传播的影响(Li et al, 2013)。在第二种方法中,最近的研究倾向于受预训练语言模型(PLMs)的启发,并通过**问答(QA)**解决EAE (Liu et al, 2021a;Wei等,2021;Du和Cardie, 2020;刘等,2020;Li等人,2020)和文本生成(Lu等人,2021;Li et al, 2021)。基于QA的模型可以有效地识别针对特定角色问题的论元边界,而预测则需要逐个进行。基于生成的方法对于生成所有论元是有效的,但是顺序预测会降低长距离和更多论元的性能。此外,最先进的性能仍然不尽人意(约68% F1在ACE2005数据集上)。这里提出了一个有趣的问题,有没有办法将上述方法的优点结合起来,同时提高性能?

本文针对真实场景,要求EAE模型在句子和文档级别上都有效且高效,甚至在没有足够训练数据的少样本设置下。为此,我们强调以下问题:

  • 如何同时抽取所有论元以提高效率?
  • 如何有效地捕捉长文本的论元交互,而不事先知道它们?
  • 我们如何从PLMs中引出更多的知识来降低标注的需求?

在本文中,我们研究了抽取设置下的提示微调,并提出了一种新的方法PAIE,即用于EAE的提示论元交互。它扩展了基于QA的模型来处理多论元抽取,同时充分利用了PLMs的优势。基本思想是设计合适的模板来提示PLM的所有论元角色,并获得特定角色的查询,以共同从文本中选择最佳范围。因此,模板中的每个角色都充当交互的插槽,而不是不可用的论元,在学习过程中,PLM倾向于通过匹配损失用精确的论元填充这些插槽。通过一起预测论元,PAIE享有高效和有效的学习过程。此外,相似角色提示之间的事件间知识迁移,减轻了标注成本的沉重负担。

具体来说,对于提示抽取,我们设计了两个基于角色提示的span选择器,用于在输入文本中选择开始/结束标记。我们将探讨三种类型的提示:手动模板、串联模板和软提示。它们在句子级EAE (S-EAE)和文档级EAE (D-EAE)方面都表现良好,并简化了穷举提示设计的要求。对于联合跨度的选择,我们设计了一种二部匹配损失,使预测与ground truth之间的匹配成本最小,使每个论元都能找到最优的角色提示。它还可以通过灵活的角色提示来处理具有相同角色的多个论元,而不是启发式阈值调优。我们将我们的贡献总结如下:

  • 我们提出了一个新的模型PAIE,该模型对S-EAE和D-EAE都是有效和高效的,并且对少样本设置具有鲁棒性。
  • 我们制定和研究在抽取设置下的提示调优,与最佳跨度分配的联合选择方案。
  • 我们在三个基准上进行了广泛的实验。结果表明,使用PAIE有很好的改善效果(基本模型和大模型的F1平均增益分别为3.5%和2.3%)。进一步的消融研究证明了我们提出的模型的效率和泛化到少样本设置,以及提示调整抽取的有效性。

2、相关工作

事件论元抽取:事件论元抽取是事件抽取(EE)中具有挑战性的子任务。从早期阶段开始,就有大量关于EAE任务的研究(Chen et al, 2015;Nguyen等人,2016;Huang等,2018;Yang等,2018;Sha等,2018;Zheng等,2019)。Huang和Peng(2021)提议利用Deep value network(DVN)来捕获EE的跨事件依赖关系。Huang和Jia(2021)将文档转换为无权图,并使用GAT来缓解角色重叠问题。一个常见的想法是首先确定论元候选,然后通过多标签分类为每个论元填充特定的角色(Lin et al, 2020)。为了处理隐式论点和多个事件,Xu等人(2021)构造了一个异构的论元图,而DEFNN (Yang等人,2021)通过并行预测网络预测论元。

最近的一个趋势是将EAE描述为抽取性问题回答(QA)问题(Du和Cardie, 2020;Liu et al, 2020)。这种模式通过问题模板将EAE任务转换为充分探索的阅读理解任务,自然地从预训练语言模型中诱导语言知识。Wei等人(2021)通过在模板中相互添加约束来考虑角色之间的隐式交互,而Liu等人(2021a)利用数据增强来提高性能。然而,它们只能逐个预测角色,效率低下,通常会导致性能不佳。

借助预先训练的Encoder-Decoder Transformer架构,如BART (Lewis et al, 2020)和T5 (rafffel et al, 2020),最近也有一些工作将抽取任务转换为生成任务。Paolini等人(2021)提出TANL通过统一的文本到文本方法处理各种结构化预测任务,包括EAE,并在一次传递中抽取所有论元。Lu等(2021)遵循TANL,也将EAE作为顺序生成问题。Li等人(2021)通过为每种事件类型设计特定的模板来建立目标生成模型。相比之下,我们提示论元交互来指导PLMs,并通过设二部匹配损失来优化多论元检测。这不仅提高了对远距离论元依赖关系的理解,而且还通过基于提示学习共享了一个有效的过程。

基于提示学习:基于提示学习是预训练语言模型领域出现的一种新范式(Liu et al, 2021b)。与预训练和微调范式不同,基于提示的方法将下游任务转换为与模型的预训练任务更一致的形式。Schick和Schütze(2021)将各种分类问题转换为完形填空任务,方法是用空白构造相关提示,并找到从特定填充词到预测类别的映射。Li和Liang(2021)专注于生成任务,并提出了通过冻结模型参数和仅调整连续特定任务向量序列来进行轻量级前缀优化。与上述针对分类或生成任务的提示调优方法不同,本文方法在拟合抽取任务中更好地返回linear head设置。它有点类似于当前的工作P-tuning v2 (Liu et al, 2021c)。

3、方法

PAIE考虑多个论元及其相互作用,以提示PLM进行联合抽取。如图2所示,我们的模型包含三个核心组件:提示创建、跨度选择器解码和跨度预测。在下面的部分中,我们将首先制定抽取提示符,并依次描述每个组件。

3.1 制定抽取提示

现有的基于提示的方法主要集中于分类和生成任务。常规抽取目标转换为生成任务。这带来了一个低效率的问题,即模型必须枚举所有的抽取候选。例如,Cui等人(2021)设计了命名实体识别的提示符:[candicate span] is [entity type/ not a] entity。模型需要在第一个槽中填充候选实体,在第二个槽中检查LM的输出进行抽取。基于提示的方法可以直接应用于抽取吗?由于基本思想类似于分类/生成-将槽嵌入与标签词汇表/输入token进行比较。在此,我们给出了一般抽取提示方法的公式,并将其应用于EAE中进行了实例研究。

提示创建。给定上下文 X X X和一系列查询 Q = { q 1 , q 2 , … , q K } Q = \{q_1, q_2,\ldots,q_K\} Q={ q1,q2,,qK},我们创建一个包含所有这些查询的联合提示符,其中 f p r o m p t f_{prompt} fprompt是提示符创建者。
P t = f p r o m p t ( Q ) Pt=f_{prompt}(Q) Pt=fprompt(Q)
提示选择器解码。给定一个PLM L L L、上下文 X X X和提示符 P t Pt Pt,我们解码一个特定于查询(应答)的span选择器,如下所示:
θ q k = h L ( q k ; P t , X ) \theta_{q_k}=h_{L}(q_k;Pt,X) θqk=hL(qk;Pt,X)
q k q_k qk是提示中第 k k k个查询, h L h_L hL是PLM的输出。

提示跨度选择。为了找到最优的跨度,我们从上下文中为开始和结束标记设计了两个选择器:
( s , e ) q k = Span-search [ g L ( X ; θ q ) ] (s,e)_{q_k}=\text{Span-search}[g_L(X;\theta_q)] (s,e)qk=Span-search[gL(X;θq)]
其中, ( s , e ) q k (s, e)_{q_k} (s,e)qk是关于第 k k k个查询的span, g L g_L gL是span选择器。显然,这种形式优于生成抽取,主要考虑了相邻的跨度约束。

任务定义。我们定义EAE任务作为一个基于提示片段抽取问题,在数据集 D D D上。给定一个实例 ( X , t , e , R ( e ) ) ∈ D (X, t, e, R^{(e)})∈D (X,t,e,R(e))D,其中 X X X表示上下文, t ⊆ X t⊆X tX表示触发词, e e e表示事件类型, R ( e ) R^{(e)} R(e)表示事件特定角色类型的集合,我们的目标是抽取一组span A A A。每个 a ( r ) ∈ A a^{(r)}∈A a(r)A X X X的一个分段,表示关于 r ∈ R ( e ) r∈R^{(e)} rR(e)的一个论元。

3.2 EAE的提示创建

我们为数据集 D D D中的每个事件类型 e e e创建一组提示符,每个提示符包含所有角色 r ∈ R ( e ) r∈R^{(e)} rR(e)。例如,在图2中,给定事件类型 e e e为negotiate, R ( e ) R^{(e)} R(e) {Participant, Topic, Place} \text{\{Participant, Topic, Place\}} {Participant, Topic, Place},提示符 P t ( e ) Pt^{(e)} Pt(e)可以定义为:

Participant communicated with Participant about Topic at Place .

我们把提示符中提到的角色称为槽,在这个例子中有四个槽下划线(图2中有颜色)。这样的设计使我们的模型能够捕捉不同角色之间的隐式交互。

为了避免对具有相同角色的多个论元进行阈值调优,提示符可以灵活地为相同角色使用多个插槽,例如上面示例中的角色Participant。根据训练数据集中每个角色的最大论元数,启发式地确定角色的插槽数。我们设计了三个不同的提示符创建者 f p r o m p t f_{prompt} fprompt,从一组角色映射到一个提示符如下:

  1. 手动模板:使用自然语言手动连接所有角色。我们遵循Li等人(2021)的模板进行公平比较。
  2. 软提示:继Qin和Eisner(2021)和Liu等人(2021d)之后,我们将不同的角色与可学习的、特定于角色的伪token联系起来。
  3. 连接模板:连接属于同一事件类型的所有角色名。

我们在表1中给出了这三种提示的一个例子,在附录B中列出了更多的例子。

3.3 特定角色选择器的生成

给定上下文 X X X和提示符 P t Pt Pt,该模块为提示符的每个槽 k k k生成特定于角色的span选择器 θ k θ_k θk。这里我们选择 L L L作为BART (Lewis et al, 2020),这是一个标准的基于transformer的预训练语言模型,包括一个编码器和一个解码器: L = [ L e n c , L d e c ] L = [L_{enc}, L_{dec}] L=[Lenc,Ldec]

我们首先将文本标记< t >< /t >定义为特殊token,然后将它们分别插入上下文 X X X的触发词之前和之后。
X ~ = [ x 1 , x 2 , … , < t > , x s t r i n g , < / t > , … , x n ] \tilde{X}=[x_1,x_2,\ldots,<t>,x_{string},</t>,\ldots,x_n] X~=[x1,x2,,<t>,xstring,</t>,,xn]
如图2所示,我们不是直接将处理后的上下文 X ~ \tilde{X} X~和提示符 P t Pt Pt连接起来,而是将上下文分别馈送到BART-Encoder中,并将提示符分别馈送到BARTDecoder中。提示符和上下文将在解码器模块的交叉注意层相互作用。
H X ( e n c ) = L e n c ( X ~ ) , H X = L d e c ( H X ( e n c ) ; H X ( e n c ) ) , H p t = L d e c ( P t ; H X ( e n c ) ) H_X^{(enc)}=L_{enc}(\tilde{X}),\\ H_X=L_{dec}(H_X^{(enc)};H_X^{(enc)}),\\ H_{pt}=L_{dec}(Pt;H_X^{(enc)}) HX(enc)=Lenc(X~),HX=Ldec(HX(enc);HX(enc)),Hpt=Ldec(Pt;HX(enc))
其中 H X H_X HX表示面向事件的上下文表示, H p t H_{pt} Hpt表示面向上下文的提示表示。对于联合提示符中的第 k k k个槽,我们将其对应的 h p t h_{pt} hpt表示集合起来,得到 ψ k ∈ R h ψ_k∈R^h ψkRh,其中 h h h表示BART中隐藏层的维数。请注意,一个角色可能有多个槽,相应的,也有多个角色特征和跨度选择器

我们通过从提示中的每个角色特征中推导出特定角色的跨度选择器 θ k θ_k θk,对先前基于QA的方法进行了简单而有效的修改。给定角色特征 ψ k ψ_k ψk,我们有:
ψ k ( s t a r t ) = ψ k ∘ w ( s t a r t ) ∈ R h , ψ k ( e n d ) = ψ k ∘ w ( e n d ) ∈ R h \psi_k^{(start)}=\psi_k \circ w^{(start)} \in R^h,\\ \psi_k^{(end)}=\psi_k \circ w^{(end)} \in R^h ψk(start)=ψkw(start)Rh,ψk(end)=ψkw(end)Rh
其中 θ = [ w ( s t a r t ) ; w ( e n d ) ] ∈ R h × 2 θ = [w^{(start)};w^{(end)}]∈R^{h×2} θ=[w(start);w(end)]Rh×2是所有角色共享的可学习参数, ∘ \circ 代表逐元素的乘法。 θ k = [ ψ k ( s t a r t ) ; ψ k ( e n d ) ] θ_k = [ψ^{(start)}_k;ψ^{(end)}_k] θk=[ψk(start);ψk(end)]恰好是提示符中第 k k k个槽位的span选择器。只需一个元头 θ θ θ和简单的操作,我们的方法可以生成任意数量的特定于角色的span选择器,以从上下文中抽取相关论元。从prompt h p t h_{pt} hpt回顾 ψ k ψ_k ψk的生成过程,可以明显地看到不同角色之间的相互作用和上下文和角色之间信息的相互作用。

3.4 学习提示的跨度选择器

给定上下文表示 H X H_X HX和一组span选择器 { θ k } \{θ_k\} { θk},每个 θ k θ_k θk的目标是从 H X H_X HX中抽取最多一个对应的论元span ( s k , e k ) (s_k, e_k) (sk,ek)。对于 θ k θ_k θk相关的一个论元 a k = X ~ i : j a_k=\tilde{X}_{i:j} ak=X~i:j,其中 i , j i,j i,j表示上下文词的开始索引和结束索引,选择器将会期待输出 ( s ^ k , e ^ k ) = ( i , j ) (\hat s_k,\hat e_k)=(i,j) (s^k,e^k)=(i,j)作为预测。对于 θ k θ_k θk相关的无论元(当上下文没有关于该角色的论元,或者该角色的槽号超过论元数量),预计输出 ( s ^ k , e ^ k ) = ( 0 , 0 ) (\hat s_k,\hat e_k)=(0,0) (s^k,e^k)=(0,0)表示空论元?。

我们首先按照第3.1节中的抽取提示公式计算被选为每个角色特征论元的开始/结束的每个标记的分布。
l o g i t k ( s t a r t ) = ψ k ( s t a r t ) H X ∈ R L , l o g i t k ( e n d ) = ψ k ( e n d ) H X ∈ R L logit_k^{(start)}=\psi_k^{(start)} H_X \in R^L,\\ logit_k^{(end)}=\psi_k^{(end)} H_X \in R^L logitk(start)=ψk(start)HXRL,logitk(end)=ψk(end)HXRL
其中 l o g i t k ( s t a r t ) logit^{(start)}_k logitk(start) l o g i t k ( e n d ) logit^{(end)}_k logitk(end)表示每个插槽 k k k在上下文标记上的起始和结束位置分布, L L L表示上下文长度。

然后我们计算起始/结束位置的概率:
p k ( s t a r t ) = S o f t m a x ( l o g i t k ( s t a r t ) ) ∈ R L , p k ( e n d ) = S o f t m a x ( l o g i t k ( e n d ) ) ∈ R L p_k^{(start)}=Softmax(logit_k^{(start)}) \in R^L,\\ p_k^{(end)}=Softmax(logit_k^{(end)}) \in R^L pk(start)=Softmax(logitk(start))RL,pk(end)=Softmax(logitk(end))RL
定义损失函数为:
L k ( X ) = − ( log ⁡ p k ( s t a r t ) ( s k ) + log ⁡ p k e n d ( e k ) ) , L = ∑ X ∈ D ∑ k L k ( X ) L_k(X)=-(\log p_k^{(start)}(s_k) + \log p_k^{end} (e_k)),\\ L=\sum_{X \in D} \sum_{k} L_k(X) Lk(X)=(logpk(start)(sk)+logpkend(ek)),L=XDkLk(X)
其中 D D D涵盖数据集中的所有上下文, k k k涵盖 X X X提示中的所有插槽。

二部匹配:我们可选地引入双部匹配来处理相同角色的多个论元,以找到具有最小代价匹配的全局最优分配。由于我们在这个角色上插入了多个槽,每个槽生成一个预测,这是一个典型的二部匹配问题,它尽可能地匹配(每个槽的)局部最优预测和ground-truth。继Carion等人(2020)之后;杨杨等(2021),我们使用匈牙利算法(Kuhn, 1955),关于它的细节在附录A.4。

3.5 推理

为了进行推理,我们定义事件论元的候选跨度集为 C = { ( i , j ) ∣ ( i , j ) ∈ L 2 , 0 < j − i ≤ l } ∪ { ( 0 , 0 ) } C = \{(i, j)|(i, j)∈L^2, 0 < j−i≤l\}∪\{(0,0)\} C={(i,j)(i,j)L2,0<jil}{(0,0)}。它包含小于阈值 l l l的所有跨度和表示没有论元的特殊跨度(0,0)。我们的模型通过枚举和评分所有候选跨度来抽取每个跨度选择器 θ k θ_k θk的论元:
s c o r e k ( i , j ) = l o g i t k ( s t a r t ) ( i ) + l o g i t k ( e n d ) ( j ) score_k^{(i,j)}=logit_k^{(start)}(i)+logit_k^{(end)}(j) scorek(i,j)=logitk(start)(i)+logitk(end)(j)
预测得跨度槽 k k k将如下所示:
( s ^ k , e ^ k ) = arg ⁡ max ⁡ ( i , j ) ∈ C s c o r e k ( i , j ) (\hat s_k,\hat e_k)={\arg \max}_{(i,j) \in C}score_k(i,j) (s^k,e^k)=argmax(i,j)Cscorek(i,j)
由于提示符中的每个槽最多预测一个跨度,因此该策略避免了详尽的阈值调优。

4、实验

本节将围绕以下几个问题进行求解:

  • PAIE能否更好地利用PLMs进行联合抽取来提高S-EAE和D-EAE的性能?
  • 不同的快速训练策略如何影响结果?
  • PAIE在各种实际设置中表现如何,包括在少样本、远距离和多论元的效率和泛化效果?

表2将我们的方法与所有基线进行了比较。我们观察到PAIE在所有数据集上表现最好。对于S-EAE,我们的基本模型在ACE05上实现了绝对的Arg-C提高2.1%。对于DEAE,我们的基础模型在RAMS和WIKIEVENTS上分别获得2.1%和6.3%的ArgC增益。同样,我们的大版本模型实现了3.5%和2.9%的收益。这表明我们提出的方法在处理不同长度的上下文时具有良好的泛化能力。

5、抽取提示的评估

PAIE分别将上下文输入BART-Encoder和提示符输入BART-Decoder。一个看似合理且简单的变体叫做PAIEE (PAIE-Encoder),将上下文和提示连接起来,然后将它们直接送入编码器。在本节中,我们调查了PAIEE与PAIE的表现,如表4所示。

我们可以看到,连接上下文和提示符会略微损害模型的性能。这似乎表明语境和提示语之间的过度互动是没有好处的。此外,如果编码器与文档连接,提示符将压缩为该文档保留的有限输入长度。实验分别支持我们的策略饲喂情境和提示,而不与PAIE关联。

5.2 提示变体

我们发现(1)三种联合提示都优于单一模板,验证了联合提示的有效性。(2)手动模板性能最稳定,通常效果较好。(3)软提示与手动模板的效果相当。我们认为这一观察结果鼓舞人心,因为手动模板的创建是费力的,而软提示几乎避免了这种手工制作的过程。它也符合当前创建独特的连续提示的趋势,这通常比手动提示更好。(4)串联模板在联合提示中表现最差。我们推测,这是因为该提示既不包含角色交互的先验知识(手动模板),也不包含学习训练时的交互。

6、分析真实的案例

6.1 长距离依赖

在文档级事件抽取中,论元分布在多个不同的句子中,因此需要进行长距离捕获抡元之间的依赖。我们可以看到(1)PAIE显著提高了抽取长距离论元的能力,特别是对于触发词后面的论元(见 d d d值为正的列)。(2)从表的最后两行可以看出,PAIE中的联合提示充分利用了角色之间的隐式交互,角色之间的相互制约降低了有效抽取远距离论元的难度。

6.2 相同角色论元赋值

多个论元可以在同一个事件中共享相同的角色。在本节中,我们表明PAIE在效率和有效性方面都优于基于QA的模型。

7、总结

我们提出了一种新的模型PAIE,它可以有效地抽取句子和文档层面的论点。我们为抽取任务定义了一个新的提示调优范式,它通过特定于角色的选择器和联合提示从PLM提示多个角色知识。在三个标准基准上的大量实验证明了该模型在句子级和文档级EAE中的有效性和泛化能力。我们还对主要结构、抽取的提示策略和几个真实场景进行了消融研究。在未来,我们有兴趣研究将共引用作为EAE的辅助任务,并引入实体信息来更好地确定论元边界。

猜你喜欢

转载自blog.csdn.net/qq_45041871/article/details/129665734