ACL 2022:Graph Pre-training for AMR Parsing and Generation

news2024/12/23 6:42:22

Graph Pre-training for AMR Parsing and Generation

论文:https://aclanthology.org/2022.acl-long.415/

代码:https://github.com/goodbai-nlp/AMRBART

期刊/会议:ACL 2022

摘要

抽象语义表示(AMR)以图形结构突出文本的核心语义信息。最近,预训练语言模型(PLM)分别具有AMR解析和AMR到文本生成的高级任务。然而,PLM通常是在文本数据上进行预训练的,因此对于结构知识建模来说是次优的。为此,我们研究了图自监督训练,以提高PLM对AMR图的结构感知。特别地,我们介绍了两种用于图到图预训练的图自动编码策略,以及在预训练期间集成文本和图信息的四项任务。我们进一步设计了一个统一的框架来弥合预训练和微调任务之间的差距。在AMR解析和AMR-to-text生成方面的实验都表明了我们模型的优越性。据我们所知,我们是第一个考虑对语义图进行预训练的人。

1、简介

抽象意义表示(AMR; Banarescu et al (2013))是一种语义结构形式。它在有根的有向图中表示文本的含义,其中节点表示实体和谓词等基本语义单元,边分别表示它们的语义关系。AMR是AMR parsing和AMR-to-text generation两个任务的基础任务。

如图1所示,前者将文本输入(如句子)转换为相应的AMR结构,后者将AMR输入转换为传达相同含义的流畅语法句子。这两项任务的一个共同挑战是,AMR以图结构的形式存在,这对于神经模型来说很难在有限的人类策划数据下学习。

在自监督文本到文本(t2t)预训练中学习的语义知识既有利于文本到图(t2g)的转换,也有利于图到文本(g2t)的转换。直观地说,来自AMR的结构知识可以是对来自文本的语义知识的有用补充。

一个自然的问题是,类似的自监督策略是否对AMR图有用,以便在模型对t2g和g2t任务进行微调之前,图对图(g2g)去噪自动编码器训练可以作为t2t预训练的有效补充。这里存在三个有趣的问题:首先,如前所述,g2g的预训练是否与t2t的预训练相辅相成?第二,将t2t和g2g训练结合起来最有效的方法是什么?第三,silver data(中等规模数据)对AMR自监督训练有用吗?利用这些数据的最有效方法是什么?

2、相关工作

AMR Parsing:neural transition-based parsers、sequence-to-graph parsers、sequence-to-sequence parsers。预训练语言模型,sequence-to-AMR generation成为趋势。先前的研究侧重于在AMR解析任务的文本数据上微调训练的语言模型,相反的是,本文侧重于将结构信息集成到预训练中。此外,我们的方法不需要来自辅助任务的信息。

AMR-to-Text Generation:在粗粒度层面上,我们将现有的AMR到文本生成方法分为两大类:采用图编码器处理AMR图并使用序列解码器进行生成的graph-to-sequence模型(Beck et al, 2018; Damonte and Cohen, 2019; Zhu et al, 2019),以及sequence-to-sequence模型,将AMR图线性化为序列,并使用随机初始化的(Konstas et al, 2017)或预训练模型(Mager et al, 2020;Ribeiro et al, 2021a;Bevilacqua et al, 2021)将其作为seq2seq问题求解。这项工作遵循seq2seq方式,但我们使用了一个集成AMR和文本信息的编码器。与我们的工作最接近的是,Ribeiro等人(2021b)使用适配器(Houlsby et al, 2019)将AMR结构集成到预训练的T5中(Raffel et al, 2020),用于AMR-to-text generation。然而,它们没有在AMR图上进行预训练,并且它们的方法不能同时解决AMR parse和AMR-to-text generation 任务,因为它们需要完整的AMR结构作为输入。

Graph self-supervised learning:Kipf和Welling(2016)引入了一种变分图自动编码器,以允许对图数据进行自监督学习。胡等人(2020a,b)提出了局部和全局学习策略,以在大规模蛋白质自我网络、学术图和推荐数据上预训练图神经网络。Lu等人(2021)用双重适应增强了Hu等人(2020b)的图学习策略。虽然现有的工作考虑了图神经网络,但我们在AMR图上预训练了seq2seq模型。此外,我们还对图和文本进行了联合预训练,以进行图-文本相关性建模。相比之下,现有的工作在图上预训练模型,并与文本预训练隔离。据我们所知,我们是第一个将AMR视为图预训练目标的人。

3、方法

