ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

作者:许晶晶,孙栩,曾琪,任宣丞,张晓东,王厚峰,李文婕


ACL 2018

用循环强化学习实现无平行语料的情感转换

Unparied Sentiment-to-Sentiment Translation: A Cycled Reinforcement Learning Approach

北京大学

Peking University

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

1 引言

本文提出了一种新的方法用于无平行语料的情感转换问题。现有的情感转换的模型存在的问题是,在情感转换的同时不能保证内容不变。例如,主语从food变成movie。其原因是内容和情感在同一个隐向量中,所有信息混在一起难以解释。因为没有平行语料,非情感的语义信息难以不受影响。

本文提出了循环强化学习模型。包括模块和情感化模块。去情感模块作用是去除情感词,以提取非情感的语义信息。情感化模块作用是添加情感词,让中性句子情感化。其核心思想是:第一步,去情感模块先去除情感,然后情感化模块根据原始情感和语义内容重构原句,让情感化模块在有监督的情况下学习增加情感。第二步,将情感词取反,这样就可以实现添加相反的情感词。

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

2 模型

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

1)去情感模块,用于去除情感词,视为抽取问题。用LSTM来产生每个词是中性词或极性词的概率。循环强化学习要求模型有初始学习能力,因此提出一个预训练方法来让去情感模块学会判断非情感词。预训练使用了基于自注意力机制的情感分类器,将注意力权重作为指导。这么做的原因是,在训练好的情感分类器模型中,注意力权重在一定程度上反映了每个词对情感的贡献。通常情感词的权重大,中性词的权重小。试验结果表明情感分类准确率达到89%-90%,可以认为分类器充分捕捉了每个词的情感信息。根据连续的权重提取非情感词,将权重离散化为0和1。如果某个词的权重小于这句话的权重的平均值,则其离散值为1,否则为0。情感词权重为1,非情感词为0。将这个结果可以帮助去掉情感。

2)情感化模块

情感化模块负责添加情感词。使用了seq2seq模型,编码和解码都是LSTM。有两个解码器,分别用于添加正情感词和负情感词。

3)循环强化学习

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

因为loss对去情感模块不再可导,所以建模为强化学习问题,并且用策略梯度来训练去情感模块。首先计算相同情感、相反情感的输出的奖赏R1和R2,其次用策略梯度优化参数,通过最大化奖赏来训练去情感模块。这使去情感模块更好地识别非情感词。进一步加强情感化模块。具体训练过程如下:

1:初始值;

2-3:用极大似然估计分别预训练去情感模块和情感化模块,其中去情感模块的交叉熵损失为:

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

情感化模块的交叉熵损失为:

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

4:对于每次循环:

5-6:去情感模块生成中性句子;

7:情感化模块用中性句子和原始情感词生成原句;

8:计算情感化模块的梯度:

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

9:计算奖励R1;

10-11:情感化模块用中性句子和反向情感生成结果;

12:计算奖励R2;

13:计算整体奖励Rc:Rc=R1+R2;

14:根据策略梯度,计算去情感模块的梯度:

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

15:更新参数;

16:重复,直到收敛。

奖励有两个指标,分别考查情感和内容。Sentiment confidence:评价生成的文本是否符合目标情感,用预训练中的自注意力机制情感分类器做来评价。BLEU:评价内容的保持程度。奖励表示为二者的加权调和平均数:

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

3 实验

3.1 数据集

Yelp Review Dataset,400k训练,10k验证,3k测试。

Amazon Food Review Dataset,230k训练,10k验证,3k测试。

基线:Cross-AlignmentAuto-Encoder(CAAE),Multi-Decoder with Adversarial Learning(MDAL)

3.2 结果

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

自动评价:

ACC:评价情感转换。BLEU:评价内容保持。G-score:二者的几何平均。

人工评价:

Sentiment:评价情感转换。Semantic:评价内容保持。All:总体表现。

ACL 2018|北京大学:用循环强化学习实现无平行语料的情感转换

4 总结

1. 对情感转换问题,提出循环强化学习的办法,可以使用无平行语料的数据。

2. 通过将情感和语义明确区分开来保持语义。

3. 在保持语义内容上效果尤其好。

相关推荐