More Related Content Similar to [DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Networks (20) More from Deep Learning JP (20) [DL輪読会]Abstractive Summarization of Reddit Posts with Multi-level Memory Networks1. 1
“Fast Abstractive Summarization with Reinforce-Selected
Sentence Rewriting (NAACL2018)”
Atsushi Kayama M3.Inc
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
“Abstractive Summarization of Reddit Posts with Multi-
level Memory Networks ”
Atsushi Kayama M3.Inc
2. Abstractive Summarization of Reddit Posts with Multi-level Memory Networks
Byeongchang Kim, Hyunwoo Kim, Gunhee Kim :Seoul National Univ, Dept of CS
arXiv 2 Nov 2018
Reddit TIFU dataset (提案したデータセット)
既存のデータセットの欠点を補うデータセットを提案,そのデータセットに対し
てSOTA な Abstract 要約モデルを提案
非news text を用いた Abstract 要約データセット Reddit TIFU を提案
Memory network (階層的な1次元畳み込み + attention ) を用いた Abstract 要約モデルを提案
提案した Reddit TIFU dataset, 既存の Newsroom dataset に対して SOTA
書誌情報・概要
2
3. 文章(ドキュメント)要約タスク概要
Extract 要約
ドキュメントの中からセンテンスを抜き出したものを要約とする
- 各センテンスをドキュメント全体を表す情報を多く含んでいるか等でスコアリング
- スコア上位から数センテンス抜き出したものを要約とみなす
Abstract 要約
ドキュメントから新しいセンテンスを1単語ずつ生成し,生成されたセンテンス群を要約とする
- Seq2Seq による翻訳文生成と基本同じ
3
Article Reference Summary
Created Abstract Summary
出典: A.See et al, Get To The Point: Summarization with Pointer-Generator Networks (2017)
例
4. ROUGE-N
参照要約(正解)に含まれる n-gram が 生成した要約にどれくらい含まれるかで生成された要約
の良さを定量化した指標
- precision, recall, f1 score の3種類存在
- N = 1, 2 が一般的に用いられている
ROUGE-L
一致する最大のシーケンス (Longest common subsequence) の長さを評価
- precision, recall, f1 score の3種類存在
文章(ドキュメント)要約タスク評価指標
4
Japan defeated Columbia 2-1, first game in 2018 FIFA world cup Russia.
Surprise in world cup group stage, Japan scored 2 goal and defeated Columbia.
Japan defeated Columbia 2-1, first game in 2018 FIFA world cup Russia.
Surprise in world cup group stage, Japan scored 2 goal and defeated Columbia.
Recall例
ROUGE 2
ROUGE L
5. 先行研究との差分
非news text を用いた Abstract 要約データセット Reddit TIFUを提案
従来のデータセットはニュース文が主でバイアスが存在している
- 重要な内容がドキュメントの先頭に存在する
- 理想的な要約の形になっているセンテンスが文章内にすでに存在する
TIFU (今日やらかしたこと) subreddit をクローリングして新たなデータセットを作成
- ドキュメント先頭に全体を要約したセンテンスがあるとは限らない
- 参照要約に出てくる言い回しはドキュメント内にあまり出てこない
Dilated convolution + Attention を用いた 非RNN構造の Abstract要約モデルを提案
従来のHierarchical RNN Encoder ではEncode の粒度は単語,センテンス,ドキュメントに限る
提案モデルは Reddit TIFU, 既存のデータセット両方に対して SOTA
人間の評価でも従来のモデルより高評価
5
6. 既存の要約データセット
ニュース記事を用いたデータセット
DUC (2007), Giga word (2012), CNN/DailyMail (2016), News room (2018), Xsum (2018)
arXiv, PubMed 上の学術誌を用いたデータセット(2018)
A Discourse-Aware Attention Model for Abstractive Summarization of Long Documents
https://github.com/acohan/long-summarization
レビュー・ディベートを用いたデータセット
Neural Network-Based Abstract Generation for Opinions and Arguments (2016)
データ数が Rotten Tomato : 3.7 K , IDebate : 2.2K と少ない
Rotten Tomato は複数人のレビュー とproレビュワーがまとめたセンテンスを対にしたデータ
- 意見の取捨選択が行われており,ドキュメントと参照要約の間の対応に一貫性が無い
IDebate はディベートをまとめたものであり,Formal (要旨が端的)なデータになっている
6
7. 提案:Reddit TIFU dataset
Reddit の TIFU ( Today, I FUCKED UP ) の投稿をクローリングして作成した
Abstract 要約データセット
https://www.reddit.com/r/tifu/
やらかした内容についての投稿に特化した掲示板.要約も一緒に投稿しなくてはいけない規約
- タイトルは投稿内容を要約していなければならない
- 投稿の最後に内容を要約した TL; DR をつけなければならない
2013/3 ~ 2018/3 の間での投稿をクローリングして2種類のデータセットを作成
- TIFU-short : [ 投稿本文, タイトル(要約) ]
- TIFU-long : [ 投稿本文, TL;DR(要約) ]
7
平均値 (中央値)
9. 各データセットに対する既存のAbstract, Extract 要約手法でのパフォーマンス
Reddit TIFU は Extract 要約手法のパフォーマンスが低く,よりAbstract 要約が必要になっている
提案:Reddit TIFU dataset
参照要約の 2-gram のドキュメント内での相対位置分布
Reddit TIFU は既存データセットに比べてより一様に分布している
9
12. モデル概要:Multi-level Memory
入力ドキュメントに対して L 層の dilated
convolution を重ねることで, 広い範囲か
ら情報を集約
畳み込みに合わせて Normalized Gated
Tanh Units (本論文提案)を適応
各層の出力を Memory (Ma
s, Mc
s ) に
Dilated convolution により広い範囲の情報を
畳み込んだ結果が Memory に保存される
- 4層では周囲31単語(センテンスレベル)
- 8層では周囲511単語(ドキュメント全体)
各Output Memory には skip connection とし
て入力embedding を付加 12
14. モデル概要:Sequence Decoder
単方向の dilated convolution と Attention 機構で 自己回帰的に単語を生成
1. Encoder 最終層を max pooling
2. 前層の出力に dwhole を加えて
dilated conv + normalized gated tanh 計算を
繰り返す
14
15. モデル概要:Sequence Decoder
3. 最終層 t 単語目の出力 から S個の Memory に対してそれぞれ query を計算
4. 異なる範囲の情報を encode した S 個のmemory に query を適用
5. S 個のクエリ結果と, dilated convolution 結果を concat, 語彙ベクトルに変換
-> softmax を適用し, 生成確率最大の単語を生成
6. 2 ~ 5 を EoS token を生成するまで
繰り返す 15
16. 学習の設定
16
語彙には各データセットで最も出現頻度が高い単語 15K を選択
単語の埋め込み行列 (V x 300)の初期値には Common Crawl コーパスで学習した
fastText を使用
一様分布で平滑化を行ったラベルに対して学習 ( p(正解) = 1-ε, p(not正解) = ε / V )
データセットはtrain : 95%, test : 5% として実験
投稿の長さが500文字以内,要約が20文字以内(TIFU-short), 50文字以内 (TIFU-long) のものを使用
12epoch (TIFU-short), 60epoch(TIFU-short) を 4epoch 毎に学習率を 1/10 にしていき学習
17. 実験結果
提案モデルが TIFU-short, long 両方で最もよいパフォーマンスを示した
Pointer Generator (PG)
- Attention を用いた本文のコピー と Coverage 機構
Selective Encoding for ASS (SEASS)
- 双方向GRUで全体をEncode し本文全体との関係で
各単語の隠れ状態を Gating
- GRU + attention で decode
Deep Recurrent Generative Decoder (DRGD)
- 要約の構造的なパターンを捉えて,要約を生成する
変分オートエンコーダを用いたモデル
17
18. 実験結果
提案モデルが Newsroom dataset の Abstract 要約データセットに対しても最も良
いパフォーマンスを示した
AMT で100サンプルについて評価したところ,参照要約に次いで提案モデルの要
約結果が選ばれた
投稿により関連があるものを選択
提案モデル vs その他モデル生成結果の2択
モデルの組み合わせごとの勝敗(%)を右表に示す
18
20. まとめ,気になる点
非news text を用いた Abstract 要約データセット Reddit TIFUを提案
Dilated convolution + Attention を用いた 非RNN構造の Abstract要約モデルを提案
提案モデルは Reddit TIFU, 既存のデータセット両方に対して SOTA
既存の Extractive な傾向が強いデータセットに対するパフォーマンスはどうか?
データセットをアンサンブルさせることで異なるタイプの要約にも適応可能か?
既存のデータセットに比べて抽象的な表現が多い気がする
生成した要約は意味的には正しいものになっているか?
Abstract 要約では生成した要約が本文と異なる内容になってしまうことが大きな問題
20
Editor's Notes MMN が Seq2Seq RNN ようやくモデルに対して優れている点
RNNは 入力シーケンスの長さにかかわらず,いくつかの固定長のメモリーに毎ステップ情報を蓄積する? そのため,勾配消失があり,離れた位置の情報を活用できない
要約タスクでは入力シーケンスの長さは 300以上になるので大きな問題となる
Convolutional memory なら,離れた位置の情報を捉えることができる
複数レベルの情報表現を学習できる 階層RNNでも可能だが
提案モデルは異なる受容野を持つ畳み込みを組み合わせる
Multiple level の表現が可能なだけではなく,multiple range(sentence, paragraph, whole document) の表現も可能 ( どう異なるのか??)
各ノードが考慮する部分が決まっているので,全センテンス情報を encode することがない(区別がついている)ということか
While RNNbased encoders always consider the whole sequence to represent each hidden state, our multilevel memory network exploits convolutions to control the extent of representation in multiple levels of sentences, paragraphs, and the whole text.
既存の memory network と異なる点
multi-level memory network を構成した点
Dilated convolution を用いた点
Normalized gated tanh unit を提案した点 -> ネットワークの共分散シフトを避ける
RNN を用いず出力シーケンスを生成した点
データの前処理
各データセットで最も出現頻度が高い 15K を語彙に選択(98%をカバーしている)
url, unicodes, 特別な文字は除去
文字列は小文字化
数字は全て 0 に変換
Python-markdown を用いて markdown format を除去
Spacy を用いて tokenize words
要約の prefix は除去 tl;dr 等
ドキュメントの長さは最大500に設定, 参照要約の長さが 20, 50 以上のものも除去(TIFU-short, -long)
実装のパラメータ詳細
全てのパラメータは Xavier で初期化
Adam optimizer で学習 (β1 = 0.9, β2=0.999, ε=1e-8)
全ての層に weight normalization を適用
4 epoch 毎に学習率を 1/10 に (0.0001 に至るまで)
12epoch for short, 60epoch for long 学習 評価対象Dataset
Newsroom : 38 のニュース媒体から 記事と要約のペアを 400K 集めたデータセット
Specialized for abstractive summarization -> モデルの abstract 要約能力を確認
Reddit TIFU よりも大きな語彙サイズ 15k vs 40k -> モデルの学習能力を確認
比較対象 2017 年のモデルを対象に比較
Pointer Generator Network
Selective Encoding for Abstractive Sentence Summarization
Deep Recurrent Generative Decoder for Abstractive Text Summarization
Lead1 : ドキュメント先頭文
Best-Match : 参照要約に対して ROUGE1,2/L の平均スコアが最も高いセンテンスを選択 (upper bound of extractive method)
MMN の各要素を除いた場合のパフォーマンス
NoNGTU : 従来の NGU を使用
実験結果
Reddit TIFU デーセットに対して
PG の copy はより abstractive なデータセットには向いていない
SEASS は DUC, Gigaword に良いパフォーマンスを示した
本文が単一の長いテキストでかつ,参照要約が,本文中のセンテンスの短縮版になっているケース
Reddit TIFU に対しては ☓
DRGD :参照要約の構造的なパターンを捉えるために,隠れ変数を用いた変分オートエンコーダを用いたモデル
各データの構造が似ている formal なデータセットには有効かもしれないが, TIFU の 多様なonline text には適していない
Abstract 要約モデルは軒並み Extractive よりも良いパフォーマンスを示している
他のデータセットを用いた論文では abst と ext モデルの間でパフォーマンスの差は小さい事を考えると,Reddit TIFU はそれらよりもより Abstractive になっていると考えられる
Newsroom に対しても SOTA
Formal document with large vocabulary size に対しても提案モデルは有効
Dataset が hightly abstractive な場合には
他のより extractive なデータに対しても検証はしている??
定性的な実験結果
ユーザーの好み
ATMを用いて 100のランダムなテストサンプルに対して提案モデルと,ランダムに他のモデルで生成した要約を提示し,選んでもらった
表示順はランダム
ドキュメントに対して,より関連のあるものを選んでもらった
各サンプルに対して3人の異なる人から評価をもらった
参照要約についで,提案モデルが選ばれた
定性的な生成結果
ベースラインモデルは主に,ドキュメント内のいくつかのキーワードに焦点を当てている
提案モデルは,キーワードと全体のコンテキスト両方を考慮した要約を生成できている
MMN が Seq2Seq RNN ようやくモデルに対して優れている点
RNNは 入力シーケンスの長さにかかわらず,いくつかの固定長のメモリーに毎ステップ情報を蓄積する? そのため,勾配消失があり,離れた位置の情報を活用できない
要約タスクでは入力シーケンスの長さは 300以上になるので大きな問題となる
Convolutional memory なら,離れた位置の情報を捉えることができる
複数レベルの情報表現を学習できる 階層RNNでも可能だが
提案モデルは異なる受容野を持つ畳み込みを組み合わせる
Multiple level の表現が可能なだけではなく,multiple range(sentence, paragraph, whole document) の表現も可能 ( どう異なるのか??)
各ノードが考慮する部分が決まっているので,全センテンス情報を encode することがない(区別がついている)ということか
While RNNbased encoders always consider the whole sequence to represent each hidden state, our multilevel memory network exploits convolutions to control the extent of representation in multiple levels of sentences, paragraphs, and the whole text.
既存の memory network と異なる点
multi-level memory network を構成した点
Dilated convolution を用いた点
Normalized gated tanh unit を提案した点 -> ネットワークの共分散シフトを避ける
RNN を用いず出力シーケンスを生成した点