我们将BART(Lewis et al, 2020)作为基本的seq2seq模型(第3.1节),并介绍了用于AMR parsing 和AMR-to-text generation 的图预训练策略(第3.2节)和统一的预训练框架(第3.3节)。

3.1 BART

BART(Lewis et al,2020)是一种预训练的去噪自动编码器,是基于标准Transformer(Vaswani et al,2017)架构实现的seq2seq模型。通常,BART被训练为基于由5个噪声函数和扰乱的文本来重建原始文本,这五个函数分别是:1、Token Masking,2、Token Deletion,3、Text Infilling,4、Sentence Permutation,5、Document Rotation。在微调中,BART将一个完整的文本作为输入,并将其映射到特定任务的输出序列中。

我们将AMR图线性化为序列,因此可以使用seq2seq模型执行AMR parsing 和AMR-to-text generation。此外,它还允许使用BART对AMR结构进行预训练,我们采用了深度优先搜索(DFS)算法,该算法与线性化的自然语言句法树密切相关(Bevilacqua et al,2021)。例如,图1中的AMR图被线性化为:(<Z0> psssible :domain (<Z1>go :arg0(<Z2> boy)) :polarity(<Z3> negative)),其中<Z0>,<Z1><Z2>是处理共指节点的特殊标记。为了处理这种AMR符号,我们遵循之前的工作(Bevilacqua et al, 2021),并通过添加所有关系和框架来扩展词汇表。此外,为了区分文本和AMR图,我们添加了两个特殊的标记,<g>, </g>,分别标记AMR图的开始和结束。

3.2 在AMR图上进行预训练

我们引入了两种自监督训练策略来进一步在AMR图上预训练BART模型。如图2(a)所示,node/edge 级去噪策略鼓励模型捕获关于节点和边缘的局部知识。图级去噪策略(图2(c))强制模型预测子图,从而促进图级学习。

  1. 节点/边 级去噪。我们在AMR节点/边上应用噪声函数来构建噪声输入图。特别地,噪声函数是通过mask每个图中15%的节点和15%的边来实现的。如图2(a)所示,节点[go-01]edge[:arg0]被替换为两个[mask] token。
  2. 子图级去噪。此任务旨在恢复给定部分图形时的完整图。我们从图中随机移除子图,并将其替换为[mask]token(参见。图2(c))。掩码概率为0.35。

3.3 统一的预训练框架

上述标准的预训练和微调策略如表1(a)所示,分别使用<s><g>来区分文本和图信息。然而,在预训练期间,该模型没有完全了解文本信息和AMR信息之间的交互。为了进一步解决这个问题,我们考虑了一个统一的预训练框架,该框架将文本和AMR序列作为去噪自动编码器的输入。通过这种方式,可以对文本、AMR或两端进行动态mask,从而使模型能够学习利用一个信息源来推断另一个信息来源。这可以通过强制学习文本和AMR结构之间的对应关系,使解析器和生成模型都受益。

此外,如表1所示,AMR从/到文本转导的标准预训练和微调之间存在差距。具体而言,输入和输出格式在预训练中是相同的(即 t ^ 2 t \hat{t}2t t^2t g ^ 2 g \hat g2g g^2g),但在微调中是不同的(即,t2g和g2t)。这种差距限制了模型在微调阶段充分利用预训练的知识。统一的预训练框架还可以消除预训练和微调之间输入和输出格式的差异,从而有利于特定任务的微调

形式上,将文本和线性化的图序列表示为 t t t g g g,其中 t = { x 1 , x 2 , … , x n } t=\{x_1,x_2,\ldots,x_n\} t={x1,x2,,xn} g = { g 1 , g 2 , … , g n } g=\{g_1,g_2,\ldots,g_n\} g={g1,g2,,gn} t ^ \hat t t^ g ^ \hat g g^分别表示有噪声的文本和图, t ˉ \bar{t} tˉ g ˉ \bar{g} gˉ分别表示空文本和图。如表1(b)所示,我们将预训练和微调的输入格式统一为 t g tg tg。为了一致性,所有输入序列都以文本序列开始,以图形序列结束。

联合文本和图的预训练:我们引入了4个辅助的预训练任务,以鼓励图形和文本之间的信息交换。如表1(b)所示,辅助任务为:

  1. 图增强文本去噪( t ^ g 2 t \hat tg2t t^g2t),其中AMR图被作为附加输入,以帮助mask文本重构;
  2. 文本增强图去噪( t g ^ 2 g t \hat g2g tg^2g),其中文本有助于mask图重建;
  3. 噪声图增强文本去噪( t ^ g ^ 2 t \hat t \hat g2t t^g^2t),其中目标文本是基于一对mask文本和mask图生成的;
  4. 噪声文本增强图去噪( t ^ g ^ 2 g \hat t \hat g2g t^g^2g),其中基于一对mak文本和mask图生成目标图。

