[dl輪読会]deep recurrent generative decoder for abstractive text summarization(emnlp2017)

33
DEEP LEARNING JP [DL Papers] “Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)” Yoshifumi Seki, Gunosy/Matsuo Lab http://deeplearning.jp/

Upload: deep-learning-jp

Post on 21-Jan-2018

1.279 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

DEEP LEARNING JP[DL Papers]

“Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)”

Yoshifumi Seki, Gunosy/Matsuo Lab

http://deeplearning.jp/

Page 2: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

今日の発表内容

● Seq2Seqを用いたAbstractive Summarizationについて○

2

Page 3: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

今日の発表で取り扱う論文

● 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

Page 4: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Abstract Text Summarization

● 文章から見出し、または数文の要旨を生成するタスク○ 元の文章にある文をそのまま利用するわけではない

○ 元の文章に含まれない語彙を用いることもある

● 翻訳との違い○ 文から文を生成するのは一緒

○ Sourceとtargetって文の長さが大きく異る

○ Targetの長さがsourceの長さに依存しない

○ 情報の圧縮をしたい

Page 5: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Attention+RNN Encoder-Decoder(おさらい)● [Baudanau et al. 2014]

○ 翻訳で当時SOTA● Seq2seqでは長い文章が難しいので、attentionを使って入

力のどの部分が出力に対応しているのかを学習させる

● Encoderはbidirectional GRU-RNN● Decoderはuni-directional GRU-RNN● 双方の隠れ層は同一の次元数

出力の隠れ層

aはFFNで学習する

Page 6: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

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

Page 7: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Contributions

● 機械翻訳で既に使われているattention+RNNのEncoder-Decoderモデルを用い

て、2つのデータセットでstate-of-the-artの精度をだした

● 要約特有の課題を解決するための新しいモデルを提案し、さらなる改善を確認した

● 新しいデータセットを作った

Page 8: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Large Vocabulary Trick

● Mini-batch内の語彙を制限する○ そのbatchでsourceに出現した語彙にtargetの語彙を制限する

○ 語彙の数が規定(N)になるまで、高頻度語を加える

Page 9: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Feature-rich Encoder

● 単語ベクトルに加えていかのfeatureを用いる

● POS(parts-of-speech) tags, NE(named-entity) tags○ Embedding matrixを作る

● TF, IDF○ binsをとって、カテゴリカル変数にし、Embeddingする

● 単語ベクトルと上記の4つを結合する

● Encoderのみで用いる

Page 10: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

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になる

Page 11: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Switching Generator Pointer

Page 12: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Hierarchical Attention

● Encoderで単語レベルのRNNと文レベルのRNNを走らせる

● 文レベルのRNNの入力は、単語レベルRNNのBOSの出力

● Attentionに活用する

● Context vectorを計算するのに使われる○ Alphaの計算をwordごととsentenceごとにやって、re-scaleした値をwordの隠れ層にかけているん

だろうか

■ この辺記述がなくて不明

○ 文レベルのRNNの隠れ層のベクトルには、何文目かの情報を結合する

Page 13: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Experiment-1

Page 14: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)
Page 15: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Get To The Point: Summatization with Pointer Generator Networks[See+ ACL’17]

● [Nallapati+16]で用いられていたGenerator Pointerを要約全体に拡張した論文○ [Nallapati+16]では未知語の推定に用いられていた

○ 本論文では未知語以外にも用いる

Page 16: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Attention+RNN Encoder-Decoder(おさらい)● [Baudanau et al. 2014]

○ 翻訳で当時SOTA● Seq2seqでは長い文章が難しいので、attentionを使って入

力のどの部分が出力に対応しているのかを学習させる

● Encoderはbidirectional GRU-RNN● Decoderはuni-directional GRU-RNN● 双方の隠れ層は同一の次元数

出力の隠れ層

aはFFNで学習する

Page 17: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Sequence-Sequence Attention ModelAttention

推定

損失関数

本論文における定式化

Page 18: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Pointer Generator Network

● Decoderから生成するか、Pointerを使うかの確率

Out-of-Vocabularyの時: P_vocab(w)=0Sourceにない時: a_i^t=0

Page 19: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

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になる

Page 20: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Coverage Mechanism● Seq2seqのモデルでは、繰り返し同じ単語が出力されてしまう問題が有る

○ Coverage modelを使う[Tu+2016]○ よりシンプルな形で定義

● これまでのAttentionを記憶し、これまでsourceのどこをみていたかを示す

● Attentionが同じところを見ていることにペナルティをかける

要素ごとの最小値

Page 21: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Result

Page 22: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Deep Recurrent Generative Decoder for Abstractive Text Summarization

● 文書要約のための新しいアーキテクチャDeep Recurrent Generative Encoder(DRGE)を提案

○ Seq2seq○ Recurrent Random Latent Model

● 要約には潜在的な構造があるため、これまでの決定的なseq2seqでは限界がある

● VAEに再帰性をもたせたモデルを提案し、seq2seqに組み込む

Page 23: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

文書要約について

● 抽出型(extraction-based)と圧縮型(compressopm-based)と概要型

(abstrabtion-based)がある

● 概要型は要約として新しい文章を生成する

Page 24: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

概要型要約の構造について

● 概要型には共通の構造がある○ What○ What-Happend○ Who Action What○ etc..

● 潜在的構造を導入して、以上のような構造を学習することで、要約の精度を高めら

れるのではないか?○ 過去のseq2seqによる概要型要約はすべて決定的であり、識別できる構造には限界がある

[Rush+2015][Nallpati+2016]○ 潜在的構造を導入した研究もあるが、再帰性は考慮されていない[Miao+2016]

Page 25: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

seq2seqに再帰的な潜在構造を導入する

● VAEを用いる[Kingma+2013]○ VAEには再帰的な構造がない

○ Recurrent Latent Variable Modelを応用する[Chung+2015]● Deep Recurrent Generative Decoder(DRGD)を提案する

Page 26: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

DRGD

Page 27: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

Decoder側出力層

GRU2

GRU1

Attention

Decoder

Page 28: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

VAE層

Page 29: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

VAEの推定部分

事後分布と近似分布を考える

KL Divergenceは以下のようになる

Page 30: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

VAEの推定部分pの尤度は以下のようにかける

後ろ二項を以下のようにおく

KL Divergenceは0以上で、0に近づけるので、Lは変分下限といえる

Page 31: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

目的関数

変分下限

目的関数

Page 32: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)

StanDはdecoderに工夫をしていない独自実装のもの

Page 33: [DL輪読会]Deep Recurrent Generative Decoder For Abstractive Text Summarization(EMNLP2017)