Document-level Event Extraction via Parallel Prediction Networks
paper:Document-level Event Extraction via Parallel Prediction Networks - ACL Anthology
code:HangYang-NLP/DE-PPN (github.com)
期刊/会议:ACL2021
摘要
当在整个文档中描述事件时,文档级事件抽取(DEE)是必不可少的。我们认为,句子级抽取器不适合DEE任务,其中事件论元总是分散在句子中,多个事件可能在文档中共存。这是一项具有挑战性的任务,因为它需要对文档的全面理解,以及跨多个句子汇总论元的综合能力。在本文中,我们提出了一种端到端模型,它可以以并行的方式从文档中抽取结构化事件。具体来说,我们首先引入文档级编码器来获得文档感知表示。然后,使用多粒度非自回归解码器来并行生成事件。最后,为了训练整个模型,提出了一个匹配损失函数,它可以引导全局优化。在广泛使用的DEE数据集上的经验结果表明,在具有挑战性的DEE任务中,我们的方法显著优于当前最先进的方法。
1、简介
事件抽取(EE)的目标是从纯文本中识别预先指定类型的事件以及相应的论元。大量以前的研究聚焦在句子级事件抽取(SEE),而这些工作大多基于ACE评估。然而基于SEE的的方式预测在句子内部,不能抽取句子间的事件。为此,当事件信息散布在整个文档中时,需要文档级EE(DEE)。
与SEE相反,DEE有两个具体的挑战:论元分散和多事件。具体而言,论元分散表示事件的论元可能分散在多个句子中。例如,如图1所示,Event-1的论元分布在不同的句子中([S3]和[S7]),单个句子中的抽取将导致不完整的结果。因此,这一挑战要求DEE模型对整个文档有全面的理解,并能够收集所有句子间的相关论元信息。此外,如果再加上第二个挑战:多事件,即文档中包含多个事件,这将更加困难。如图1所示,文档中有两个事件Event-1和Event-2,事件类型相同,两个事件之间没有明显的文本边界。多事件问题要求DEE方法识别文档中包含的事件数量,并实现精确的论元组合(即,将论元分配给相应的事件)。由于这两种复杂性,SEE方法不适合DEE任务,该任务需要一个模型,该模型可以集成文档级信息,跨多个句子组合相关的论元,并同时捕获多个事件。
为了处理DEE中的这些挑战,先前的工作将DEE制定为事件表格填充任务,即将候选论元填充到预定义的事件表中。具体而言,他们将DEE建模为一个串行预测范式,其中论元以预定义的角色顺序预测,多个事件也以预定义的事件顺序抽取。这种方式仅限于抽取单个论元,前一种抽取不会考虑后一种抽取结果。结果,错误将会传播,并且抽取性能不令人满意。
在本文中,为了避免串行预测的不足并解决DEE中的上述挑战,我们提出了一个端到端模型,名为“通过并行预测网络的文档到事件”(Document-to-Events via Parallel prediction Network,DE-PPN)。DE-PPN基于编码器-解码器框架,该框架可以并行方式从整个文档中抽取结构化事件。详细地说,我们首先引入了一个文档级编码器来获得文档感知表示。通过这种方式,可以全面了解整个文档。然后,我们利用多粒度解码器来生成事件,它由两个关键部分组成:角色解码器和事件解码器。角色解码器设计用于处理论元分散挑战,它可以基于文档感知表示为事件组装论元。为了有效应对多事件的挑战,设计了一个事件解码器来支持生成多事件。两者都基于非自回归机制,该机制支持并行抽取多个事件。最后,为了将抽取的事件与真实标注进行比较,我们提出了一个受**匈牙利算法(Hungarian algorithm)**启发的匹配损失函数。所提出的损失函数可以通过计算预测事件和真实标注之间的二分匹配来执行全局优化。
总之,我们的贡献如下
- 我们提出了一种编码器-解码器模型DEPPN,该模型基于文档级编码器和多粒度解码器,以与文档感知表示并行地抽取事件。
- 我们引入了一种新的匹配损失函数来训练端到端模型,它可以引导全局优化。
- 我们在广泛使用的DEE数据集上进行了广泛的实验,实验结果表明,DE-PPN在面对DEE中的特定挑战时可以显著优于最先进的方法。
2、方法
我们提出的模型DE-PPN的关键思想是聚合文档级上下文以并行预测事件。图2说明了DE-PPN的体系结构,它由五个关键组件组成:(1)候选论元识别,(2)文档级编码器,(3)多粒度解码器,(4)事件预测,(5)匹配损失函数。
2.1 候选论元识别
2.2 文档级编码器
2.3 多粒度解码器
为了有效地解决DEE中的论元分散和多事件,我们引入了多粒度解码器,以基于文档感知表示(H a 和H s )并行生成所有可能的事件。多粒度解码器由三部分组成:事件解码器、角色解码器和事件到角色解码器。所有这些解码器都基于非自回归机制,该机制支持并行抽取所有事件。
事件解码器。事件解码器被设计为支持并行抽取所有事件,并用于对事件之间的交互进行建模。在解码阶段之前,解码器需要知道要生成的事件的大小。我们使用m个可学习嵌入作为事件解码器的输入,这些嵌入表示为事件查询Q e v e n t ∈ R m × d 。m 是表示所生成事件的数量的超参数。在我们的工作中,m被设置为明显大于文档中事件的平均数量。然后,事件查询嵌入Q e v e n t 被输入到非自回归解码器,该解码器由N 个相同的Transformer层的堆栈组成。在每一层中,有一个多头自注意力机制来模拟事件之间的交互,还有一个多头交叉注意力机制来将文档感知句子表示H s (这里好像是原文写错了)集成到事件查询Q e v e n t 中。形式上,m个事件查询通过以下方式解码为m 个输出嵌入H e v e n t :
H e v e n t = E v e n t − D e c o d e r ( Q e v e n t ; H s )
其中H e v e n t ∈ R m × d 。
角色解码。角色解码器被设计为支持并行填充事件中的所有角色,并对角色之间的交互进行建模。作为预测事件类型t 具有语义角色类型( r 1 , r 2 , . . . , r n ) ,我们使用n 个可学习嵌入作为角色解码器的输入,其表示为事件查询Q r o l e ∈ R n × d 。然后,角色查询嵌入Q r o l e 被输入到解码器,解码器具有与事件解码器相同的架构。具体而言,自注意机制可以建模角色之间的关系,而交叉注意里机制可以融合文档感知候选论元表示H a 的信息。形式上,通过以下方式将n 个角色查询解码为n 个输出嵌入H r o l e :
H r o l e = R o l e − D e c o d e r ( Q r o l e ; H a )
其中H r o l e ∈ R n × d 。
事件到角色的解码器。为了为不同的事件查询生成具有相关论元的多样化事件,设计了一个事件到角色解码器,以对事件查询H e v e n t 和角色查询H r o l e 之间的交互进行建模:
H e 2 r = E v e n t 2 R o l e − D e c o d e r ( H r o l e ; H e v e n t )
其中H e 2 r ∈ R m × n × d 。
2.4 事件预测
在多粒度解码之后,m 个事件查询和n个角色查询被转换为m个预测事件,每个预测事件都包含n个角色嵌入。为了过滤假事件,m个事件查询H e v e n t 被馈送到前馈网络(FFN),以判断每个事件预测是否为非空或空。具体而言,预测事件可通过以下方式获得:
p e v e n t = s o f t m a x ( H e v e n t W e )
其中,W e ∈ R d × 2 是可学习的参数。
2.5 匹配损失
训练的主要问题是如何将具有一系列论元的预测m mm事件分配给真实标注的k kk事件。受运筹学中分配问题的启发,我们提出了一种匹配损失函数,它可以在预测事件和真实事件之间产生最优二分匹配。
为了找到这两个集合之间的二分匹配,我们搜索具有最低成本的m个元素的置换:
2.6 优化
在训练过程中,我们在解码之前使用预处理步骤对事件预测的匹配损失求和如下:
其中L a e 和L e c 分别是句子级候选论点识别和事件类型分类的交叉熵损失函数。λ 1 、λ 2 和λ 3 是超参数。
3、实验和分析
在本节中,我们提出了实证研究来回答以下问题:
1.与DEE任务中评估的最先进(SOTA)方法相比,我们的DEPPN的总体性能如何?
2.DE-PPN在面对DEE中的论元分散和多事件挑战时表现如何?
3.我们提出的DEPPN的每个设计都有什么意义?
4.设置不同数量的生成事件对结果有什么影响?
3.1 实验设置
数据集。ChFinANN dataset:https://github.com/dolphin-zs/Doc2EDAG/blob/master/Data.zip
评价指标。Precsion、Recall、F1-measure。
详细的设置。对于作为输入的文档,我们将最大句子数和最大句子长度分别设置为64和128。我们采用了常见的Transformer,每层有768个隐藏单元和8个注意力头,作为编码器和解码器架构。在训练期间,我们使用AdamW优化器,学习率为1e-5,batch_size大小为16。测试集性能由100个epoch内的最佳开发集性能步骤选择。我们在附录中留下了详细的超参数和其他结果。
3.2 Baseline
DCFEE:DCFEE-O、DCFEE-M
Doc2EDAG:GreedyDec、Doc2EDAG
DE-PPN:DE-PPN、DE-PPN-1
3.3 结果
论元离散程度。arguments-scattering ratio(ASR)
A S R = N u m m e n t s / N u m a r g s
N u m m e n t s 是事件提及的数量、N u m a r g s 是论元的数量。A S R 表示事件中论元越离散。表3展现了不同离散率的识别结果。
单事件和多事件效果对比。如表2所示。
3.4 消融实验
3.5 不同解码器层的有效性
为了研究多粒度解码器的重要性,我们探讨了事件解码器和角色解码器的不同层对结果的影响。具体地,解码器层的数量被设置为0、1、2、3和4,其中0表示移除该解码器。1) 不同事件解码器层的效果如图3左侧所示,当层数设置为2时,我们的方法可以获得最佳的平均F1分数。我们推测,非自回归解码器的更多层可以更好地建模事件查询之间的交互并生成多样化的事件。然而,当层设置为较大时,很容易生成冗余事件。2)不同角色解码器层的效果如图3右侧所示,我们可以观察到解码器层越多,结果的性能越好。我们推测,具有更多自我关注模块的解码器的更多层允许更好地建模事件角色之间的关系,而更多相互关注模块允许将候选论元的信息集成到角色中。
3.6 不同生成集的效果
对于DE-PPN的训练和测试过程,生成事件的数量是一个重要的超参数。在本节中,我们将探讨设置不同数量的生成事件对结果的影响。我们将开发集分为5个子类,每个类包含1、2、3、4和>5个事件。表5显示了开发集中具有不同标注事件的文档的统计信息。为了验证生成事件的数量对性能的影响,我们使用不同数量的生成事件来评估DE-PPN:1、2、5、10,分别命名为DE-PPN-1、DE-PPN-2、DE-PPN-5和DE-PPN-10。图4显示了不同生成事件的DE-PPN结果,并与SOTA模型Doc2EDAG进行了比较。我们可以观察到,随着事件数量的增加,事件预测变得更加困难,这可以反映在所有绩效的下降上。一般来说,当生成的集合数设置为5时,DE-PPN在F1平均得分上几乎达到最佳性能。此外,当文档中标注的事件数大于2时,Doc2EDAG与我们的方法DE-PPN之间存在性能差距。这也证明了我们提出的并行解码器可以更好地处理DEE中的多事件挑战。
4、相关工作
4.1 句子级事件抽取
EE中的大多数工作都集中在句子层面,并基于基准数据集ACE 2005。许多方法被提出来提升该任务的效果。这些研究主要基于手工设计的特征和基于神经的自动学习特征。有几种方法在单个句子之外做出抽取决策。Ji和Grishman以及Liao和Grishmann使用事件类型共现模式进行事件检测。Yang和Mitchell引入了事件结构,以联合抽取文档中的事件和实体。尽管这些方法在句子边界之外做出决定,但它们的抽取仍然在句子层面上进行。
4.2 文档级事件抽取
许多真实世界的应用程序需要DEE,其中事件信息分散在整个文档中。MUC-4提出了MUC-4模板填充任务,该任务旨在从文档中识别具有关联角色类型的事件角色填充者。最近的工作通过手动设计的语言特征或基于神经的上下文表示来探索局部和附加上下文以抽取角色填充符。最近,Ebner等人发布了跨多句角色(RAMS)数据集,该数据集包含多句论元链接任务的标注。提出了一种两步方法,通过检测跨句子的隐式论点来进行论元链接。Li等人扩展了该任务,并编译了一个新的基准数据集 WIKIEVENTS,用于探索文档级论元抽取任务。然后,Li等人提出了一种基于条件文本生成的端到端神经事件论元抽取模型。然而,这些工作专注于DEE的子任务(即角色填充符抽取或论元抽取),而忽略了多事件的挑战。
为了同时解决DEE的两个挑战(即论元分散和多事件),先前的工作集中于ChFinAnn数据集,并将DEE建模为事件表填充任务,即将候选论元填充到预定义的事件表中。Yang等人提出了一种关键事件检测,以指导事件表,该表中填充了来自关键事件提及和周围句子的参数。Zheng等人(2019)通过基于实体的路径扩展,将DEE转换为按照预定义的角色顺序填充事件表,从而实现了DEE的SOTA。然而,这些方法受到串行预测的影响,这将导致错误传播和单个论元预测。
5、总结和相关工作
在本文中,我们提出了一种编码器-解码器模型DE-PPN,用于从文档中并行抽取事件。为了解决DEE中的挑战(即论元分散和多事件),我们引入了文档级编码器和多粒度解码器,以生成与文档感知表示并行的事件。为了训练并行网络,我们提出了一个匹配损失函数来执行全局优化。实验结果表明,DE-PPN可以显著优于SOTA方法,尤其是在DEE中面临的特定挑战。