动态掩码概率:与使用静态掩蔽率的标准掩蔽(Devlin et al,2019)不同,我们对任务 t ^ g 2 t , t g ^ 2 t \hat tg2t,t \hat g2t t^g2ttg^2t采用了动态掩蔽率 p p p。形式上,在步骤 t t t,我们mask概率 p p p计算为:
p = 0.1 + 0.75 ∗ t / T (1) p=0.1 + 0.75 * t/T \tag{1} p=0.1+0.75t/T(1)
其中0.1是初始mask概率, T T T表示总训练步骤。 p p p随着 t t t的增长而增加,随着 t t t接近 T T T,预训练任务 t ^ g 2 t , t g ^ 2 t \hat tg2t,t \hat g2t t^g2ttg^2t更接近于微调任务。

统一的预训练和微调:在我们的统一框架中,微调任务可以被视为原始输入中有一个空的文本/图,从而产生用于AMR-to-text generation的 t ˉ g 2 t \bar tg2t tˉg2t和用于AMR parsing 的 t g ˉ 2 g t \bar g2g tgˉ2g的输入格式。这样,预训练和微调任务共享相同的输入格式,从而促进了从预训练到微调的知识转移。

3.4 训练

优化总的损失函数:
L t ^ 2 t = − log ⁡ P ( t ∣ t ^ , g ˉ ) , L g ^ 2 g = − log ⁡ P ( g ∣ t ˉ , g ^ ) , L t ^ g 2 t = − log ⁡ P ( t ∣ t ^ , g ) , L t g ^ 2 g = − log ⁡ P ( g ∣ t , g ^ ) , L t ^ g ^ 2 t = − log ⁡ P ( t ∣ t ^ , g ^ ) , L t ^ g ^ 2 g = − log ⁡ P ( g ∣ t ^ , g ^ ) , L t o t a l = L t ^ 2 t + L g ^ 2 g + L t ^ g 2 t + L t g ^ 2 g + L t ^ g ^ 2 t + L t ^ g ^ 2 g (2) \mathcal{L}_{\hat t 2t}=- \log P(t|\hat t,\bar g),\\ \mathcal{L}_{\hat g 2g}=- \log P(g|\bar t,\hat g),\\ \mathcal{L}_{\hat tg 2t}=- \log P(t|\hat t, g),\\ \mathcal{L}_{t\hat g 2g}=- \log P(g| t,\hat g),\\ \mathcal{L}_{\hat t \hat g 2t}=- \log P(t|\hat t,\hat g),\\ \mathcal{L}_{\hat t \hat g 2g}=- \log P(g|\hat t,\hat g),\\ \mathcal{L}_{total}=\mathcal{L}_{\hat t 2t}+\mathcal{L}_{\hat g 2g}+\mathcal{L}_{\hat tg 2t}+\mathcal{L}_{t\hat g 2g}+\mathcal{L}_{\hat t \hat g 2t}+\mathcal{L}_{\hat t \hat g 2g} \tag{2} Lt^2t=logP(tt^,gˉ),Lg^2g=logP(gtˉ,g^),Lt^g2t=logP(tt^,g),Ltg^2g=logP(gt,g^),Lt^g^2t=logP(tt^,g^),Lt^g^2g=logP(gt^,g^),Ltotal=Lt^2t+Lg^2g+Lt^g2t+Ltg^2g+Lt^g^2t+Lt^g^2g(2)
L t ^ 2 t , L g ^ 2 g \mathcal{L}_{\hat t 2t},\mathcal{L}_{ \hat g 2g} Lt^2t,Lg^2g是在文本上和图像的标准预训练损失。 L t ^ g 2 t , L t g ^ 2 g , L t ^ g ^ 2 t , L t ^ g ^ 2 g \mathcal{L}_{\hat tg 2t},\mathcal{L}_{t\hat g 2g},\mathcal{L}_{\hat t \hat g 2t},\mathcal{L}_{\hat t \hat g 2g} Lt^g2t,Ltg^2g,Lt^g^2t,Lt^g^2g指的是联合预训练损失。

