【ACL2023】Event Extraction as Question Generation and Answering

论文题目:Event Extraction as Question Generation and Answering

论文来源:ACL2023

论文链接:Event Extraction as Question Generation and Answering - ACL Anthology

代码链接:GitHub - dataminr-ai/Event-Extraction-as-Question-Generation-and-Answering: code for ACL 2023 paper 'Event Extraction as Question Generation and Answering'

0 摘要

最近在事件抽取方面的工作已经将该任务重新定义为问题回答(QA),并取得了很好的结果。这种方法的优点是,它通过直接预测事件论元而不首先提取候选的事件参数,解决了传统的基于token的分类方法中发现的错误传播问题。然而,这些问题通常是基于固定的模板,它们很少利用上下文信息,如相关的论元。此外,以前基于QA的方法很难处理对于相同角色存在多个论元的情况。在本文中,我们提出了QGA-EE,它使问题生成(QG)模型能够生成包含丰富的上下文信息的问题,而不是使用固定的模板。我们还提出了动态模板来帮助QG模型的训练。实验表明,QGA-EE在ACE2005英语数据集上优于所有基于单任务的模型。

1 引言

事件提取(EE)的目的是从文本中提取核心信息元素(例如,谁、什么、在哪里、什么时间),这是自然语言处理(NLP)中的一项非常重要的任务。它为下游应用程序提供输入,如Summarization (Filatova and Hatzivassiloglou, 2004), Knowledge Base Population (Ji and Grishman, 2011), 和Recommendation (Lu et al., 2016)。

之前的工作通常基于pipline方法,首先识别事件触发词/短语和论元候选词,然后应用分类器对候选人的角色进行分类。为了缓解错误会沿着管道传播的问题,一些方法将 EE 表述为QA问题。其中,每个论元角色的问题都是通过模板手动定义的。例如,从Conflict中提取Attack论元。例如在句子:That’s because coalition fighter jets pummeled this Iraqi position on the hills above Chamchamal and Iraqi troops made a hasty retreat(这是因为联军战斗机在钱查马尔上空的山上袭击了这个伊拉克阵地,伊拉克军队匆忙撤退。)。Attack事件被重新定义为“Who was the attacking agent?(谁是攻击性特工?)”的答案。

这些方法已经显示出了有希望的结果,但基于模板的问题是有限的:由于模板是手工构建的,它们是固定的,很少包含上下文信息(即,特定于输入),除了一部分工作中包含触发词。然而,制定好的问题已被证明可以提高标准QA任务的性能。对于基于QA的事件抽取,一个包含更丰富的上下文信息的问题,如其他事件论元,可以产生更好的结果(例如:图一的“Who used jets in the attack in hills?”)。

在本文中,我们提出了QGA-EE,它包括1)一个QG模型,用于生成一个基于目标论元和角色的上下文感知问题;2)一个用于回答上下文问题的提取事件论元的QA模型。我们还设计了动态模板来生成QG模型训练的真实的上下文感知问题。

据我们所知,这是第一个利用动态模板并专注于生成上下文感知问题的基于QA的EE工作。Li等人(2020)还提出了一个模型,以生成包含事件触发词和论元的上下文信息的问题。然而,我们的工作有两个主要的优势。首先,在Li等人(2020年)的论文中,问题只包含了本体级别的上下文信息(例如,论元角色、事件类型)。在我们的工作中,生成的问题包含了事件提及的上下文信息。例如,由我们的模型生成的问题包含了真实的事件论元,而不仅仅是论元的角色(例如。“山”和“地方”)。其次,Li等人工作中的问题是通过填充模板生成的,但我们的模板是动态的,用于训练QG模型,该模型可以在给定特定事件提及的情况下自动生成最优问题。

实验结果表明,QGA-EE在自动内容提取ACE2005英语数据集上优于所有基于单任务的模型,甚至达到了与最先进的联合IE模型的效果。

2 模型

图1显示了QGA-EE的总体框架。它只关注事件论元提取(EAE),但可以与任何事件触发标记器配对,以执行端到端EE。在第4节中,我们将其与标准序列标记触发标记器配对,以评估其端到端EE性能。

2.1 问题生成模型

之前基于QA的EE工作用触发信息填充预先设计的模板,以生成QA模型的输入问题。然而,问题中缺少上下文信息是QA模型性能的瓶颈。

