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))强制模型预测子图,从而促进图级学习。
- 节点/边 级去噪。我们在AMR节点/边上应用噪声函数来构建噪声输入图。特别地,噪声函数是通过mask每个图中15%的节点和15%的边来实现的。如图2(a)所示,节点
[go-01]
和edge[:arg0]
被替换为两个[mask]
token。 - 子图级去噪。此任务旨在恢复给定部分图形时的完整图。我们从图中随机移除子图,并将其替换为
[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)所示,辅助任务为:
- 图增强文本去噪( t ^ g 2 t \hat tg2t t^g2t),其中AMR图被作为附加输入,以帮助mask文本重构;
- 文本增强图去噪( t g ^ 2 g t \hat g2g tg^2g),其中文本有助于mask图重建;
- 噪声图增强文本去噪( t ^ g ^ 2 t \hat t \hat g2t t^g^2t),其中目标文本是基于一对mask文本和mask图生成的;
- 噪声文本增强图去噪( 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^g2t,tg^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.75∗t/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^g2t,tg^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(t∣t^,gˉ),Lg^2g=−logP(g∣tˉ,g^),Lt^g2t=−logP(t∣t^,g),Ltg^2g=−logP(g∣t,g^),Lt^g^2t=−logP(t∣t^,g^),Lt^g^2g=−logP(g∣t^,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(t∣tˉ,g),Ltext2amr=−logP(g∣t,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到文本生成都是非常有效的,并且与微调相比,这是一种更有效的利用中等数据的方法。我们的方法在两项任务的多个基准测试上都能获得最佳结果。