C/C++教程

论文笔记 ACL 2021|Document-level Event Extraction via Parallel Prediction Networks

本文主要是介绍论文笔记 ACL 2021|Document-level Event Extraction via Parallel Prediction Networks,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

    • 1 简介
      • 1.1 创新
    • 2 方法
    • 3 实验

1 简介

论文题目:Document-level Event Extraction via Parallel Prediction Networks
论文来源:ACL 2021
论文链接:https://aclanthology.org/2021.acl-long.492.pdf
代码链接:https://github.com/HangYang-NLP/DE-PPN

1.1 创新

  • 提出一个编码-解码模型进行文档级事件抽取,分别基于文档级别的编码和多粒度的解码。
  • 介绍一种匹配损失函数用于训练端到端模型,它可以加强全局优化。

2 方法

在这里插入图片描述
模型的整体框架如上图所示,分为下面5部分。

  1. 候选论元识别:首先使用第一个Transformer对句子进行编码,然后以序列标注的形式进行句子级的候选论元识别。
    在这里插入图片描述
  2. 文档级别编码:实现对候选论元和句子编码进行max-pooling,然后经过第二个Transformer建模全部的句子和论元之间的关系(句子的编码中加入位置编码)。然后对 H s H^s Hs进行max-pooling操作,在对每个事件类型进行二分类,进行事件类型分类。
    在这里插入图片描述
  3. 多粒度解码:多粒度的编码器包括三个部分:事件编码器、角色编码器、事件-角色编码器。
    在事件编码器中设置m为生成事件的数量(大于文档中的平均数量),其中 Q e v e n t Q^{event} Qevent为事件query。
    在这里插入图片描述
    在角色编码器中设置n为角色类型的数量(大于文档中的平均数量),其中 Q r o l e Q^{role} Qrole为角色query。
    在这里插入图片描述
    在事件-角色编码器中,建模事件查询和论元查询的关系。
    在这里插入图片描述
  4. 事件预测:使用下面公式过滤虚假的事件,进行二分类(非空,空)。
    在这里插入图片描述
    使用下面公式对论元进行分类( N a ′ + 1 N'_a+1 Na′​+1分类),
    在这里插入图片描述
    得到m个事件 Y ^ = ( Y ^ 1 , Y ^ 2 , . . . . , Y ^ m ) \widehat{Y} =(\widehat{Y}_1,\widehat{Y}_2,....,\widehat{Y}_m) Y =(Y 1​,Y 2​,....,Y m​),其中每个事件包含n个预测论元。 Y ^ i = ( P i 1 , P i 2 , . . . , P i n ) \widehat{Y}_i=(P_i^1,P_i^2,...,P_i^n) Y i​=(Pi1​,Pi2​,...,Pin​)。
  5. 匹配loss函数:定义双向匹配的损失公式如下: 在这里插入图片描述
    C m a t c h C_{match} Cmatch​公式如下,其中 j u d g e i judge_i judgei​为判断事件i是否为空,
    在这里插入图片描述
    则损失函数如下:
    在这里插入图片描述
    最终的损失函数如下(候选论元识别、事件类型分类):
    在这里插入图片描述

3 实验

数据集为ChFinAnn,实验结果如下图:
在这里插入图片描述
在不同发散程度的论元情况下的实验结果:
在这里插入图片描述
单事件和多事件实验结果:
在这里插入图片描述
消融实验的实验效果:
在这里插入图片描述

不同解码层数的实验效果:
在这里插入图片描述
不同事件生成数量的实验效果:
在这里插入图片描述

这篇关于论文笔记 ACL 2021|Document-level Event Extraction via Parallel Prediction Networks的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!