QGA-EE使用QG模型来生成基于输入句子和目标角色的上下文软件问题,它基于序列到序列架构(例如BART、T5)。为了训练QG模型,我们为ACE本体中的每个角色设计了动态模板。我们为每个角色设计多个模板,每个模板都包含其他论元角色的不同组合。

例如,ACE中的Conflict.Attack事件有四个预定义的参数角色:攻击者、目标、工具和位置。对于攻击者角色,我们使用问题中包含的其他角色的所有可能组合,详尽地设计了8个模板(表1)。当模型填充给定特定事件提及的模板时,通常会在事件提及中不存在一些预定义的参数角色。因此,模型只保留包含在事件提及中出现的论元角色的插槽的模板。对于图1中的示例,没有提到目标角色。所以我们忽略了所有包含[目标]插槽的模板,我们得到了四个关于攻击者角色的候选问题,并填充了相应的论元:(1)Who was the attacking agent? (2) Who used jets in the attack? (3) Who made the attack in hills? (4) Who used jets in the attack in hills?

为了训练一个QG模型来生成包含尽可能多的上下文信息的问题,我们使用包含最多上下文信息的问题作为基本事实。对于图1中的示例,我们选择了“Who used jets in the attack in hills?”,因为它包含两个论点:“jets”和“hills”,上面列出的其他三个候选问题包含一个或零个论元。如果有多个候选问题包含了最具上下文性的论元,那么我们将选择第一个问题。QG模型的输入和输出示例如下:

2.2 问题回答模型

与之前基于QA的EE工作不同,它采用了编码器架构并预测事件参数的偏移,我们的QA模型基于序列到序列架构(例如BART,T5),并直接生成答案字符串。这允许预测与同一角色关联的多个事件论元。Li等人(2021)也采用了生成模型,但输入模板是固定的。输入和输出的示例如下:

后处理:我们将输出分成一个候选项列表(按“;”),并通过与原始句子进行精确匹配来检索带有偏移量的论元。我们动态地更改搜索的起始位置,以保持检索到的事件论元的顺序。如果一个论元候选词不能与原句子匹配,我们将放弃它。与QG模型不同的是,我们在训练过程中使用所有可能的问题作为数据增强的输入,训练数据的大小从15,426增加到20,681。但在测试阶段,我们为每个参数角色使用QG模型生成的单个问题。

3 实验设置

3.1 数据集和评估细节

我们在ACE2005英语语料库上进行了实验,它有33种事件类型和22个参数角色。它包含了从新闻专线、博客、广播对话和广播新闻中收集的599份文件。更具体地说,我们遵循Wadden等人(2019年)中的预处理步骤,并在生成的ACE05-E数据集上评估我们的模型。

对于评估,我们使用与之前的工作相同的标准:如果一个事件触发词的偏移量与一个引用完全匹配,则可以正确识别它。如果它的偏移量和事件类型都匹配一个引用,则它将被正确地分类。如果一个事件论元的偏移量和事件类型与真实的引用相匹配,则可以正确识别该事件参数(Arg-I)。如果它的所有偏移量、事件类型和参数角色都匹配一个引用,则它将被正确地分类(Arg-C)。

3.2 比较基线

模型变体。为了评估我们的方法的通用性,我们评估了两个QGA-EE变体: QGA-EEBART和QGA-EET5,它们分别使用BART和T5作为backbones

我们将所提出的模型与SOTA EE模型进行了比较。BERT QA使用BERT作为编码器,并通过角色驱动的问题直接预测论元的位置。TANL将输入的句子转换为增强的自然语言句子,以进行结构化预测。TEXT2EVENT是一个用于事件提取的从序列到结构的网络。Ma等人(2020年)利用依赖关系解析作为附加特性。BART-Gen是一种基于bart的生成模型,提出用于文档级事件提取。

我们还与经过所有ACE注释训练的联合IE模型进行了比较,其中包括实体、关系和事件。它们从其他任务的额外信息中获益,通常比在单个任务上训练的模型获得更好的性能。直接将我们的模型与联合模型进行比较是不公平的,因为它们包含了除标准EE训练集之外的更多信息,但我们仍然列出了它们的分数作为参考。DYGIE++(Wadden等人,2019)是一个基于bert的模型,它建模了跨句子内和跨句子上下文的表示。ONEIE(Lin等人,2020年)利用了全局特性。FourIE(Nguyen等人,2021年)和GraphIE(Van Nguyen等人,2022年)是基于图卷积网络的模型,而AMRIE(Zhang和Ji,2021年)利用了AMR(巴纳雷斯库等人,2013年)解析器。

