【论文阅读笔记|ACL2021】TEXT2EVENT: Controllable Sequence-to-Structure Generationfor End-to-end Event Extra

论文题目:TEXT2EVENT: Controllable Sequence-to-Structure Generation for End-to-end Event Extraction
论文来源:ACL 2021
论文链接:2106.09232.pdf (arxiv.org)
代码链接:GitHub - luyaojie/Text2Event: Text2Event: Controllable Sequence-to-Structure Generation for End-to-end Event Extraction

0 摘要

由于事件记录的复杂结构以及文本和事件之间的语义差距,事件抽取具有挑战性。传统的方法通常通过将复杂的结构预测任务分解为多个子任务来提取事件记录。在本文中,我们提出了TEXT2EVENT,一种序列到结构的生成范式,可以以端到端的方式直接从文本中提取事件。具体地说,我们设计了一个用于统一事件抽取的序列到结构网络一个用于推理期间事件知识注入的约束解码算法,以及一个用于有效模型学习的课程学习算法。实验结果表明,通过在单一模型中统一建模所有任务,并普遍预测不同的标签,在监督学习和迁移学习设置中,仅使用记录级注释就可以实现竞争性能。

1 引言

事件抽取是自然语言理解的一项基本任务,其目的是将文本转换为事件记录。例如,在图1中,绘制了“The man returned to Los Angeles from Mexico following his capture Tuesday by bounty hunters”分成两个事件记录{类型:Transport,触发词:returned,Arg1角色:Artifact,Arg1:The man,Arg2角色:Destination:Arg2:Los Angeles,…} 和 {类型:Arrest-Jail,触发词:capture,Arg1角色:Person,Arg2角色:Agent,Arg2: bounty hunters,…}。

由于事件记录的复杂结构和文本与事件之间的语义差距,事件抽取具有挑战性。首先,一个事件记录包含事件类型、触发词和论元,形成一个类似表格的结构。而不同的事件类型有不同的结构。例如,在图1中,Transport和Arrest-Jail有完全不同的结构。第二,一个事件可以用不同的话语来表达,比如不同的触发词和异构的句法结构。例如,“the dismission of the man”和“the man departed his job”都表达了相同的事件记录{类型:End-Position,Arg1角色:person,Arg1:the man}。

目前,大多数事件抽取方法都采用分解策略,即把复杂事件结构的预测分解为多个分离的子任务(主要包括实体识别、触发词检测、论元分类),然后把不同子任务的组成部分组成预测整个事件结构(如pipline建模、联合建模或联合推理)。这些基于分解的方法的主要缺点是: (1)它们需要对不同的子任务进行大量和细粒度的注释,经常导致数据效率低下的问题。例如,对于触发词检测Transport,实体识别Person,论元分类事件类型为Transport的角色Artifact等需要进行不同的细粒度注释。(2)手工设计不同子任务的最优组合体系结构非常具有挑战性。例如,pipline模型经常会导致错误的传播。而联合模型需要启发式地预先定义触发词检测、论元分类和实体识别之间的信息共享和决策依赖关系,往往会导致次优和不灵活的架构。

在本文中,我们提出了一种事件抽取的序列到结构生成范式——TEXT2EVENT,它以端到端的方式直接从文本中提取事件。具体地说,我们没有将事件结构预测分解为不同的子任务和预测标签,而是在基于神经网络的序列到结构架构中对整个事件抽取过程进行统一建模,所有触发词、论元和标签都普遍生成为自然语言词。例如,我们生成一个子序列“Attack fire”来提取触发词,其中“Attack”和“fire”都被视为自然语言词。与以前的方法相比,我们的方法数据效率更高:它可以只使用粗糙的并行文本记录注释来学习,即<sentence, event records>,而不是细粒度的token级注释。此外,统一的架构便于建模、学习和利用不同的底层预测之间的交互,并且知识可以在不同的组件之间无缝地共享和传输。

此外,我们设计了两种有效的序列到结构的事件抽取算法。首先,我们提出了一种约束解码算法,它可以使用事件模式来指导生成过程。通过这种方式,可以在动态推断过程中注入和利用事件知识。其次,我们设计了一种课程学习算法,它从当前预训练的语言模型(PLM)开始,然后在简单的事件子结构生成任务(如触发词生成和独立论元生成)上对其进行训练,最后在完整的事件结构生成任务上训练模型。

