论文标题:
Unsupervised Text Generation by Learning from Search
论文作者:
Jingjing Li, Zichao Li, Lili Mou, Xin Jiang, Michael R. Lyu, Irwin King
论文链接:
https://arxiv.org/abs/2007.08557
文本生成是自然语言处理的核心任务之一,很多应用如机器翻译、文本摘要都依赖于文本生成技术。一个高质量的文本生成模型往往需要大量的标注数据,这就从数据上限制了模型的发展。
本文提出TGLS——一种基于“先搜索后学习”的无监督文本生成方法,模型反复迭代,最终能生成较高质量的文本。
在复述生成和文本正规化两个任务上,TGLS能显著超越之前所有的无监督模型,甚至逼近有监督模型效果,体现出无监督学习的强大潜力!
无监督文本生成
机器翻译是最为常见的文本生成任务,但是要得到一个高质量的机器翻译系统,一定数量的平行语料是必不可少的。
尽管也有很多工作研究了不依赖平行语料的机器翻译模型,但目前为止,它们和有监督相比仍然不能望其项背。
但是一个事实是,无论是什么任务,平行语料总归是极少数,无标注语料却随处可见,如何充分利用这些语料训练文本生成模型,从而生成高质量的文本,是未来一个非常具有发展潜力的研究方向。
在这里读者要注意区别无监督的预训练和无监督的训练。
预训练一般是指在大规模通用语料上训练,而无监督训练一般是在特定领域数据上训练;预训练后往往还需要微调,而无监督训练后可以直接用于测评。这里需要读者甄别。
基于此,本文提出TGLS,一种完全无监督的文本生成方法。
TGLS的整体思想是“先搜索后学习”,搜索就用模拟退火等方法进行,把搜索出来的文本当成“伪平行语料”让模型学习,然后反过来,模型生成的文本也可以指导搜索方向,如此反复进行,从而达到比较好的效果。
具体的做法我们将在下一节详述,但总的来说,本文有如下贡献:
提出TGLS,一种通用的无监督文本生成方法;
TGLS可以和预训练模型结合,也即把整个训练过程当做微调;
在文本复述和文本正规化两个任务上,碾压其他无监督模型,甚至接近有监督模型的效果。
TGLS:unsupervised Text Generation by Learning from Search
TGLS的总体思路比较简单:首先用一个固定的搜索器根据输入文本搜索目标文本(本文使用模拟退火搜索);然后把搜索得到的文本作为“伪标注文本”,用来训练一个生成器;之后再把生成器生成的文本输入到搜索器里面,再把这一次搜索得到的文本用来训练生成器。
这其实有两个阶段,每个阶段的目标有所区别,第一个阶段用交叉熵训练,第二个阶段用最大间隔训练,我们下面会进行介绍。
下图是这个流程的示意图,就是搜索时的打分:
模拟退火搜索
以上就是搜索的整个过程。总结一下,就是在每一轮,基于现在的句子搜索出一个新句子,计算它的得分,把当前得分和前一个得分作差得到一个概率,按照这个概率接受它或者拒绝它;重复上述过程即可。
一阶段训练
那么为什么不用交叉熵呢?因为这些样本都是由GPT2自己生成的,自己训练自己没有意义。
相反,用最大间隔去训练,可以让GPT2从整体上去更加细致地区别更好的那些文本,或者说“让好的更好”,而交叉熵是“让不好的变好”。
下图是TGLS的训练算法。注意到,第二阶段训练是在第一阶段全部训练完之后才开始的,而不是交替进行。
实验
本文在文本复述数据集Quora和文本正规化数据集GYAFC上实验,其他实验设置详见原文。
下表是主要结果。可以看到,TGLS在两个数据集上吊打了其他无监督方法,甚至在复述任务上还接近监督学习的效果。
在文本正规化任务上,无监督模型也更加接近监督学习的表现。
最后再来看看TGLS各个部分的影响,如下表所示。SA表示模拟退火,CE是交叉熵损失,MM是最大间隔损失。
首先从推理速度来看,用GPT2生成显然比用搜索的方法快,因为搜索需要经过很多次迭代;其次,注意到第二阶段训练用交叉熵和用最大间隔的区别非常大,这就验证了最大间隔的作用其实是和交叉熵完全不同的。
小结
本文提出TGLS,一种无监督文本生成模型。TGLS的特点在于“搜索学习”和“两阶段训练”。
基本操作是首先搜索出目标文本,然后在这之上训练,只不过训练分为两个阶段,一个是“让不好的变好”,第二个是“让好的更好”,二者的损失函数不同,需要特别注意。
从实验结果来看,本文效果很好,可以在一定程度上说明文本生成方向的无监督学习还有很大的发展潜力。
当然,本文的方法还有一些明显的可改进之处,比如:更好的搜索方法,可学习的搜索方法,更简单的训练方法等。这些都需要未来持续而深入的探索。