3.3 实施细节

我们在一个V100 GPU上进行了所有的实验。为了进行微调,我们使用了Adafactor优化器,学习速率为1∗10−4,权重衰减为1∗10−5,clip阈值为1.0。我们对这个模型训练了20个epoch。

4 结果

4.1 事件论元提取性能

表2显示了QGA-EE模型在具有真实触发器的ACE05-E测试集上的性能。这两种QGA-EE变体都优于所有其他方法,使用T5作为主干比BART提高了2.5%。对先前的基于QA的模型BERT_QA的改进表明,基于生成的QA模型比基于位置的QA模型更有效。QGA-EEBART优于基于bart的基线BART-Gen,QGA-EET5优于基于t5的基线TANL,这证明了我们使用不同骨干的模型的有效性。我们的模型甚至优于联合IE模型DYGIE++和ONEIE,它们利用了来自实体和关系的额外信息。

4.2 事件提取性能

我们还以更“real world”的方式评估我们的ACE05-E模型,使用基于算法(Lan等人,2019)序列标记模型提取的预测触发词(表3)。与gold触发词的性能相似,QGA-EE从预测触发词的T5主干中获益更多。在Arg-C上,两种QGA-EE变异都比所有以QGA任务为中心的基线表现出超过1%。

我们还包括了来自SOTA联合IE模型、DYGIE++、ONEIE、FourIE、AMR-IE和GraphIE的分数作为参考。但是,如前所述,将我们的模型直接与它们进行比较是不公平的,因为它们受益于训练来自实体、关系和事件的所有注释。同样需要注意的是,它们的触发标记模型具有更复杂的架构,因此性能明显优于我们使用的基于序列标记的标记器(F1 75.4%来自四个ie,F1 74.7%来自OneIE)。这进一步提高了端到端EE的性能。

4.3 消融实验

表4显示了QGAEET5模型在使用gold触发器的ACE05测试集上的消融研究。通过用简单的不知道上下文的模板替换QG模型,F1分数下降了1.65%。它演示了由我们的QG组件生成的上下文感知问题提高了端到端事件参数提取性能。此外,基于生成的QA模型能更好地处理多参数情况,并提高了4.24%。

4.4 数据扩充的影响

正如我们在第2.2节中提到的,由于我们提出的动态模板,训练数据的大小从15,426增加到20,681。为了评估数据增强的贡献,我们评估了QGA-EE对具有部分训练数据(使用gold触发词)的ACE05测试数据的性能。我们用部分训练数据(使用gold触发词)评估QGA-EE测试数据对ACE05的性能。在数据增强后的40%的训练例子(8272个)中,QGA-EE在具有gold触发词的ACE05-E测试集上获得了71.42%的F1分数。它优于表2中的所有基线,这证明了我们提出的模型的有效性。

4.5 分析与讨论

QGA-EET5生成的问题的平均长度为10.5个token,而Du和Cardie(2020年)的平均长度为6.7个。它们包含了更多的上下文。例如,QGA-EE生成“谁被州内的暴徒攻击?”在印度东北部特里普拉州的一个家庭中,至少有三名成员被开除。警方周四说,他们因涉嫌使用巫术而被一群部落暴徒袭击致死。”它包含了攻击者(“mob”)和位置(“状态”)信息。

我们将这些错误分为四组:

1.由QG模型产生的坏问题。例如,QGA-EE生成了“国家在*出售*事件中购买了什么?”文物角色…斯大林主义国家发展了核武器,并暗示可能出售或使用核武器,这取决于美国的行动。”它应该是“州政府在销售活动中卖出了什么?”这就给QA模型引入了一个错误。

2.由于QA输出结果不匹配而导致的错误。如果一个目标候选对象与原始句子中的多个文本字符串相匹配,那么QGA-EE可能会检索到错误的偏移量。例如,QGA-EE将候选人“韦尔奇”相匹配,“他还想传唤简·比斯利·韦尔奇人事文件中的所有文件;斯特林,她在著名的律师事务所工作。韦尔奇已经结婚了。,其中正确的一个是第二次提到。

