>100 Views
November 06, 17
スライド概要
2017/11/06
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
DEEP LEARNING JP [DL Papers] “Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)” Yoshifumi Seki, Gunosy/Matsuo Lab http://deeplearning.jp/
今日の発表内容 ● Seq2Seqを用いたAbstractive Summarizationについて ○ 2
今日の発表で取り扱う論文 ● Abstractive Text Summarization Using Sequence-to-sequence RNNs and Beyond [Nallapati+ CoNLL’16] ○ 引用数53(2017/11/06時点), 2016年のSOTA, IBM Watsonのグループ ● Get To The Point: Summatization with Pointer Generator Networks[See+ ACL’17] ● Deep Recurrent Generative Decoder for Abstractive Text Summarization[Li+ EMNLP’17] 3
Abstract Text Summarization ● 文章から見出し、または数文の要旨を生成するタスク ○ ○ ● 元の文章にある文をそのまま利用するわけではない 元の文章に含まれない語彙を用いることもある 翻訳との違い ○ ○ ○ ○ 文から文を生成するのは一緒 Sourceとtargetって文の長さが大きく異る Targetの長さがsourceの長さに依存しない 情報の圧縮をしたい
Attention+RNN Encoder-Decoder(おさらい) ● [Baudanau et al. 2014] ○ ● 翻訳で当時SOTA Seq2seqでは長い文章が難しいので、attentionを使って入 力のどの部分が出力に対応しているのかを学習させる 出力の隠れ層 aはFFNで学習する ● Encoderはbidirectional GRU-RNN ● Decoderはuni-directional GRU-RNN ● 双方の隠れ層は同一の次元数
Abstractive Text Summarization Using Sequence-to-sequence RNNs and Beyond ● 「深層学習による自然言語処理」 5.2.3項(2)で紹介されている論文 ○ ○ ● ● 文書要約に関するEncoder-Decoder+Attentionの論文 タスクとしては見出し生成 十分な量のあるデータセットでstate-of-the-artの精度 要約ならではの工夫が4つ ○ ○ ○ ○ Large Vocabulary Trick Feature-Rich Encoder Switching Generator-Pointer Hierarchical Attention
Contributions ● ● ● 機械翻訳で既に使われているattention+RNNのEncoder-Decoderモデルを用い て、2つのデータセットでstate-of-the-artの精度をだした 要約特有の課題を解決するための新しいモデルを提案し、さらなる改善を確認した 新しいデータセットを作った
Large Vocabulary Trick ● Mini-batch内の語彙を制限する ○ ○ そのbatchでsourceに出現した語彙にtargetの語彙を制限する 語彙の数が規定(N)になるまで、高頻度語を加える
Feature-rich Encoder ● 単語ベクトルに加えていかのfeatureを用いる ● POS(parts-of-speech) tags, NE(named-entity) tags ○ ● Embedding matrixを作る TF, IDF ○ binsをとって、カテゴリカル変数にし、Embeddingする ● 単語ベクトルと上記の4つを結合する ● Encoderのみで用いる
Switching Generator Pointer ● ● 未知語/低頻度語対策 Switchがonのときはそのまま単語を出力するが、offのときはsourceから単語を 取ってくる ○ switchがoffになる -> 未知語 decoderのi番目でswitchがonになる確率 decoderのi番目がencoderのj番目の単語になる確率 Pointer Value 最適化対象 G_i: decoderのi番目の単語がvocab外のとき0になる
Switching Generator Pointer
Hierarchical Attention ● Encoderで単語レベルのRNNと文レベルのRNNを走らせる ● 文レベルのRNNの入力は、単語レベルRNNのBOSの出力 ● Attentionに活用する ● Context vectorを計算するのに使われる ○ ○ Alphaの計算をwordごととsentenceごとにやって、re-scaleした値をwordの隠れ層にかけているん だろうか ■ この辺記述がなくて不明 文レベルのRNNの隠れ層のベクトルには、何文目かの情報を結合する
Experiment-1 ●
Get To The Point: Summatization with Pointer Generator Networks[See+ ACL’17] ● [Nallapati+16]で用いられていたGenerator Pointerを要約全体に拡張した論文 ○ ○ [Nallapati+16]では未知語の推定に用いられていた 本論文では未知語以外にも用いる
Attention+RNN Encoder-Decoder(おさらい) ● [Baudanau et al. 2014] ○ ● 翻訳で当時SOTA Seq2seqでは長い文章が難しいので、attentionを使って入 力のどの部分が出力に対応しているのかを学習させる 出力の隠れ層 aはFFNで学習する ● Encoderはbidirectional GRU-RNN ● Decoderはuni-directional GRU-RNN ● 双方の隠れ層は同一の次元数
Sequence-Sequence Attention Model Attention 推定 損失関数 本論文における定式化
Pointer Generator Network ● Decoderから生成するか、Pointerを使うかの確率 Out-of-Vocabularyの時: P_vocab(w)=0 Sourceにない時: a_i^t=0
Switching Generator Pointer[Nallapati+16] ● ● 未知語/低頻度語対策 Switchがonのときはそのまま単語を出力するが、offのときはsourceから単語を 取ってくる ○ switchがoffになる -> 未知語 decoderのi番目でswitchがonになる確率 decoderのi番目がencoderのj番目の単語になる確率 Pointer Value 最適化対象 G_i: decoderのi番目の単語がvocab外のとき0になる
Coverage Mechanism ● Seq2seqのモデルでは、繰り返し同じ単語が出力されてしまう問題が有る ○ ○ Coverage modelを使う[Tu+2016] よりシンプルな形で定義 ● これまでのAttentionを記憶し、これまでsourceのどこをみていたかを示す ● Attentionが同じところを見ていることにペナルティをかける 要素ごとの最小値
Result
Deep Recurrent Generative Decoder for Abstractive Text Summarization ● 文書要約のための新しいアーキテクチャDeep Recurrent Generative Encoder(DRGE)を提案 ○ ○ ● ● Seq2seq Recurrent Random Latent Model 要約には潜在的な構造があるため、これまでの決定的なseq2seqでは限界がある VAEに再帰性をもたせたモデルを提案し、seq2seqに組み込む
文書要約について ● 抽出型(extraction-based)と圧縮型(compressopm-based)と概要型 (abstrabtion-based)がある ● 概要型は要約として新しい文章を生成する ●
概要型要約の構造について ● 概要型には共通の構造がある ○ ○ ○ ○ ● What What-Happend Who Action What etc.. 潜在的構造を導入して、以上のような構造を学習することで、要約の精度を高めら れるのではないか? ○ ○ 過去のseq2seqによる概要型要約はすべて決定的であり、識別できる構造には限界がある [Rush+2015][Nallpati+2016] 潜在的構造を導入した研究もあるが、再帰性は考慮されていない[Miao+2016]
seq2seqに再帰的な潜在構造を導入する ● VAEを用いる[Kingma+2013] ○ ○ ● VAEには再帰的な構造がない Recurrent Latent Variable Modelを応用する[Chung+2015] Deep Recurrent Generative Decoder(DRGD)を提案する
DRGD
Decoder側 出力層 Decoder GRU2 Attention GRU1
VAE層
VAEの推定部分 事後分布と近似分布を考える KL Divergenceは以下のようになる
VAEの推定部分 pの尤度は以下のようにかける 後ろ二項を以下のようにおく KL Divergenceは0以上で、0に近づけるので、Lは変分下限といえる
目的関数 変分下限 目的関数
StanDはdecoderに工夫をしていない独自実装のもの