我们在ACE和ERE数据集上进行了实验,结果验证了TEXT2EVENT在监督学习和迁移学习设置中的有效性。综上所述,其贡献如下:

  1. 我们提出了一种新的事件抽取范例——序列到结构的生成,它可以以端到端的方式直接从文本中抽取事件。通过在单一模型中统一建模所有任务,并普遍预测不同的标签,我们的方法非常有效、数据高效、易于实现。
  2. 我们设计了一种有效的序列到结构的架构,并增强了推理过程中事件知识注入的约束解码算法和有效模型学习的课程学习算法。
  3. 许多信息抽取任务都可以表述为结构预测任务。我们的序列到结构的方法可以激发对其他信息抽取模型的学习。

2 相关工作

我们的工作是综合了两个研究方向:事件抽取和通过神经生成模型来预测结构。

事件抽取近年来受到了广泛的关注,主流方法通常使用不同的策略来获得完整的事件结构。这些方法可分为:1)pipline分类,2)多任务联合模型,3)语义结构的基础,4)问答。

与以往的方法相比,我们将事件抽取的所有子任务建模在一个统一的序列到结构框架中,从而实现了更好的决策交互和信息共享。编码器-解码器生成架构显示了其强大的结构预测能力,并广泛应用于许多自然语言处理任务,如机器翻译、语义解析、语义解析、实体提取、关系抽取和aspect term抽取。与本文中的TEXT2EVENT,TANL和GRIT也使用神经生成模型进行事件抽取,但它们关注的是序列生成,而不是结构生成。

与以往通过标签或复制/pointer机制提取文本跨度的工作不同,TEXT2EVENT通过约束性解码直接生成事件模式和文本跨度,形成事件记录,这使得TEXT2EVENT能够处理各种事件类型并轻松转移到新类型。

3 TEXT2EVENT:端到端事件抽取作为可控生成

给定输入文本的标记序列x=x_{1},...,x_{|x|},TEXT2EVENT通过编码解码器架构直接生成事件结构E=e_{1},...,e_{|E|}。例如,在图1中,TEXT2EVENT将原始文本作为输入和输出两个事件记录。

对于端到端事件抽取,TEXT2EVENT首先对输入文本进行编码,然后使用约束解码算法生成线性化的结构。下面,我们首先介绍如何通过结构线性化将事件抽取重新表示为结构生成,然后描述序列到结构的模型和约束解码算法。

3.1 事件抽取作为结构的生成

本节介绍如何将事件结构线性化,以便能够以端到端的方式生成事件。具体来说,线性化的事件表示应该是:

  1. 能够将文本中的多个事件记录表示为一个表达式;
  2. 易于以确定性的方式可逆地转换为事件记录;
  3. 类似于一般文本生成任务的token序列,以便文本生成模型可以轻松地利用和传输。

具体地说,从记录格式到线性化格式的转换过程如图2所示。我们首先将事件记录(图2a)转换为标记树(图2b),方法:

  1. 首先用事件类型来标记树的根目录(Root-Transport、Root-Arrest-Jail)
  2. 然后将多个事件论元角色类型与事件类型连接起来(Transport-Artifact, Transport-Origin,等)
  3. 最后将文本从原始文本链接到相应的节点(Transport - returned, Transport - Origin - Mexico, Transport - Artifact - The man, 等)。

给定转换后的事件树,我们通过深度优先遍历将其线性化为token序列(图2c),其中“(“和”)”是用于表示线性表达式语义结构的结构指标。相同深度的遍历顺序是文本跨度在文本中出现的顺序,例如,在图2b中,首先是“returned”,然后是“capture”。注意到每个线性化的形式都有一个虚拟的root-Root。对于一个包含多个事件记录的句子,每个事件都直接链接到Root。对于一个不表达任何事件的句子,它的树格式将被线性化为“()”。

3.2 从序列到结构的网络

基于上述线性化策略,TEXT2EVENT通过基于transformer的编解码器架构生成事件结构

TEXT2EVENT

输入: 给定token序列x=x_{1},...,x_{|x|} 

输出: 线性化的事件表示,y=y_{1},...,y_{|y|} 

为此,TEXT2EVENT首先通过多层transformer编码器计算输入的隐藏向量表示H=h_{1},...,h_{|x|}

其中,每层编码器(·)都是一个带有多头注意力机制的transformer块。