3.由于缺少实体会议而导致的错误。例如,QGA-EE将“雅克·希拉克”确定为该联系人的实体。“法国总统希拉克星期二给布什打了个电话,试图修复两国关系,他只得到了保留的回应。”但“他”是基本的事实,指的是“雅克·希拉克”。

4.预测没有明确提到。例如,美国负责东亚和太平洋事务的助理国务卿凯利周五从北京抵达首尔,向外交部长尹汇报情况。,QGA-EE推断“首尔”是联系人的地点。满足事件,但它在上下文中没有明确提到,因此没有被黄金注释覆盖。

我们手动分析了来自测试集的错误子集(50个例子),并在图2中显示了每个类别的错误的部分。

5 结论

在本文中,我们提出了一种新的QGA-EE,一种基于序列到序列的EE框架,它利用QG模型生成上下文软件问题作为EAE QA模型的输入。我们的模型自然支持多个事件参数在特定事件提及中扮演相同角色的情况。我们在ACE05-E数据集上进行了实验,所提出的模型优于所有基于单任务的模型,并取得了与最先进的联合IE模型的竞争结果。在未来,我们计划利用QA框架的可扩展性,以整合来自半结构化的事件相关数据的知识,如维基百科信息箱。我们还计划将我们的方法扩展到多语言情感表达和联合IE。

Limitations

动态模板的设计需要事件本体,而且耗时。本文的作者花了30个小时设计了独家模板,涵盖了ACE本体中每个参数角色的所有可能的参数组合。对于更复杂的本体,需要更多的时间。我们的方法的另一个局限性是偏移量检索方法。如果一个句子包含多个相同实体的提到,甚至包含多个具有相同拼写但引用不同实体的文本字符串,则QGA-EE模型总是检索句子中首次提到的位置,作为所提取的目标的偏移量。它可以通过要求模型生成上下文文本作为位置参考来进行改进。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/89246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pycharm中恢复原始界面布局_常用快捷键_常用设置

文章目录 1 恢复默认布局1 .1直接点击file→Manage IDE Settings→Restore Default Settings(如下图所示):1.2 直接点击Restore and Restart, 然后Pycharm就会自动重启,重启之后的界面就是最原始的界面了 2 改变主题2.…

AMQP[RabbitMQ]小结

消息队列: 组成: 交换器,队列,绑定 作用:异步处理,削峰,服务解耦 交换器 RabbitMQ常见的exchange(交换器)类型: direct–路由键完全匹配才可以 fanout–广播 topic --主题,模糊匹配路由键 队列 messagequeue: 组成: 路由键 routine-key—决定消息发给谁 优先级prio…

作为产品经理,你是如何分析和管理你的产品需求的?

作为一名产品经理,分析和管理产品需求是非常重要的工作。在产品开发周期中,需求调研、需求分析、需求管理等环节都是非常关键的,因为好的需求管理能够直接影响产品的质量和用户体验。 需求调研 在进行需求调研的过程中,我们首先…

windows RocketMQ与可视化监控平台安装

