21
Controllable Text Generation 04/07/2017 新領域 ⼈間環境学 陳研究室 D2 藤野 暢

Controllable Text Generation (ICML 2017 under review)

Embed Size (px)

Citation preview

Page 1: Controllable Text Generation (ICML 2017 under review)

ControllableTextGeneration04/07/2017

新領域⼈間環境学陳研究室 D2藤野暢

Page 2: Controllable Text Generation (ICML 2017 under review)

書誌情報• ICML2017underreview• Z.Hu,Z.Yang,X.Liang,R.Salakhutdinov,andE.P.Xing(CMUのグループ)• arxiv:03/02/2017•被引⽤数:2(同じグループからの引⽤)

Page 3: Controllable Text Generation (ICML 2017 under review)

概要• VAEを元にしたテキストに対する⽣成モデル•潜在変数zの他に属性cを追加し,Discriminatorで分類してフィードバックを⾏うことで,属性を指定したテキストを⽣成できるようになった

Page 4: Controllable Text Generation (ICML 2017 under review)

テキストにおける⽣成モデルの先⾏研究• “Generatingsentencesfromacontinuousspace,”Bowmanetal.(2015)• VAE:EncoderとDecoderにLSTMを使⽤

• SeqGAN,Yuetal.,AAAI(2017)• GAN:GeneratorにLSTM,DiscriminatorにCNN• Discriminatorからのfeedbackを強化学習の⽅策勾配法で学習する

Page 5: Controllable Text Generation (ICML 2017 under review)

先⾏研究の問題点•潜在変数zが解釈しづらい• zをコントロールしてテキストの属性などを指定することができない

Page 6: Controllable Text Generation (ICML 2017 under review)

提案アルゴリズム•潜在変数に属性cを追加し,⽣成されたサンプルの属性をDiscriminatorで判別してGeneratorにフィードバックを⾏うことで,⽣成するサンプルの属性cをコントロールできるように学習させる• InfoGANと同じようなアイデア• さらに⽣成したxハットからzを再度推定することで,zとcを鑑賞しないように学習させる

Page 7: Controllable Text Generation (ICML 2017 under review)

モデル詳細:Encoder+Generator

• VAE• Encoder,GeneratorともにLSTM

• xハットはargmaxをとらずにsoftmax後の確率分布のまま• cは適当なカテゴリカル分布p(c)からサンプリング

Page 8: Controllable Text Generation (ICML 2017 under review)

モデルの学習:Encoder+Generator

•誤差関数1•変分下界を最⼤化する

Page 9: Controllable Text Generation (ICML 2017 under review)

モデルの学習:Generator

•誤差関数2•正しい属性が⽣成できたかをDiscriminatorで判別

Page 10: Controllable Text Generation (ICML 2017 under review)

モデルの学習:Generator

•誤差関数3• Independencyconstraint:c以外の潜在変数をzで捉えきる(cに⼲渉してこないようにする)•⽣成されたxハットをencodeしたときに,元のzになるようにする

Page 11: Controllable Text Generation (ICML 2017 under review)

モデルの学習:Discriminator

•テキストxの属性cを正しく分類できるように学習させる•ラベル付きデータ を使⽤•誤差関数1

Page 12: Controllable Text Generation (ICML 2017 under review)

モデルの学習:Discriminator

• Generatorから⽣成されたxハットの属性も分類する•誤差関数2

Page 13: Controllable Text Generation (ICML 2017 under review)

モデルの学習:全体の流れ1. ⼤量のラベルなしデータでVAEを学習させる

2. 以下のDiscriminatorとVAE(Encoder+Generator)の学習を交互におこなう1. Discriminatorを学習させる

2. EncoderとGeneratorを学習させる

Page 14: Controllable Text Generation (ICML 2017 under review)

実験設定:データセット•ラベルなしデータ• IMDB:映画のレビュー,1.4M⽂

•ラベル(属性)ありデータ• 感情ラベル:{“positive”,“negative”}

• IMDB• StanfordSentimentTreebank-2• Lexicon:単語

• 時制ラベル:{“past”,“present”,“future”}• TimeBank

Page 15: Controllable Text Generation (ICML 2017 under review)

実験設定:⽐較する⼿法•属性のコントロールについて• “Semi-supervisedlearningwithdeepgenerativemodels”,Kingma etal.,2014• “Harnessingdeepneuralnetworkswithlogicrules”,Huetal.,ACL2016

Page 16: Controllable Text Generation (ICML 2017 under review)

実験結果:1

•評価の仕⽅• 属性 cを与えて⽂を⽣成し,⽣成した⽂に対して予測を⾏う• 予測したラベルを正解ラベルとし,指定した属性 cとのaccuracyで評価する

Page 17: Controllable Text Generation (ICML 2017 under review)

実験結果:2

•⽣成モデルでデータ増強し,Discriminatorをそれで学習させたあとの結果

Page 18: Controllable Text Generation (ICML 2017 under review)

実験結果:3

• Generatorの誤差関数3(Independencyconstraints)がある場合とない場合•ある場合は特定の属性のみ(posi ornega)変えられている.•ない場合は他の部分まで変わってしまっている.

Page 19: Controllable Text Generation (ICML 2017 under review)

実験結果:4

•テキストの属性 cを変えた場合• sentimentでもtenseでも適切にコントロールできている

Page 20: Controllable Text Generation (ICML 2017 under review)

実験結果:5

•潜在変数 zを変えた場合•属性cは保持されている

Page 21: Controllable Text Generation (ICML 2017 under review)

まとめ:

•テキストの⽣成モデルとしてVAEに属性Discriminatorを加えたものを提案した•属性 cに沿ったテキストを⽣成することが可能になった•特に,他の属性に⼲渉することなく独⽴にコントロールできるようになった