在输入token序列被编码后,解码器用顺序输入的token的隐藏向量来预测输出的结构token-by-token。在生成的第 i 步,自注意力解码器预测线性化形式的第 i 个token yi,解码器状态h_{i}^{d}为:

其中,每一层解码器(·)都是一个transformer块,其中包含与解码器状态h_{i}^{d}的自注意力机制和与编码器状态 H 的交叉注意力。

生成的输出结构化序列从开始标记“<bos>”开始,以结束标记“<eos>”结束。整个输出序列的条件概率p(y|x)由每一步p(y_{i}|y_{< i} ,x)逐步组合:

其中y_{< i}=y_{1}...y_{i-1},和p(y_{i}|y_{< i} ,x)是由softmax(·)归一化的目标词汇表V的概率。 

由于线性化事件表示中的所有token也是自然语言,我们采用预训练好的语言模型T5作为我们基于transformer的编码器-解码器架构。这样一来,一般的文本生成知识就可以直接被重用。

3.3 约束解码

给定隐藏序列H,序列到结构网络需要token-by-token的生成线性化的事件表示。一个简单的解决方案是使用贪婪解码算法,它在每个解码步骤 i 选择预测概率最高p(y_{i}|y_{< i} ,x)的token。这种贪婪解码算法并不能保证生成有效的事件结构。换句话说,它可能会导致无效的事件类型、论元类型不匹配和结构不完整。此外,贪婪解码算法忽略了有用的事件模式知识,可以有效地指导解码。例如,我们可以将模型约束为只在类型位置中生成事件类型标记。

为了利用事件模式知识,我们建议采用一种基于三元组的约束解码算法进行事件生成。在约束解码过程中,事件模式知识作为解码器的提示被注入,并确保生成有效的事件结构。

具体地说,不同于贪婪解码算法在每一步从整个目标词汇表V中选择token,我们的基于树的约束解码方法基于当前生成的状态动态地选择和修剪一个候选词汇表V{}'。一个完整的线性化的形式解码过程可以通过执行一个trie树搜索来表示,如图a所示。具体来说,TEXT2EVENT的每个生成步骤都有三种候选词汇表V{}': 

  • 事件模式:事件类型T和论元角色R的标签名称;
  • 提及字符串:事件触发词和论元提及S,这是原始输入中的文本跨度;
  • 结构指示符:“(” 和 ”)”,用于组合事件模式和提及字符串。

解码从根目录“<bos>”开始,到“<eos>”结束。在生成步骤i,候选词汇V{}'是最后生成节点的子节点。例如,在生成字符串“<bos>(”的生成步骤中,图a中的候选词汇表V{}'是{“(“,”)”}。当生成事件类型名称T、论元角色名R和文本跨度S时,解码过程可以被认为是在trie树的子树上执行搜索。例如,在图b中,“(Transfer”的候选词汇表“V{}'”是{“Ownership”、“Money”}。 

最后,将解码器的输出转换为事件记录,并作为最终的抽取结果使用。

4 learning

本节介绍如何以端到端的方式学习TEXT2EVENT神经网络。我们的方法只能使用粗粒度的并行文本记录来学习,即<sentence, event records>,而不需要传统方法中使用的细粒度token级注释。给定一个训练数据集D=\left \{ \left ( x_{1},...\left ( x_{|D|},y_{|D|} \right ) \right ) \right \}其中每个实例是一个<sentence, event records>,学习目标是负对数似然函数为:

其中,θ为模型参数。

与一般的文本到文本生成模型不同,序列到结构生成模型的学习更具挑战性: 1)事件生成模型和文本到文本生成模型之间存在输出差距。与自然词序列相比,线性化的事件结构包含了许多非语义指标,如“(”和“)”,并且它们不遵循自然语言句子的语法约束。2)非语义指标“(“和”)”出现非常频繁,但包含的语义信息很少,会误导学习过程。

为了解决上述挑战,我们首先使用简单的事件子结构生成任务来训练PLM,使它们不会在非语义指标中过度拟合;然后,我们在完整的事件结构生成任务上训练模型。

子结构学习。由于事件表示通常具有复杂的结构,并且它们的token序列不同于自然语言的单词序列,因此直接用全序列生成任务来训练它们具有挑战性。因此,我们首先在简单的事件子结构上训练TEXT2EVENT。

