【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练

news2024/11/13 9:32:57

【论文速递】ACL 2021-CLEVE: 事件抽取的对比预训练

【论文原文】:CLEVE: Contrastive Pre-training for Event Extraction

【作者信息】:Wang, Ziqi and Wang, Xiaozhi and Han, Xu and Lin, Yankai and Hou, Lei and Liu, Zhiyuan and Li, Peng and Li, Juanzi and Zhou, Jie

论文:https://arxiv.org/pdf/2105.14485.pdf
代码:https://github.com/THU-KEG/CLEVE

博主关键词:AMR,自监督学习,预训练,图神经网络

推荐论文:AMR-IE:http://t.csdn.cn/Vk6VP、TSAR:http://t.csdn.cn/wXEAc

摘要

事件抽取(EE)通过微调从预训练的语言模型(PLMs)中受益匪浅。然而,现有的预训练方法没有涉及事件特征的建模,导致所开发的EE模型不能充分利用大规模无监督数据。为此,我们提出了CLEVE,一个用于EE的对比预训练框架,以更好地从自动解析器(例如AMR)去获得的大型无监督数据及其语义结构中学习事件知识。CLEVE分别包含一个学习事件语义的文本编码器和一个学习事件结构的图编码器。具体来说,文本编码器通过自监督对比学习来学习事件语义表示,使同一事件中的单词比不相关的单词表示得更近;图编码器通过对已解析的事件相关语义结构进行图对比预训练来学习事件结构表示。然后,这两种互补的表示形式一起工作以改进传统的监督EE和无监督的“自由(liberal)”EE,后者需要在没有任何标注数据的情况下联合抽取事件和发现事件模式。在ACE 2005和MAVEN数据集上的实验表明,CLEVE取得了显著的改进,特别是在具有挑战性的无监督环境中。

1、简介

事件抽取(Event extraction, EE)是一项长期存在的重要信息抽取任务,旨在从非结构化文本中抽取事件结构。如图1所示,它包含事件检测任务,用于识别事件触发词(单词“攻击(attack)”)和分类事件类型(攻击(Attack)),以及事件论元抽取任务,以识别作为事件论元的实体(“今天(today)”和“内坦亚(Netanya)”),并对其论元角色(时间-内部(Time-within)和地点(Place))进行分类(Ahn, 2006)。通过明确地捕获文本中的事件结构,EE可以受益于各种下游任务,如信息检索(Glavas和Snajder, 2014)和知识库人口(Ji和Grishman, 2011)。

现有的EE方法主要遵循监督学习范式来训练高级神经网络(Chen et al, 2015;Nguyen等人,2016;Nguyen和Grishman, 2018),使用人工标注数据集和预定义的事件模式。这些方法在许多公共基准测试中工作良好,如ACE 2005 (Walker et al, 2006)和TAC KBP (Ellis et al, 2016),但它们仍然受到数据稀缺和有限的泛化性的影响。由于标注事件数据和定义事件模式特别昂贵且耗费大量人力,因此现有的EE数据集通常只包含数千个实例,覆盖有限的事件类型。因此,它们不足以训练大型神经模型(Wang et al, 2020)和开发可以推广到不断出现的新事件类型的方法(Huang和Ji, 2020)。

受到最近用于NLP任务的预训练语言模型(PLMs)成功的启发,一些开创性工作(Wang et al, 2019a;Wadden等人,2019)试图对EE的一般PLMs(例如BERT (Devlin等人,2019))进行微调。得益于从大规模无监督数据中学习到的强大的通用语言理解能力,这些基于PLM的方法在各种公共基准测试中取得了最先进的表现。

虽然利用无监督数据进行预训练已逐渐成为EE和NLP界的共识,但仍缺乏面向事件建模的预训练方法,以充分利用大规模无监督数据中丰富的事件知识。这里的关键挑战是找到合理的自我监督信号(Chen等人,2017;Wang等人,2019a)为事件的不同语义和复杂结构。幸运的是,之前的工作(Aguilar et al, 2014;Huang等人,2016)提出句子语义结构,如抽象语义表示(AMR) (Banarescu等人,2013),包含广泛和多样的语义和结构信息与事件有关。如图1所示,解析的AMR结构不仅包括带标注的事件(攻击(Attack)),还包括ACE 2005模式中未定义的事件(报告(Report))。