对于微调,训练的目标是:
L a m r 2 t e x t = − log ⁡ P ( t ∣ t ˉ , g ) , L t e x t 2 a m r = − log ⁡ P ( g ∣ t , g ˉ ) (3) \mathcal{L}_{amr2text}=- \log P(t | \bar t,g ),\\ \mathcal{L}_{text2amr}=- \log P(g|t,\bar g) \tag{3} Lamr2text=logP(ttˉ,g),Ltext2amr=logP(gt,gˉ)(3)
L a m r 2 t e x t , L t e x t 2 a m r \mathcal{L}_{amr2text},\mathcal{L}_{text2amr} Lamr2text,Ltext2amr是AMR-to-text generation和AMR parsing的训练损失。

4、实验

数据集:AMR2.0(LDC2017T10),AMR3.0(LDC2020T02),New3,The Little Prince(TLP),Bio AMR(Bio)。

实验结果

5、总结

我们使用一种新的具有对偶图和文本去噪的统一框架,研究了图预训练作为AMR解析和AMR文本生成任务的文本预训练的填充。我们发现,图预训练对于AMR解析和AMR到文本生成都是非常有效的,并且与微调相比,这是一种更有效的利用中等数据的方法。我们的方法在两项任务的多个基准测试上都能获得最佳结果。

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

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

相关文章

2022年天府杯全国大学生数学建模竞赛A题仪器故障智能诊断技术解题全过程文档及程序

2022年天府杯全国大学生数学建模竞赛 A题 仪器故障智能诊断技术 原题再现&#xff1a; 问题背景&#xff1a;   仪器设备故障诊断技术是一种了解和掌握机器在运行过程的状态&#xff0c;确定其整体或局部正常或异常&#xff0c;早期发现故障及其原因&#xff0c;并能预报故…

关于高三经典励志文章精选

关于高三经典励志文章精选 篇一 人要心有所向 曾经有幸被母校邀请回校做演讲。那一次的演讲结束后&#xff0c;接到学弟学妹最多的问题是&#xff1a;为什么我的大学生活很充实&#xff0c;自己也很努力&#xff0c;可毕业之后依旧觉得很迷茫? 我觉得关于迷茫的解答最后都能归…

git创建本地分支的应用实践

场景 我们希望能够不影响本地master分支的情况下自己单独开发一个功能&#xff0c;等开发完成后再合并到master分支中 操作 创建本地分支sortdev&#xff0c;并且切换到该分支上&#xff1a; git checkout -b sortdev git branch -vv 可以查看到本地master分支追踪的是远程…

【学习记录】二次曲线、二次曲面、对偶二次曲线、对偶二次曲面

一、二次曲线与对偶二次曲线 最近在看基于椭球体的物体SLAM过程中&#xff0c;经常涉及到椭球体的空间几何知识&#xff0c;这里先补充一下一些空间几何相关的基础&#xff0c;参考链接。 椭球体本身属于二次曲面的一种&#xff0c;二次曲面是对空间形状的描述&#xff0c;属于…

每天一道面试题之如何将字符串反转?

在java中&#xff0c;我们可以使用StringBuilder或者StringBuffer类的reverse()方法来实现对字符串的反转。 在讲述实现方法之前&#xff0c;首先我们先来介绍一下StringBuilder和StringBuffer是什么&#xff1f;在实际开发中&#xff0c;会有大量的字符串的拼接,但java中的字…

pytorch 训练EfficientnetV2

文章目录 前言一、数据摆放二、训练二、测试三、训练和测试结果总结 前言 前不久用pytorch复现了efficientnetv2的网络结构&#xff0c;但是后边自己一直有其他事情再做&#xff0c;所以训练部分的文章拖到了现在。关于Efficientnet的部分文章链接可参考如下&#xff1a; Effic…

一百二十、Kettle——用kettle把Hive数据同步到ClickHouse

一、目标 用kettle把hive数据同步到clickhouse&#xff0c;简单运行、直接全量导入数据 工具版本&#xff1a;kettle&#xff1a;8.2 Hive:3.1.2 ClickHouse21.9.5.16 二、前提 &#xff08;一&#xff09;kettle连上hive &#xff08;二&#xff09;kettle连上cli…

10. 数据结构之树

前言 之前介绍了顺序表的数据结构&#xff0c;包含队列&#xff0c;栈等&#xff0c;这种结构都是一对一的&#xff0c;但是现实生活中&#xff0c;经常会遇见一对多的数据结构&#xff0c;比如族谱&#xff0c;部门机构等&#xff0c;此时我们需要一个更复杂的数据结构来表示…