具体来说,我们开始学习模型通过只生成“(label, span)”子结构,包括“(type, trigger words)”和“(role, argument)", 例如,在此阶段,我们将提取图2c中的子结构任务为:(Transport returned) (Artifact The man) (Arrest-Jail capture)等。我们为每个提取的子结构构造一个<sentence, substructures>,然后使用方程4中的损失来训练我们的模型。

完整的结构学习。在子结构学习阶段之后,我们使用方程4中的损失进一步训练我们的模型进行全结构生成任务。我们发现,课程学习策略可以更有效地使用数据注释,并使学习过程更加流畅。

5 实验

本节通过在监督学习和迁移学习设置中进行实验来评估所提出的TEXT2EVENT模型。

5.1 实验设置

数据集。我们在事件抽取基准ACE2005上进行了实验,该基准有599个英文注释文档和33种事件类型。我们使用了与之前的工作相同的分割和预处理步骤,我们将其表示为ACE05-EN。

除了ACE05-EN,我们还在另外两个基准上进行了实验: ACE05-EN+和ERE-E-EN,使用了之前工作中相同的分割和预处理步骤。与ACE05-EN相比,ACE05-EN+和EREEN进一步考虑了代词角色和多token事件触发词因素。ERE-EN包含38个事件类别和458个文档。

所有数据集的统计数据如表1所示。

对于评估,我们使用了与之前工作中相同的标准。由于TEXT2EVENT是一个文本生成模型,我们通过在输入序列中逐个找到匹配的话语来重建预测的触发词提及的偏移量。对于论元提及,我们发现与预测触发词提及最接近的话语作为预测偏移量。

基线 目前,事件抽取监督可以在两个不同的级别进行: 1)token级注释,用事件标签在句子中标记每个token,例如,“The/O dismission/B-End-Position of/O ..”;2)并行文本记录注释,只给出<sentence, event>对,但没有昂贵的token级注释,例如<The dismission of ..., {Type: EndPosition, Trigger: dismission, ...}>。此外,以前的一些工作还利用gold实体注释进行模型训练,将所有的实体提及都标记为gold类型,以方便事件抽取。引入更多的监督知识将有利于事件抽取,但这是更密集的标签。建议的TEXT2EVENT只使用并行的文本记录注释,这使得它在实际应用程序中更加实用。

为了验证TEXT2EVENT,我们将我们的方法与以下几组基线进行了比较:

1.使用token注释的基线: TANL是基于SOTA序列生成的方法,将事件抽取建模为触发词论元管道方式;多任务TANL通过从其他任务的结构知识来扩展TANL;EEQA和MQAEE是基于QA的模型,使用机器阅读理解模型进行触发词检测和论元提取。

2.使用token注释和实体注释的基线: Joint3EE是一个基于共享隐藏表示的联合实体、触发词、论元抽取模型;DYGIE++是一个基于bert的模型,可以捕获句内和跨句上下文;GAIL是一个基于逆强化学习的联合实体和事件抽取模型;OneIE是一个端到端IE系统,它使用全局特征和波束搜索来提取全局最优事件结构。

Implementations 我们使用标签平滑和AdamW优化了我们的模型,学习率为5e-5,T5的学习率为1e-4。在curriculum学习方面,子结构学习的epoch为5,全结构学习的epoch为30。我们在NVIDIA GeForce RTX 3090 24GB上进行了每个实验。由于GPU内存的限制,我们对不同的模型使用不同的批大小:T5-large 8,T5-base 16;在训练期间将原始文本的最大长度截断为256,线性化形式为128。我们添加了任务名称作为T5默认设置的前缀。

5.2 在监督性学习设置中产生的结果

表2显示了ACE05-EN上的所有基线和TEXT2EVENT的性能。表3显示了SOTA和TEXT2EVENT在ACE05-EN+和ERE-EN上的性能。我们可以看到:

1)通过在单一模型中统一建模所有任务,并普遍预测标签,TEXT2EVENT可以通过较弱的监督和更简单的架构来实现具有竞争力的性能。我们的方法只使用了较弱的并行文本记录注释,超过了大多数使用标记和实体注释的基线,并实现了与SOTA竞争的性能。此外,使用简单的编码器-解码器体系结构,TEXT2EVENT的性能优于大多数复杂的体系结构。