考虑到大规模无监督数据的AMR结构可以很容易地通过自动解析器获得(Wang et al, 2015),我们提出了CLEVE,一种面向事件的对比预训练框架,利用AMR结构构建自我监督信号。CLEVE由两个组件组成,包括学习事件语义的文本编码器和学习事件结构信息的图形编码器。具体而言,为了学习有效的事件语义表示,我们使用PLM作为文本编码器,并鼓励在AMR结构中由ARG、时间、位置边连接的词对的表示在语义空间中比其他不相关的词更接近,因为这些词对通常指的是相同事件的触发词论元对(如图1所示)(Huang et al, 2016)。这是通过对比学习来完成的,将连接的单词对作为积极样本,不相关的单词作为消极样本。此外,考虑到事件结构也有助于抽取事件(Lai et al, 2020)和推广到新的事件模式(Huang et al, 2018),我们需要学习可转移的事件结构表示。因此,我们进一步引入图神经网络(GNN)作为图编码器,将AMR结构编码为结构表示。以AMR子图识别为目标,在大型无监督语料库的AMR结构上对图编码器进行对比预训练。

通过对下游EE数据集上的两个预训练模型进行微调,并联合使用这两种表示,CLEVE相对于传统的监督EE受益于数据稀缺。同时,预训练的表示也可以直接帮助抽取事件并发现新的事件模式,无需任何已知的事件模式或标注实例,从而具有更好的泛化性。这是一个具有挑战性的无监督设置,名为“自由事件抽取”(Huang et al, 2016)。在广泛使用的ACE 2005和大型MAVEN数据集上的实验表明,CLEVE在这两种设置下都可以实现显著的改进。

2、方法

整个CLEVE框架如图2所示。如图2所示,我们的对比预训练框架CLEVE由两个部分组成:事件语义预训练和事件结构预训练,分别在章节3.2和章节3.3中介绍。在本节开始时,我们首先介绍3.1节中所需的预处理,包括AMR解析以及如何修改已解析的AMR结构以进行预训练。

3、实验结果

评估结果:评价结果如表1和表2所示。我们可以观察到:(1)在ACE 2005和MAVEN上,CLEVE对其基本模型RoBERTa都有了显著的改进。ED on ACE 2005、EAE on ACE 2005和ED on MAVEN的t检验p值分别为4×10−8、2×10−8和6 ×10−4。它也优于或达到与其他baseline的水平,包括那些使用依赖解析信息(dbRNN, GatedGCN, SemSynGTN和MOGANED)。这证明了我们提出的对比预训练方法和AMR语义结构的有效性。值得注意的是,RCEE ER在EAE中优于我们的方法,因为它的特殊优势是将EE重新定义为MRC任务,以利用复杂的MRC方法和大量标注的外部MRC数据。考虑到我们的方法本质上是一种学习更好的面向事件表示的预训练方法,CLEVE和RCEE ER自然可以一起工作来进一步提高EE。(2)消融研究(比较CLEVE及其w/o语义或结构表示变体)表明,事件语义预训练和事件结构预训练对我们的方法都是必不可少的。(3)对比CLEVE及其在ACE (golden)和ACE (AMR)上的变体,可以看出AMR解析与正确标注相比不可避免地会带来数据噪声,从而导致性能下降。然而,这种差距可以很容易地通过引入大量无监督数据和预训练来弥补。

全文阅读

【论文速递 | 精选】

论坛地址:https://bbs.csdn.net/forums/paper

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

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

相关文章

【离散数学】3. 代数系统

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 代数系统:把一些形式上很不相同的代数系统,用统一的方法描述、研究、推理,从而得到反映出他们共性的一些结论,在将结论运用到具体的代数系统中 系统:运算研究对象 运算&…

薪资9k!三年教培老师被优化,选择转行软件测试实现再就业

大学毕业后,我在一家教培机构当了三年的高中英语老师。只是后来我怎么也没想到,这三年间形成的社交圈子和职场经验,仅仅用了三个月便发生了天翻地覆的变化。 ——贵阳校区优秀学员 小Z 01.初入职场 2019年的初夏,我和众多应届毕…

利用redis实现缓存、发布订阅、分布式锁功能

Redis是一个内存键值存储数据库,通常用于缓存、会话管理、消息队列等场景。以下是一些常见的Redis使用场景:1.缓存:将常用的数据缓存在Redis中,以减少对数据库的访问次数,提高应用程序的性能。2.会话管理:使…

用Python采集热门城市景点数据并简单制作数据可视化图

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 模块使用: 爬虫部分: requests parsel csv 数据分析部分: pandas pyecharts 如何安装模块: win R 输入 cmd 输入安装命令: pip install 模块名 回车 pycharm里面安装 terminal 输入安装命令…

OSI七层网络模型

应用层 定义了各种应用协议规范数据格式:HTTP协议、HTTPS协议、FTP协议、DNS协议、TFTP、SMTP等等。 表示层 翻译工作。提供一种公共语言、通信。 会话层 1、可以从校验点继续恢复数据进行重传。——大文件 2、自动收发,自动寻址的功能。 传输层 1、…

Qt下实现不规则形状窗口显示

