论文阅读:PAIE交互式prompt事件抽取

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

发布于ACL2022

论文链接:https://aclanthology.org/2022.acl-long.466/

GitHub链接:https://github.com/mayubo2333/PAIE.

1. 主要内容

        事件抽取问题可分为事件检测(Detectoin)和事件角色抽取(Argument Extraction)。其中事件倦色抽取问题是一个更难的问题。一段文本中可能有多个事件,一个事件中有多种语义角色,还可能有多个Argument对应同一个role。以如下事件模板为例

Participant communicated with Participant about Topic at Place.

        这个事件中,有两个参与者,一个话题和一个地点。主流的prompt有两个方向,一个基于Cloze任务的,但是不太好处理变长的答案,而且在transformer前向传播中,这些MASK token并没有和context有很好的交互。第二个是基于生成式任务的,没有答案长度的问题,模板中直接将role的信息注入进去。但生成式方法对于处理长文本的生成效果并不是很好。其中一类QA的方法通过询问模型每个候选实体是否是argument的方式来进行抽取,效果虽然好但是效率很低。

        而该文章提出了一个类似QA的方法,能够一次抽取出所有argument,同时用prompt注入任务信息,模板与原文本有良好的交互。

2. 方法

论文阅读:PAIE交互式prompt事件抽取_第1张图片 

        这篇文章也使用了encoder-decoder的架构,如上图:Encoder将输入的文本X编码为H_X^{(enc)}(这里已经做完了事件检测,触发词用特殊token夹在中间作为标识),在解码阶段解码两次,一次是只使用H_X^{(enc)}进行解码得到H_X,另一次将构造的prompt模板注入解码得到H_{pt}.
        对于模板中每一个候选位置现在要预测对应X哪一个区间,作者这里用的分别预测开头位置与结尾位置的方式,每个位置分数的计算公式为

p_k^{start}={\rm softmax}((\psi_k\circ w^{start})H_X)

其中\psi_kH_{pt}中经过pooling得到的对应模板中第k个argument的表示,w^{start}是一个可学习的向量,用element-wise乘积的方式得到一个用于预测开头位置的表示,再和H_X作内积就得到了每个位置的分数。对于结束位置也是同理。之后作业还提出了一个二分图匹配的方法解决同一个role的argument的匹配问题,细节见论文。

3. 实验结果

论文阅读:PAIE交互式prompt事件抽取_第2张图片

提升相交之前的SOTA还是挺明显,不过22年是抽取工作最多的一年,和同期的方法比不知道会怎样。 

 

 

 

 

你可能感兴趣的:(自然语言处理,人工智能,神经网络,深度学习)