2)通过直接从文本中生成事件结构,TEXT2EVENT可以显著优于基于序列生成的方法。我们的方法比SOTA生成基线和扩展的多任务TANL的Arg-C F1分别提高了4.6%和2.7%。与序列生成相比,在推理过程中使用事件模式知识可以有效地引导结构生成,并且不需要生成不相关的信息。

 3)通过在不同的任务和标签之间统一建模和共享信息,序列到结构的框架可以实现鲁棒的性能。从表2和表3可以看出,OneIE在较硬的数据集ACE05-EN+上的性能有所下降,该数据集具有更多的代词角色和多标记触发词。相比之下,TEXT2EVENT在ACE05-EN上的性能几乎保持相同。我们认为,这可能是因为所提出的序列到结构模型是一个通用的模型,它并不专门研究标签,而且可以更好地在不同的标签之间共享信息。

5.3 在迁移学习设置中取得的结果

TEXT2EVENT是一个通用的模型,因此可以促进不同标签之间的知识转移。为了验证TEXT2EVENT的迁移能力,我们在迁移学习设置下进行了实验,结果如表4所示。具体来说,我们首先将ACE05- EN+中长度大于8的句子随机分成两个大小相等的子集src和tgt: src只保留前10种常见事件类型的注释,tgt只保留其余23种事件类型的注释。对于src和tgt,我们使用80%的数据集用于模型训练,20%用于评估。对于迁移学习,我们首先在src数据集上预训练一个事件抽取模型,然后对预训练的模型进行微调,以提取tgt中的新事件类型。从表4中,我们可以看到:

1)数据高效的TEXT2EVENT可以更好地利用监督信号。即使是从头开始进行tgt训练,所提出的方法也优于强基线。我们认为,这可能是因为使用标记和实体注释的基线需要大量的细粒度数据来进行模型学习。与基线不同,TEXT2EVENT对所有子任务进行统一建模,因此知识可以无缝传输,因此数据效率更高。

2)TEXT2EVENT可以在不同的标签之间有效地转移知识。与直接在tgt训练集上训练的非转移设置相比,TEXT2EVENT的转移设置在Trig-C和Arg-C上分别能显著提高3.7和3.2。相比之下,其他两个基线不能通过转移学习获得Trig-C和Arg-C的明显的通过迁移学习获得Trig-C和Arg-C的F1改进。请注意,实体注释的信息是在src和tgt之间共享的。因此,OneIE可以利用这些信息来进行更好的论元预测,即使有更糟糕的触发词预测。然而,即使不使用实体注释,所提出的方法仍然可以在迁移学习设置上取得类似的改进。这是因为标签是在TEXT2EVENT中普遍提供的,所以论元不是特定于标签的。

5.4 消融实验

本节分析了TEXT2EVENT中的事件模式知识、约束解码和课程学习算法的影响。我们设计了4个基于t5的变体:

  • “TEXT2EVENT”是直接用全结构学习进行训练的基础模型。
  • “+CL“表示训练TEXT2EVENT与所提出的课程学习算法。
  • “w/oCD“在推理过程中丢弃受约束解码,并生成事件结构作为无约束生成模型。
  • “w/oES”用无意义的符号将事件类型和角色的名称替换为无意义的符号,用于验证事件模式知识的效果。

表5显示了使用不同训练数据大小的ACE05-EN开发集的结果。我们可以看到: 1)约束解码可以有效地指导事件模式的生成,特别是在低资源设置下。与 "无CD "相比,受限解码提高了TEXT2EVENT的性能,特别是在少资源的情况下,如使用1%、5%的训练集。2)课程学习对模型学习很有用。次结构学习平均提高了4.7%的Trig-C F1和5.8%的Arg-C F1。3)将事件标签编码并生成为文字,而不是无意义的符号,这是至关重要的。因为通过将标签编码为自然语言词,我们的方法可以有效地从预训练的语言模型中转移知识。

6 结论

在本文中,我们提出了TEXT2EVENT,一种用于事件抽取的序列到结构的生成范式。TEXT2EVENT直接从并行的文本记录注释中学习,并在一个序列到结构的框架中统一建模事件抽取的所有子任务。具体地说,我们提出了一种有效的序列-结构事件抽取网络,并通过推理过程中事件知识注入的约束解码算法和有效模型学习的课程学习算法进一步增强。在监督学习和迁移学习设置下的实验结果表明,TEXT2EVENT仅使用粗糙的文本记录注释就可以实现与之前的SOTA竞争的性能。

在未来的工作中,我们计划将我们的方法应用于其他信息抽取任务,如n元关系抽取。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值