文章目录前言一、资源文件的添加二、初始化窗口三、重写paintEvent函数实现窗口重绘四、重写QMouseEvent相关函数实现不规则窗口的移动及关闭五、demo完整代码六、下载链接总结前言 本文实现了Qt下显示两个不规则形状的窗口demo,其中有Qt的窗口对话框和QPaintEvent…

基于minikube快速搭建kubernetes单节点环境

一、说明 本文主要介绍在 Centos7 环境下基于 Minikube 来快速部署 Kubernetes 单节点集群环境,并在浏览器上访问部署在 k8s 上的 dashboard 服务。 二、Minikube 介绍 Minikube 是一个基于go语言开发,易于在本地运行 Kubernetes 的工具,可…

《mysql技术内幕:innodb存储引擎》笔记

任何时候Why都比What重要;不要相信任何的“神话”,学会自己思考;不要墨守成规,大部分人都知道的事情可能是错误的;不要相信网上的传言,去测试,根据自己的实践做出决定;花时间充分地思考,敢于提出质疑。1.MYSQL被设计为一个单进程多…

(三十七)vue 项目中常用的2个Ajax库

文章目录axios实现vue-resource实现上一篇:(三十六)Vue解决Ajax跨域问题 先看一个github搜索案例 有一个搜索框,输入相关用户名,就能模糊搜索出用户,展现到下方 第一步:我们用到了第三方样式库…

36、基于51单片机频率计 LCD 1602显示系统设计

摘要 数字频率计是一种基本的测量仪器。它被广泛应用于航天、电子、测控等领域,还被应用在计算机及各种数学仪表中。一般采用的是十进制数字,显示被测信号频率。基本功能是测量正弦信号,方波信号以及其他各种单位时间内变坏的物理量。由于其…

【沐风老师】为你推荐18个免费3dMAX插件和脚本

在所有 3D 软件中,3dMax的历史特别引人注目,有许多有趣的里程碑和突破点。自 1990 年推出以来,3dMax 一直是Autodesk公司的支柱产品之一。作为行业标准,它是高端项目和各种高级用途的首选 3D 软件之一。 如果你已经在使用3dMax&a…

一站式元数据治理平台——Datahub入门宝典

随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为新一代的元数据管理平台,Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势。国内Datahub的资料非常少,大部分公司想使用Datah…

大数据开发-数据仓库介绍

目录标题1、数据仓库1.1 数仓为何而来?1.2 数据仓库的主要特性1.3 数据仓库与数据库的区别1.4 数据仓库三层架构1.5 实战-美团酒旅数仓建设1.6 ETL、ELT1.6.1 ETL1.6.2 ELT1、数据仓库 数据仓库Data Warehouse 简称DH,数据仓库的目的是构建面向分析的集…

Centos7.9源码编译安装dpdk

近日遇到一个需求,需要在Centos7.9上源码编译安装dpdk-21.11.2,并且dpdk的安装目录为/opt/。安装过程较为复杂,特此记录一下,方便日后查看。 相关配置参数编译环境虚拟机Centos7.9内核版本3.10.0-957dpdk版本21.11.2DPDK是INTEL公…

Java并发编程面试题——JUC专题

文章目录一、AQS高频问题1.1 AQS是什么?1.2 唤醒线程时,AQS为什么从后往前遍历?1.3 AQS为什么用双向链表,(为啥不用单向链表)?1.4 AQS为什么要有一个虚拟的head节点1.5 ReentrantLock的底层实现…

组合实现多类别分割(含实战代码)

来源:投稿 作者:AI浩 编辑:学姐 摘要 segmentation_models_pytorch是一款非常优秀的图像分割库,albumentations是一款非常优秀的图像增强库,这篇文章将这两款优秀结合起来实现多类别的图像分割算法。数据集选用CamVid…

Java实现JDBC工具类DbUtils的抽取及程序实现数据库的增删改操作

封装DbUtils 工具类 不知道我们发现没有,不管是对数据库进行查询,还是标准的JDBC 步骤,其开端都是先实现JDBC 的加载注册,接着是获取数据库的连接,最后都是实现关闭连接,释放资源的操作。那我们何不直接把…

起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发了,所以面了很多P…

【Python】用sympy判断函数的单调性和极值

文章目录单调性和奇异性连续性、极值、周期、不动点单调性和奇异性 sympy.calculus.singularities提供了4个关于单调性判定的函数,分别是 is_decreasing(expr, interval, symbolNone) is_increasing(expr, interval, symbolNone) is_strictly_decreasing(expr, in…

【期末复习】例题讲解Dijkstra算法

使用场景Dijkstra算法用于解决单源点最短路径问题,即给一个顶点作为源点,依次求它到图中其他n-1个顶点的最短距离。例题讲解Dijkstra算法将图中所有顶点分成两部分,第一部分是已知到源点最短距离的顶点Known(K),第二部分是不知道到…