论文题目: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级注释。此外,统一的架构便于建模、学习和利用不同的底层预测之间的交互,并且知识可以在不同的组件之间无缝地共享和传输。
此外,我们设计了两种有效的序列到结构的事件抽取算法。首先,我们提出了一种约束解码算法,它可以使用事件模式来指导生成过程。通过这种方式,可以在动态推断过程中注入和利用事件知识。其次,我们设计了一种课程学习算法,它从