Automatic generation of sentimental texts via mixture adversarial networks读书笔记

时间: 2024-11-10 admin IT培训

Automatic generation of sentimental texts via mixture adversarial networks读书笔记

Automatic generation of sentimental texts via mixture adversarial networks读书笔记

Automatic generation of sentimental texts via mixture adversarial networks读书笔记

创新

  1. 提出了一个新颖的框架SentiGAN,以生成具有不同情感标签的通用、多样化和高质量的情感文本。
  2. 提出一个扩展模型C-SentiGAN,以处理条件性情感文本生成问题。
  3. 提出了一个基于惩罚的新目标,以使我们模型中的每个生成器都生成具有特定情感标签的多种文本。
  4. 在各种数据集上进行了实验,证明了提出的模型的有效性和优越性。

介绍


如上图所示,有情感的回答的效果明显是更加智能的
通过情感分类和GAN的启发有以下两点:
(1)由于文本情感分类非常强大,因此我们可以使用分类器指导感性文本的生成。
(2)由于难以设计与情感相关的特定训练目标,因此我们使用鉴别器网络来学习与情感相关的目标随着时间的损失函数,而不是明确地制定它。
使用GAN来控制情感文本的生成,并旨在生成具有更高质量,更多种类和更准确的情感极性的文本。但是目前生成的文本仍面临质量差的问题。其次,GAN的主要缺点之一是“模式崩溃”问题,并且已通过经验证明GAN倾向于只围绕少数几个模式生成样本,而忽略了其他模式(如下图所示),所以生成的文本缺乏多样性。

(a)是GAN的直观可视化视图,它倾向于仅在几种模式下生成样本,而忽略其他模式;
(b)是如何将发电机推向不同的不同模式的直观可视化。红色箭头是我们基于惩罚的目标的简化;
(c)是如何将不同的生成器推向生成特定的情感文本的直观可视化。红色箭头是我们的多类别分类目标的简化。

最大似然估计法

文本生成的主要方法是基于最大似然估计(MLE)模型。MLE通常用于通过给出观测值来估计统计文本生成模型的参数,然后最大化相应的似然函数。给定生成器G和训练语句 x = x 0 , x 1 , . . . , x t , . . . , x ∣ x ∣ − 1 x={x_0,x_1,...,x_t,...,x_{|x|-1}} x=x0​,x1​,...,xt​,...,x∣x∣−1​和长度|x|MLE方法旨在最大化似然函数:
E [ ∏ t = 1 ∣ x ∣ − 1 G ( x t ∣ x 0 : t − 1 ; θ g ) ] E[\prod_{t=1}^{|x|-1}{G(x_t|x_{0:t-1};\theta_g)}] E[t=1∏∣x∣−1​G(xt​∣x0:t−1​;θg​)]
其中 θ g \theta_g θg​是生成器G的参数,可以是递归神经网络[54]或其变体(例如LSTM ,GRU )

SentiGAN


假设我们要生成具有k种情感类型(即k个情感标签)的文本,我们使用k个生成器
{ G ( x t ∣ x 0 : t − 1 ; θ g i ) G(x_t|x_{0:t-1};\theta_g^i) G(xt​∣x0:t−1​;θgi​)} i = 1 i = k _{i=1}^{i=k} i=1i=k​和一个鉴别器 D ( x ; θ d ) D(x;\theta_d) D(x;θd​), θ g i \theta_g^i θgi​和 θ d \theta_d θd​分别是第i个生成器和鉴别器的参数,以及从分布中采样的先前输入噪声z~ P z P_z Pz​用于初始化生成器的输入

整个框架可分为两个对抗性学习目标:生成器学习和鉴别器学习。第i个生成器的目标 G i G_i Gi​生成具有第i个情感类型的文本,该文本会欺骗鉴别器。具体来说,它旨在最大程度地减少我们建议的基于惩罚的目标。相比之下,区分器的目的是尽可能区分假文本(由生成器生成的文本)和具有k个情感类型的真实文本,这是我们采用的多类别分类目标。

C-SentiGAN


为了将SentiGAN应用于条件文本生成任务,提出了C-SentiGAN,它更适合于使用条件输入文本迁移到其他特定的文本生成任务,例如对话框系统。

与SentiGAN相比,我们的C-SentiGAN添加了一个额外的编码器E来对条件文本进行编码,并使用条件文本的高级表示形式而不是噪声作为生成器的初始输入z。我们在编码器和生成器之间添加了全局关注机制[53]。整个模型看起来像是具有全局注意力机制的编码器-解码器框架,并且解码器部分与SentiGAN相同,并且使用鉴别器网络作为损失函数来确保高层目标,例如情感极性和真实感。

基于惩罚的损失函数


其中 V D i G i ( x 0 : t − 1 ⨁ x t ) V_{D_i}^{G_i}(x_{0:t-1}\bigoplus x_t) VDi​Gi​​(x0:t−1​⨁xt​)中 x 0 : t − 1 ⨁ x t x_{0:t-1}\bigoplus x_t x0:t−1​⨁xt​由鉴别器计算,⊕是串联运算符,并且 x 0 : t − 1 ⨁ x t x_{0:t-1}\bigoplus x_t x0:t−1​⨁xt​表示为:
x 0 : t − 1 ⨁ x t = { x 0 , x 1 , . . . , x t } = x 0 : t x_{0:t-1}\bigoplus x_t = \{x_0,x_1,...,x_t \} = x_{0:t} x0:t−1​⨁xt​={x0​,x1​,...,xt​}=x0:t​
由于判别器只能根据完整的序列进行判断,因此我们将蒙特卡洛搜索应用于推出策略 G i G_i Gi​采样未知的最后|x|-t令牌。我们将N次蒙特卡洛搜索表示为:

我们对第i个生成器的惩罚函数计算为:

训练

实验

数据集

  1. Movie Reviews (MR)
    使用斯坦福情感树库[69],它具有两个情感类别(负面和正面)。原始数据集共有9,613个句子。我们选择最多包含15个单词的句子,并且结果数据集包含2133个肯定句子和2370个否定句子。
  2. Beer Reviews (BR)
    我们使用从BeerAdvocate 抓取的数据。BeerAdvocate是一个大型的在线评论社区,该数据包含1,586,614条针对33,387个用户组成的66,051个不同商品的评论。每个评论都带有许多数字等级,分别对应于“外观”,“香气”,“口感”,“口味”以及用户的“整体”印象。
  3. Customer Reviews (CR)
    我们使用各种产品的客户评论。我们选择最多包含15个单词的句子,并且结果数据集包含1,024个肯定句子和501个否定句子。
结果对比

通过情感分类器对各个模型生成的句子进行评分:

通过人工评估方法对各个模型进行比较:

生成文字的质量

流畅度:
使用语言建模工具包-SRILM
新颖性:
多样性:
清晰度: