每周论文33

本周论文:

  1. Style Transfer as Unsupervised Machine Translation
  2. Multiple-Attribute Text Style Transfer
  3. Domain Adaptive Text Style Transfer
  4. Transforming Delete, Retrieve, Generate Approach for Controlled Text Style Transfer
  5. Mask and Infill: Applying Masked Language Model to Sentiment Transfer
  6. IMaT: Unsupervised Text Attribute Transfer via Iterative Matching and Translation
  7. Controllable Unsupervised Text Attribute Transfer via Editing Entangled Latent Representation
  8. Revision in Continuous Space: Fine-Grained Control of Text Style Transfer
  9. Reinforcement Learning Based Text Style Transfer without Parallel Training Corpus
  10. Content preserving text generation with attribute controls
  11. Structured Content Preservation for Unsupervised Text Style Transfer

[Style Transfer as Unsupervised Machine Translation]

通过SMT配对伪句对,然后通过不断地back translation进行训练,在训练过程中用分类器作为正则项防止偏离过多。


[Multiple-Attribute Text Style Transfer]

与传统方法不同,不通过disentangled representation,也即分离style和content来做,而是通过通过简单的控制style embedding+back translation。

首先作者claim一点:discriminator所做的并没有真正分离style和content,使用另外训练的分类器可以轻易判断出latent representation的style。

基本模型框架:
reconstruction+back translation

第一项是encoder将句子encode,然后给与x相对应的style $y$的信息,要求恢复原始的x;第二项则是首先encode x,接着给另一个不同的style $\tilde{y}$,decode成一个句子之后,再用该句子和原始的$y$,要求还原出x。
注意这里不需要将style和content分离。

为了控制style,传入可训练的目标style的embedding作为decoder的第一个词。
同时,作者观察到如果不用attention,模型容易丢失内容,而生成的句子仅仅符合style的要求;而如果用attention,则模型常常会对单个词进行替换,(我的理解是直接对encoder的词进行copy)。为了既能够保存内容;又能够符合style的要求,这里就取二者的中间态,也即将句子分割成几个不重叠的窗口,每个窗口大小固定,窗口内的词进行max-pooling,然后作为一个整体去做attention。当w=1时,就是原来的attention机制,当w=N时,就只有一个latent representation。


[Domain Adaptive Text Style Transfer]

希望利用另一个domain的数据来帮助target domain更好transfer。其本质是用更多数据帮助训练。
举例,我们希望对电影 IMDB进行style transfer;而我们可以利用饭馆评价 yelp来帮助IMDB。

两种情况:当source domain没有style标签,或者有style标签。

情况1:左边
source domain的作用仅仅是训练更好的encoder和decoder。在decoder时加一个代表标签的向量。

情况2:右边
如果有标签,则可以更好利用这个信息。在进入decoder前多加一个表示不同domain的向量。


[Transforming Delete, Retrieve, Generate Approach for Controlled Text Style Transfer]

基于Delete, Retrieve, Generate: A Simple Approach to Sentiment and Style Transfer框架,但使用了transformer以及pretrain(使得句子在流畅方面更好),并做了一些改进。

原先框架存在的问题:delete机制不够好,可能会删除掉重要的上下文;有些style attribute没有被删掉;LSTM不够鲁棒;生成句子不够流畅;难以生成长句子。

delete机制使用transformer来做。在句子前面加一个CLS,然后基于每层每个head的CLS对其他token的attention来分辨哪些是content哪些是attribute。具体怎么做没看懂。

Retrieve和原先类似,也是计算content的距离:
$x^{t g t}=\operatorname{argmin}_{x^{\prime} \in D_{s^{t g t}}} d\left(c_{x}, c_{x^{\prime}}\right)$

Generate:使用GPT,有两种,对应原来的框架。一种是只给style和content的,另一种会跟content和target的attribute。

可以看到这个方法的一大特点就是可以直接在前面放一些特殊token以及句子,然后用一个[START]来分割源句和生成句。这是transformer的特点,LSTM就做不到或者做不好。


[Mask and Infill: Applying Masked Language Model to Sentiment Transfer]

用了pretrain language model,但本质上的思想还是前人做过的。也即基于挖掉attribute word然后利用bert去填空。

都是之前的工作有提到的。


[IMaT: Unsupervised Text Attribute Transfer via Iterative Matching and Translation]