windows RocketMQ与可视化监控平台安装 安装日期2023.09.21 最新版 RocketMQ是一个纯Java、分布式、队列模型的开源消息中间件,搭建RocketMQ需要先配置JAVA环境变量,需要有JAVA_HOME。 下载安装包 进入官网选择需要的版本下载安装包(以下以5.1.3为例…

Swift data范围截取问题

文章目录 一、截取字符串的几种方法1. 截取前几位2. 截取后几位3. subData4. 下标截取 二、subData(in:) 报错 EXC_BREAKPOINT 一、截取字符串的几种方法 1. 截取前几位 mobileID.prefix(32)2. 截取后几位 mobileID.suffix(3)3. subData data.subdata(in: 0..<4)4. 下标…

全渠道客服体验:Rocket.Chat 的无缝互动 | 开源日报 No.41

RocketChat/Rocket.Chat Stars: 36.9k License: NOASSERTION Rocket.Chat 是一个完全可定制的开源通信平台&#xff0c;适用于具有高标准数据保护要求的组织。我们是团队沟通场景下的最终免费开源解决方案&#xff0c;可以实现同事之间、公司之间或客户之间的实时对话。提高生…

Visual Studio 如何删除多余的空行,仅保留一行空行

1.CtrlH 打开替换窗口&#xff08;注意选择合适的查找范围&#xff09; VS2010: VS2017、VS2022: 2.复制下面正则表达式到上面的选择窗口&#xff1a; VS2010: ^(\s*)$\n\n VS2017: ^(\s*)$\n\n VS2022:^(\s*)$\n 3.下面的替换窗口皆写入 \n VS2010: \n VS2017: \n VS2022: \n …

Lnmp架构之mysql数据库实战2

4、mysql组复制集群 一主多从的请求通常是读的请求高于写 &#xff0c;但是如果写的请求很高&#xff0c;要求每个节点都可以进行读写&#xff0c;这时分布式必须通过&#xff08;多组模式&#xff09;集群的方式进行横向扩容。 组复制对节点的数据一致性要求非常高&#xff…

【Python基础】if __name__ == ‘__main__‘:和assert函数

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

经典垃圾回收器

Serial收集器 Serial 是一种新生代的收集器。顾名思义“serial 串行”&#xff0c;它是一种单线程工作的收集器&#xff0c;它的“单线程”并不仅仅指的只有一个处理器或一个线程来实现垃圾的收集工作&#xff0c;更重要的是他在垃圾收集的过程中会暂停所有的用户线程&#xf…

数字音频工作站FL Studio 21中文版下载及电音编曲要用乐理吗 电音编曲步骤

FL Studio 21是一款强大的数字音频工作站&#xff08;DAW&#xff09;软件&#xff0c;为您提供一个完整的软件音乐制作环境。它是制作高质量的音乐、乐器、录音等的完整解决方案。该程序配备了各种工具和插件&#xff0c;帮助你创建专业的虚拟乐器&#xff0c;如贝斯、吉他、钢…

SpringMVC 学习(四)RestFul 风格

5. RestFul 风格 5.1 简介 概念 Restful就是一个资源定位及资源操作的风格。不是标准也不是协议&#xff0c;只是一种风格。基于这个风格设计的软件可以更简洁&#xff0c;更有层次&#xff0c;更易于实现缓存等机制。 功能 资源&#xff1a;互联网所有的事物都可以被抽象为…

【Phoenix】phoenix实现每个Primarykey主键保留N版本数据,CDC数据记录为Changelog格式

一、背景&#xff1a; CDC数据中包含了&#xff0c;数据的变更过程。当CDC写入传统数据库最终每一个primary key下会保存一条数据。当然可以使用特殊手段保存多分记录但是显然造成了数据膨胀。 另外数据湖Hudi(0.13.1)是不支持保存所有Changelog其Compaction机制会清除所有旧版…

安卓recovery流程分析(编译、界面、图片)

目录 recovery 界面菜单 recovery 界面操作 recovery 启动流程 recovery 编译makefile recovery 图片大小 ramdisk、boot.img、recovery.img之间的关系 authordaisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 recovery 界面菜单 recovery 界面显示 android recoveryuse …

TCP协议和UDP协议

TCP通信原理 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种传输层协议&#xff0c;它主要负责点对点的数据传输TCP 主要特点是面向连接的&#xff0c;也就是说&#xff0c;在数据传输之前&#xff0c;它需要先建立一个连接。连接建…

uniapp实现表格冻结

效果图如下&#xff1a; 思路&#xff1a; 1.由于APP项目需要&#xff0c;起初想去插件市场直接找现成的&#xff0c;结果找了很久没找到合适的&#xff08;有的不支持vue2有的不能都支持APP和小程序&#xff09; 2.后来&#xff0c;就只能去改uni-table源码了&#xff0c;因…

Unity制作旋转光束

Unity制作旋转光束 大家好&#xff0c;我是阿赵。 这是一个在很多游戏里面可能都看到过的效果&#xff0c;在传送门、魔法阵、角色等脚底下往上散发出一束拉丝形状的光&#xff0c;然后在不停的旋转。 这次来在Unity引擎里面做一下这种效果。 一、准备材料 需要准备的素材很简…

leetCode 62.不同路径 动态规划 + 空间复杂度优化

62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xf…

登录业务实现 - token登录鉴权

登录业务实现&#xff1a; 登录成功/失败实现 -> pinia管理用户数据及数据持久化 -> 不同登录状态的模板适配 -> 请求拦截器携带token&#xff08;登录鉴权&#xff09; -> 退出登录实现 -> token失效&#xff08;401响应拦截&#xff09; 1. 登录成…