分布式系统概念和设计——(事务与并发控制)

分布式系统概念和设计 事务与并发控制 简介 事务的目标是在多个事务访问对象以及服务器面临崩溃的情况下&#xff0c;保证所有由服务器管理的对象始终维持在一个一致的状态上 事务是由客户定义的针对服务器对象的一组操作&#xff0c;组成为一个不可分割的单元&#xff0c;由…

Unity | HDRP高清渲染管线学习笔记:HDRP配置文件(HDRP Asset)

目录 一、Frame Settings&#xff08;帧设置&#xff09; 二、Volume 三、HDRP配置文件、帧设置和Volume之间的关系 四、HDRP配置文件 1.Rendering &#xff08;1&#xff09;Color Buffer Format&#xff08;颜色缓存格式&#xff09; &#xff08;2&#xff09;Lit Sh…

芭比Q了,现在的00后实在是太卷了.....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪20K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了…

掌握这个90%的人都不会的大屏技术,裁员、降薪与你无关

裁员话题时不时就被拉到热搜上溜几圈&#xff0c;一方面让各位打工人们焦虑恐惧失业风险&#xff0c;另一方面也能让各位从一波波裁员危机事件中吸取“经验”。例如&#xff0c;技术人员狂敲代码、业务人员猛冲业绩…该被裁的依旧如此&#xff0c;在当今你得具备点别人没有的技…

测评补单操作在美客多店铺及产品优化中的决定性角色:深度解读

许多经营美客多平台的商家有一种观念&#xff0c;他们认为美客多平台的规则与亚马逊有所区别。在美客多上&#xff0c;店铺比产品更重要&#xff0c;而且平台的竞争相对较小。因此&#xff0c;他们认为在美客多平台进行补单操作是不必要的。 然而&#xff0c;是否真的如此呢&a…

RF接口测试(1)

RF是做接口测试的一个非常方便的工具&#xff0c;我们只需要写好发送报文的脚本&#xff0c;就可以灵活的对接口进行测试。 做接口测试我们需要做如下工作&#xff1a; 1、拼接发送的报文 2、发送请求的方法 3、对结果进行判断 我们先按步骤实现&#xff0c;再进行RF操作的…

人效九宫格|三个提升路径,三种管理模式,让人效实时可量化

文&#xff5c;盖雅学苑‍‍ 本文共5202字 在经济高速发展的过去&#xff0c;企业更关注机遇&#xff0c;当经济发展速度进入新常态时&#xff0c;企业更关注效率。在盖雅工场发布的《企业人效管理白皮书》中的数据显示&#xff0c;69.9%的企业依旧将人效提升作为紧急事项&am…

Vue主界面精美模板分享

文章目录 &#x1f412;个人主页&#x1f3c5;Vue项目常用组件模板仓库&#x1f4d6;前言&#xff1a;&#x1f380;源码如下&#xff1a; &#x1f412;个人主页 &#x1f3c5;Vue项目常用组件模板仓库 &#x1f4d6;前言&#xff1a; 本篇博客主要提供vue组件之主页面组件源…

代码级质量技术之基本框架介绍

作者 | CQT&星云团队 一、背景 代码级质量技术&#xff1a;顾名思义为了服务质量更好&#xff0c;涉及到代码层面的相关技术&#xff0c;特别要指出的是&#xff0c;代码级质量技术不单纯指代码召回技术&#xff0c;如静态代码扫描、单元测试等。 研究代码级质量技术主要…

1.6 初探JdbcTemplate操作

一、JdbcTemplate案例演示 1、创建数据库与表 &#xff08;1&#xff09;创建数据库 执行命令&#xff1a;CREATE DATABASE simonshop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 或者利用菜单方式创建数据库 - simonshop 打开数据库simonshop &#x…

边缘计算盒子在视觉分析领域的优势

边缘计算盒子在视觉分析领域有广泛的应用。边缘计算盒子是一种集成了计算、存储和网络连接功能的设备&#xff0c;通常部署在物理环境中的边缘位置&#xff0c;如工厂、城市、交通系统等。它们能够在离数据源更近的位置进行实时数据处理和分析&#xff0c;从而提供更低的延迟和…

使用Docker安装Kafka

第一步&#xff1a;使用下述命令从Docker Hub查找镜像&#xff0c;此处我们要选择的是zookeeper官网的镜像 docker search zookeeper 第二步&#xff1a;拉取zookeeper镜像 docker pull zookeeper:latest 第三步&#xff1a;启动zookeeper容器 docker run -d --name zookee…