三步走:match-translation-refinement,并不断循环这三步。

Match:在一开始阶段t=0,对每个source,在target corpus中计算相似度,只有相似度高于某个阈值的才配对成功。记$\hat{X}$为配对成功的source句子。在t>=1阶段,会计算当前这个配对的$y$和上一阶段的refinement所获得的$y$哪个到$x$的距离更短。

如果新的$y$更短,则替换掉旧的$y$。

Translation:通过标准的seq2seq利用好上述配对好的数据进行训练。

Refinement:上述训练好的模型生成$x$所对应的$y$,记为$\hat{Y}(t)$。也即对于每个$x_{i} \in \hat{X}$而言,此时有两个候选的$y$,一个是上一阶段留下来的,一个是当前模型所生成的。这两个则会在step1去计算WMD然后挑选。

模型细节:
Word Mover Distance是sentence a到sentence b的最小代价,具体计算我也不知道。
Semantic Sentence Representation一开始配对计算句子之间的距离的时候会用到,本文用了ELMO的embedding,并做平均。


[Controllable Unsupervised Text Attribute Transfer via Editing Entangled Latent Representation]

相当有趣的一篇论文。与传统方法不同的是,不直接尝试对latent representation解耦,使其分为style和content两个部分,而是直接循环对latent representation进行修改,其修改的指导路线是由分类器提供的,具体也即分类器根据target style label计算回传梯度。

模型

从模型上来说本文并没有什么创新,采用了transformer结构,以及加了一层GRU,由此获得了一个表示整个句子的latent representation,接着丢入到decoder内,和传统的encoder-decoder结构基本一致。而计算loss时只有一个reconstruction loss:

也即希望通过latent representation重新生成原来的句子。

同时引入分类器,希望能够正确分类两个style。在这里分类器并没有提供梯度给生成器。训练方式:

到这里都是传统的东西。

在训练完分类器后,本文的一大贡献就是,希望能够利用分类器的梯度去直接修改latent representation,直到分类器将latent representation分类为目标style。也即找到一个$z’$能够最接近z(不大改z使得生成的时候出问题),同时该z’还应该属于目标style属性。所以在这里,提供目标style的标签,分类器回传gradient,对latent representation直接修改。

$w$在这里是权重,控制$w$的大小可以控制修改style的程度大小。

,比如有一个评价啤酒的数据集有五个属性“appearance”, “aroma”, “palate”, “taste” and “overall”。我们可以从0,0,0,0,0修改为1,1,1,1,1。这是其他模型难以做到的,而在这里只需要训练一个分类器就可以做到。

实验

权重$w$的改变带来的影响:

$w$越大,其情感改变的程度也越大。

随着$w$的增大,不同style的latent representation分离程度越大。

这篇文章的思想相当好,能够适用的范围比其他方法更广,我觉得是相当好的一篇论文了,让人耳目一新,虽然方法上也不算很新了,在adversarial attack用过。


[Revision in Continuous Space: Fine-Grained Control of Text Style Transfer]

大致看了一下,基本思想和上一篇比较类似,也是对latent representation直接修改。

加了一个控制长度的分类器;采用了VAE;在修改latent representation时同时还对content的encode进行了监督。


[Reinforcement Learning Based Text Style Transfer without Parallel Training Corpus]

大致看了一下,就是利用rl来做,其中reward是三个部分:style discriminator;semantic module;language model,分别对应transfer到目标style的程度;句子保留程度;流畅度。


[Content preserving text generation with attribute controls]

基本框架和disentangled latent representation一致,只是设计loss有些不大一样,但其实也没啥创新点。

Reconstruction loss:auto-encoder和back translation。

本文将二者给结合了:

其中,$z_{x y}=g \odot z_{x}+(1-g) \odot z_{y}$

也就是将x和y的latent representation加权结合起来,如下图:

这么做的目的是:y可能在模型早期和x在内容上是不match的,为了尽量让y和x在representation上更近一点。不让y的representation偏离。


[Structured Content Preservation for Unsupervised Text Style Transfer]

都是老的loss,唯一新加的loss是pos preservation constraint,也即利用pos tagging将名词保留下来,然后计算生成前后句子的名词相似度。


[本周论文小结]

本周基本将style transfer的论文读完了。接下来应该就全力准备ACL了。