Text Generation based Variational Autoencoders
金秋十月注定是忙碌的,最近在总结自己的想法并进行代码实现,毕竟毕业才是大事呀,所以也没有时间总结自己看过的文章,结过就攒了一大堆,时间长了细节部分就记不清了,希望在这个月末将其总结出来,同时也希望为下一阶段的工作打好基础。
Text Generation based Variational Autoencoders
在前面介绍的关于文本摘要生成的文章中,绝大多是的模型仍然是基于RNN的Seq2Seq模型,以及最近大热的预训练模型,当然还有就是基于生成对抗网络(GAN)的方法。VAE作为一种强大的生成模型在视觉领域取得了不菲的成绩,那么它同样可以用于自然语言处理的各种文本生成任务中,下面就介绍两篇今年ACL和NAACL上两篇关于VAE用于文本生成的文章,它们虽然切中点有所不同,但仍能从中找到相通的地方,希望可以带来启发。
source: 李宏毅机器学习-2017-Deep Generative Model
有关VAE的理论介绍和代码实现可见我之前的一篇博文:VAE以及tensorflow-2.0实现
我看到过得最早的一片关于VAE做文本生成的文章是EMNLP2017 的《Deep Recurrent Generative Decoder for Abstractive Text Summarization》,同样在另一篇博文Development of Neural Network Models in Text Summarization - 1也有相应的解读。在此基础上,我们来看一下下面的这两篇文章的主要内容。
在标准的VAE中,模型往往是从标准正态中采样分布来逼近后验分布,这样一方面会使得VAE无法充分的捕获所处理文本丰富的语义信息,另一方面由于RNN的自回归的训练方式,Decoder极大可能会忽略所表示的信息,从而引发posterior collapse现象的发生。
因此如何改变采样的分布族,以及如何将所处理文本中丰富的信息传递给Decoder变得十分关键。以下的两篇文章都在这两方面做了一定的工作,将自己的想法融入了问题的解决过程中,而且均取得了不错的效果。
NAACL 2019 Topic-Guided Variational Autoencoders for Text Generation
在条件文本生成任务中,如果我们想要定制化生成文本的某些方面如情感、主题等,模型就需要接收一些表示这些条件的信息,那么如果将表示主题等信息的向量融入到文本的生成过程中,那么得到的结果应该就可以得到一定程度上的控制。
本文提出了一种基于主题指导的VAE模型(topic-guided variational autoencoder, TGVAE),它不再是从标准高斯分布中进行采样,而是将每一个主题模块都看作是一个高斯混合模型,即每一个混合成分都表示了一个对应的latent topic。那么直接从中进行采样,decoder在 解码的过程中过程中就会利用到latent code所表示的主题信息。另外,作者还采用了Householder Transformation 操作,使得latent code的近似后验具有较高的灵活性。实验证明TGVAE在无条件文本生成和条件文本生成任务中都可以取得更好的效果,并且模型可以生成不同主题下语义更加丰富的句子。而且通过主题信息的指导,使得模型在文本生成阶段所依赖的词汇表变小,从而减少解码过程的计算量。
模型整体的架构如下所示:
模型整体上可以分为两部分:
- 神经主题模型(Neural topic model,NTM): 负责捕获文本中长程的语义信息
- 序列生成模型(Neural Sequence model,NSM):在主题信息的指导下生成句子
假设是文本的表示,其中代表词汇表大小,中每一个元素表示了词在文本中出现的次数。表示所对应的主题。这里采用已有的方法:将一个随机的高斯向量通过softmax函数来参数化多维的主题分布:
首先从标准多维高斯分布中采样得到向量, 通过转换函数得到关于主题的嵌入表示。然后通过来得到词所对应的主题,而且可以通过得到满足主题的词的分布。那么对应的边缘似然为:
在得到了关于词的主题分布后,通过来得到满足和的包含主题信息的高斯分布族,然后通过得到用于后续的生成过程。因为采样分布表示了文本的主题信息,那么就会指导decoder生成符合主题的结果。
假设生成的词序列记为,那么decoder的生成过程为:其中,这里表示GRU单元。
在推断阶段,将所处理的文本输入到模型中首先得到主题向量 ,然后decoder需要根据主题向量重构输入文本。经过不断地训练,模型就得到了关于词的主题分布。然后从中采样就可以生成表示不同主题的文本。
文中另外占较大篇幅的的是介绍了Householder Transformation在文中的应用,这也是我第一次见到这个知识点,这里就无法给出哪怕简单的介绍,有兴趣的可以自行查阅相关资料。
最后作者将模型的应用延伸到了文本摘要任务
对于给定的文本和摘要配对数据,我们希望建模分布
那么此时摘要的生成不仅依赖于 基于注意力机制的Seq2Seq模型,还是受到所表示的主题信息的指导。
实验结果可见原文。
ACL 2019 Towards Generation Long and Coherent Text with Multi-Level Latent Variable Models
下面两篇解读都很好,这里就不重复了。
文本生成1:Towards Generating Long and Coherent Text
《Towards Generating Long and Coherent Text…》阅读笔记