自然语言生成工具箱 - STRAP
文章名称
【EMNLP-2020】【University of Massachusetts Amherst-Carnegie Mellon University】Reformulating Unsupervised Style Transfer as Paraphrase Generation
核心要点
文章旨在利用释义生成的方法解决NLP中风格迁移方法存在的语义被改变的现象。原有方法因为改变属性词而改变了语义,作者提出STRAP把风格迁移方法转换成释义生成问题,通过fine-tune预训练的GPT-2生成释义。同时,作者发现基于现有数据集验证的方法过于僵化,具有偏执倾向,不适用实际场景。因此,构建了大规模真实数据集,来验证迁移结果。
一句话阐述方法就是,用1个释义生成模型(encoder)得到normalized句子;用多个不同风格的反释义生成模型(decoder)做stylization。
方法细节
问题引入
NLP中的风格迁移被定义为,在不改变语义的情况下,改变表述风格(语法等)。原有基属性词迁移的(attribute transfer)风格迁移方法会修改原句子中的一些属性词,进而改变了包括情感在内的一些语义,违背了风格迁移的初衷。作者在调研中发现,两个SOTA方法中,只有25%的风格迁移结果被认为是具有相同语义的。
其实显而易见的是,保留原句子的意思,生成类似的句子,是释义生成的范畴(只是释义生成不强制要求风格也要改变)。因此,作者提出STRAP(Style Transfer via Paraphrasing),把风格迁移转化为(风格可控制的)释义生成问题。
具体做法
STRAP方法可以被总结为如下2个步骤,
- 生成伪平行语料。原有的风格迁移方法要求拥有平行语料,STRAP采用预训练的释义生成模型(一般会生成比较正经的释义样本,把句子的意思平铺直叙出来),生成所谓normalized(不具有可以区分风格的信息)释义结果。
- 重构原风格句子。在得到normalized原句子后,利用inverse paraphrase模型,来重构具有原风格的句子。该模型可以学习识别原句子中的风格要素,并生成这些要素的向量表示,从而把normalized语句变换为具有原风格的句子。
整个过程的流程图如下图所示,其中左侧为训练阶段,右侧为预测阶段。整个风格类似AE,中间的句子是normalized结果,两个层模型分别起到的去风格化和添加风格的功能。
flow and frameworkSTRAP方法中的各个要素可以形式化如下,
- 原预料中的句子记作,其风格标记为,因此每一种风格的句子构成的集合为,整个语料可以表示为,假设有种风格。
- Normalized释义结果记作,对应风格i得到的释义结果集合记作
- 释义生成模型(paraphrase model)记作,反释义生成模型(inverse paraphrase model)记作
Generating Pseudo-Parallel Data
利用预训练的释义生成模型,通过把原语料中的句子转变为normalized释义结果,其过程可以表示为如下图所示的公式。这样可以得到伪平行语料。
generating pseudo-parallel corpus这种平行语料的结果可以保证Z只包含纯粹的语义信息,可以用于区分风格的信息被过滤掉了(例如,没有个性化的用词风格,即过滤掉莎士比亚体,秋裤体,...)。
Style transfer
反释义生成模型(inverse paraphrase model)可以被看做是风格生成模型(stylization)。通过识别风格要素(style identifiers)把风格特征(stylistic features)加入normalized释义结果中,得到目标风格的句子。
反释义生成模型采用类似AE的方法进行训练,训练过程可以表示为如下图所示的公式。
training inverse paraphrase model在预测阶段,给定句子,利用上述两个阶段得到指定风格的句子,其生成过程如下图所示。
style transferring值得注意的是,每一种目标风格对应一个反释义模型。
Models and Training
作者采用预训练的GPT-2作为释义模型和反释义模型的基础模型,并利用[1]中的seq2seq[2]结构,把输入输出句子利用分割符拼接在一起进行训练。
作者发现最大化词法和句法多样性对风格迁移和风格normalization至关重要。因此,在筛选训练数据时,作者去除了PARANMT-50M[3]中,1)3-gram,1-gram重合度高于50的样本;2)去除共有词的重排序比率[4]低于50%的样本;3)去掉语义相关性得分[5]低的样本。
心得体会
风格迁移和释义生成
个人理解,风格迁移是比释义生成更要求控制能力的任务,释义生成可能仅仅是句法结构,词语顺序的调换。而风格迁移可能包含了不同的用词风格和词语、句法组合的特点。利用类似AE的结构来进行语义(或者说释义)normalization是文章的亮点,并且为了更好的进行风格生成,筛选数据(构造多样性)也是文章的核心要素之一。
评价指标
文章的另外一个重要的部分是生成结果的评价指标。其实,NLP任务到现在,寻找能够描述和人的评价标准一致的量化指标是比较重要的问题之一。现实场景中,许多人物是很难找到合理的量化和评价指标的,因此很难自动的进行评估,还是需要人的介入。
由于只介绍了方法,感兴趣的同学可以参考论文中评价指标的内容。(有时间也给大家介绍一下)
文章引用
[1] Thomas Wolf, Victor Sanh, Julien Chaumond, and Clement Delangue. 2018. Transfertransfo: A transfer learning approach for neural network based conversational agents. In NeurIPS CAI Workshop.
[2] Thomas Wolf, Lysandre Debut, Victor Sanh, Julien Chaumond, Clement Delangue, Anthony Moi, Pierric Cistac, Tim Rault, R’emi Louf, Morgan Funtowicz, and Jamie Brew. 2019. HuggingFace’s Transformers: State-of-the-art natural language processing. ArXiv, abs/1910.03771.
[3] John Wieting and Kevin Gimpel. 2018. ParaNMT50M: Pushing the limits of paraphrastic sentence embeddings with millions of machine translations. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 451–462, Melbourne, Australia. Association for Computational Linguistics.
[4] Maurice G Kendall. 1938. A new measure of rank correlation. Biometrika, 30(1/2):81–93.
[5] John Wieting, Taylor Berg-Kirkpatrick, Kevin Gimpel, and Graham Neubig. 2019. Beyond BLEU:training neural machine translation with semantic similarity. In Proceedings of the Association for Computational Linguistics。