acl2017読み会@すずかけ台 東工大 奥村・高村研究室...

Post on 22-May-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ACL2017読み会@すずかけ台 東工大 奥村・高村研究室 渡邉亮彦

※ 図は論文、著者スライド中から引用しています

概要・Seq2Seqによる文`書’要約モデル・Attention modelに下記の2つの機構を導入し性能向上

1. Pointer-Generator Network

2. Coverage Mechanism

より正確にfactual detailsを記述し、OOVを扱える

単語の生成と原文書からの単語のコピーの両方を行えるハイブリッドモデル

情報の繰り返し(repetition)の防止

過去のAttentionの分布を活用し、繰り返し同じ場所にAttentionされないように

- factual errors, OOV- nonsensical sentence

1. Pointingの導入

- repeatingの発生

2. Coverageの導入

- fragmentsによる要約

- factual errors, OOV- nonsensical sentence

1. Pointingの導入

- repeatingの発生

2. Coverageの導入

- fragmentsによる要約

- factual errors, OOV- nonsensical sentence

1. Pointingの導入

- repeatingの発生

2. Coverageの導入

- fragmentsによる要約

Background: Attention Mechanism

[Bahdanau et al., 2014]

Encoder

DecoderRNNEncoderの各隠れ層をとっておき

cf. http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention

各隠れ層を荷重平均し context vectorを作成

RNNDecoderの単語生成に用いる(context vectorはこれまでの出力に応じて動的に変化)

は,前回のDecの隠れ層対応するEncの隠れ層

から求める

st�1

Background: Attention Mechanism

Encoder

DecoderRNNEncoderの各隠れ層をとっておき

各隠れ層を荷重平均し context vectorを作成

RNNDecoderの単語生成に用いる(context vectorはこれまでの出力に応じて動的に変化)

st�1は,前回のDecの隠れ層対応するEncの隠れ層

から求める

cf. http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention

[Bahdanau et al., 2014]

Background: Attention Mechanism

Encoder

DecoderRNNEncoderの各隠れ層をとっておき

各隠れ層を荷重平均し 文脈ベクトルを作成

RNNDecoderの単語生成に用いる(文脈ベクトルはこれまでの出力に応じて動的に変化)

↵t⌧ st�1は,前回のDecの隠れ層対応するEncの隠れ層 h⌧

から求める

提案手法はこのモデルを拡張 1. Pointer-Generator Network 2. Coverage Mechanism

cf. http://www.slideshare.net/yutakikuchi927/deep-learning-nlp-attention

[Bahdanau et al., 2014]

1. Pointer-Generator Network

・Generation probability Pgen を新たに導入

・単語wをoutputする確率 P(w)確率Pgenで単語を生成、(1 - Pgen)で単語をコピー

Vocabから単語を生成する確率とAttentionの分布から求める

1. Pointer-Generator Network

・Generation probability Pgen を新たに導入

1. Pointer-Generator Network

・単語wをoutputする確率 P(w)確率Pgenで単語を生成、(1 - Pgen)で単語をコピー

Vocabから単語を生成する確率とAttentionの分布から求める

・Generation probability Pgen

・単語wをoutputする確率 P(w)

1. Pointer-Generator Network

tステップ目のcontext vector

decoderのstate

decoderのinput

Vocabから単語wが生成される確率 単語wのAttentionの重み(単語wが原文書に存在する場合)

2. Coverage Mechanism

・Attentionの分布を求める際にcoverage vectorを導入coverage vectorは現在までのAttentionの分布の和・loss関数にcoverage lossを追加繰り返し同じ場所にAttentionが張られるとペナルティ

2. Coverage Mechanism

・Attentionの分布を求める際にcoverage vector cを導入

・loss関数にcoverage lossを追加

過去のAttentionの分布の総和

(Attentionの重み) coverage vectorも考慮し重みを決定

coverage loss, 過去と同じ場所に重みが入るとlossが増加

CNN/Daily Mail Dataset・比較的長文のニュース

・複数文での要約平均 3.75文

平均 781 tokens

56 tokens

train: 287,226 pairsvalid: 13,368 pairstest: 11,490 pairs

train, testの際に記事は 400 tokensにtruncate

実験結果: ROUGE, METEOR

* 印は固有表現を特殊タグに置き換えたデータ(e.g. the united stats -> @entity5)

(* 印が不利な分を考慮しても)2ポイント以上ROUGEスコア上昇

* * 印はROUGE的には不利(multi-wordな固有表現が無くなるとn-gramの重複が減る)

METEORはexactと+stem etc. を比較すると1ポイント以上上昇

(50k vocab)(50k vocab)

lead-3 baselineには勝てない

実験結果:繰り返しの割合

coverageの導入で繰り返しは大きく減少Referenceと同等の水準に

Tips・coverage lossを入れないと、繰り返し現象は無くならないcoverage vectorからAttention計算するだけではダメ

・訓練時に、最初からcoverage loss入りのloss関数を使うと  うまく学習しない学習を2ステップに分けることで改善

STEP1. 負の対数尤度を最小化するように学習

STEP2. coverage loss入りのlossを利用して学習230,000 iterations (12.8 epochs, 3日+4時間)

3,000 iterations (2時間程度、全体の約1%程度の時間)

考察:extractiveとleadが強い理由理由1: ニュース記事は冒頭に重要な情報が記述される

理由2: Referenceの内容の主観性と、ROUGEの柔軟性の無さ

・大抵のReferenceは記事の興味深い内容をいくつか要約に含めるだけこのような内容の選び方は、1つの記事に対して多くある

Ref.:

smugglers profit from desperate migrants

Summ.:

・Ref.とSumm.はどちらも  適切だが、Summ.の  ROUGEスコアは0

考察:提案手法の非抽出度合い

・提案手法の要約文のうち35%は文のコピー、しかしRef.では1.3%・残りの65%は下記のような非抽出的なアプローチが見受けられる- 文法的に正しく文をtruncateする- 複数の部分文をつなぎ合わせて新たな文とする

・X beat Y <score> on <day> のような生成が学習されている

考察:提案手法の非抽出度合い

まとめ・単語の生成と原文書からの単語のコピーを行える  pointer-generator Networkを提案

・Coverage Mechanismの提案

OOVへの対処と、要約に含まれる情報の正確さを改善

繰り返し現象を改善

・CNN/Daily Mail Dataset(原文書が長めでlarge-scaleなデータ  セット)による実験で、SoTAなabstractiveモデルを上回る結果

top related