论文解读:PRINCE: Prefix-Masked Decoding for Knowledge Enhanced Sequence-to-Sequence Pre-Training
Paper:https://aclanthology.org/2022.emnlp-main.171.pdf
Github:https://github.com/xu-song/prince
一、动机
- 现有的预训练模型之所以可以获得不错的效果,得益于denoising autoencoder pre-training任务,即根据含有噪声(例如mask)的句子进行重建;
- 现有的工作大多数关注denoising encoder,而denoising decoder关注的不是很多;
- 一种简单的knowledge-enhance decoder的做法是输入一个含有mask token的文本,直接依次生成实体的token即可。然而这种做法很难说明模型已经掌握了事实知识。例如当要预测New york时,如果前一个词是New,那么模型会偏向于输出York,而并非是基于一个具体的事实来生成的。
- 因此本文认为在做knowledge-enhanced decoding时,在预测过程中预测York时,New也要被Mask。
we propose PRefIx-masked decoding for kNowledge enhanCEd sequence-to- sequence pre-training (PRINCE), which decodes entity tokens with noisy prefixes rather than ground-truth tokens. For example, when predicting “York”, a mask symbol is fed into the decoder as the prefix, in place of “New”.
二、方法
自回归式的重建任务定义如下:
给定一个序列
x
=
{
x
1
,
x
2
,
⋯
,
x
s
}
\mathbf{x}=\{x_1, x_2, \cdots, x_s\}
x={x1,x2,⋯,xs},对区间
[
p
,
q
]
[p, q]
[p,q]内的token替换为mask。masked seq2seq预训练任务的优化目标为:
本文提出的方法如下图(b):
在decoding阶段,如果在预测实体时,预测当前的token时,不再是输入真实的预测token,而是mask。
简单来说,就是当模型在decoding阶段时,当预测第t个位置的token时,对t-1以及之前的某些token替换为mask,相当于模型在含有mask的prefix text来进行预测。
当解码器预测实体标记时,噪声被注入,并且先前生成的部分实体标记对于后者是看不到的。在这种情况下,解码器需要在没有实体本身任何线索的情况下预测完整的实体标记,这可以激励模型更好地学习仅依赖于上下文来预测实体。
三、实验
模型选择Encoder-Decoder架构。预训练预料为Wikipedia,且饱含aligned的实体。数据规模为14GB。
预训练时平均30%的token被选中。
Fine-tuning时,在WebNLG、Wikibo数据集上训练。
实验结果:
提出的模型是否能够很好地生成实体呢?为了测试这个性能,邀请3个标注人员从reliability和faithfulness两个角度,对随机抽取的100个测试样本进行评估,得分如下所示,说明提出的方法很有效: