Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介 / Decomposable Neural Paraphrase Generation

067c2e9dfad1914df731f6f0d65d9890?s=47 Kyosuke Nishida
September 27, 2019

論文紹介 / Decomposable Neural Paraphrase Generation

067c2e9dfad1914df731f6f0d65d9890?s=128

Kyosuke Nishida

September 27, 2019
Tweet

Transcript

  1. 論⽂紹介 Decomposable Neural Paraphrase Generation Zichao Li, Xin Jiang, Lifeng

    Shang, Qun Liu (Huawei Noahʼs Ark Lab) ACL 2019 紹介者: ⻄⽥京介 2019/09/28 @ 第11回最先端NLP勉強会 https://www.aclweb.org/anthology/P19-1332
  2. • 何をする研究か︖ – ⽂(〜20 words)の⾔い換え(Paraphrasing) • 貢献は何か︖ – フレーズ,⽂に分解して⾔い換えを学習するモデル Decomposable

    Neural Paraphrase Generator (DNPG) を提案 – Quora, WikiAnswersで実験しPointer-Generatorを上回る • 嬉しさは︖ J ⾔い換えの解釈性が⾼い J フレーズ,⽂レベルで⾔い換えを制御可能 J ドメイン適応できる J モデルがシンプル,⾔い換え以外にも転⽤できるかも K 精度は(⾃動評価だと)⼤幅には上がってはいない 2 概要
  3. • ⾔い換えの結果を⽂とフレーズの各レベルの⾔い換 えに分解して説明できる 3 嬉しさ(1): 解釈性が⾼い

  4. • ⽂レベルのみ,フレーズレベルのみ,両⽅を考慮し た⾔い換えの制御が可能 4 嬉しさ(2): 制御可能 ⼊⼒ 制御策 出⼒

  5. • 新ドメインのパラレルコーパスなしでドメイン適応 – ⾔い換えを⽂とフレーズレベルに分解したことで可能に 5 嬉しさ(3): ドメイン適応 ソースドメイン モデル ターゲットドメイン

    モデル 学習 転移 適応 Question1 Who wrote the Winnie the Pooh books? What relieves a hangover? What are social networking sites used for? How do you say Santa Claus in Sweden? Say santa clause in sweden? Quora WikiAnswers この論⽂では事実上 データセット=ドメイン
  6. 6 モデル 各単語に粒度(⽂/フ レーズ)をラベリング (⽂構造の推定器) 粒度毎に ⾔い換え 集約して出⼒

  7. • ⼊⼒︓単語列 X = [x1, ..., xL] • 出⼒︓粒度ラベル列 Z

    = [z1, ..., zL] ※ 実験では粒度は⽂/フレーズの2種類に限定 • 2層のLSTMでモデリング • GS: Gumbel-Softmax function (τ: 温度パラメータ) – 微分可能な⽅法で 離散的なラベルz を得るために利⽤ 7 Separator
  8. • ⼊⼒︓単語列 X, 粒度ラベル列Z • 出⼒︓単語列Y • エンコーダデコーダを粒度z(⽂/フレーズ)毎に⽤意 • Transformerベース(Position

    embeddingとアテンショ ンに⼯夫) • デコーダにはコピー機構を導⼊ 8 Multi-granularity Encoder-Decoder
  9. • フレーズレベルの位置エンコーディングは普通 • ⽂レベルの位置情報はフレーズレベルの単語数に依 存させたくないので,位置posまでに出現した⽂レ ベル単語数を使う 9 ⼯夫1: Positional Encoding

  10. • フレーズレベルはlocal(隣接3単語のみvisible) • ⽂レベルはglobal(全単語,ただし⽂レベル単語の みvisible) 10 ⼯夫2: アテンション時の単語可視性(効果⼤︕) フレーズレベル ⽂レベル

  11. • フレーズレベルのデコーダではコピー機構を導⼊ • モデルのキャパシティはフレーズレベル > ⽂レベル – 300次元,6ヘッド > 150次元,3ヘッド

    – フレーズの⽅がlong-tailなので 11 ⼯夫3: キャパシティとコピー機構
  12. • ⼊⼒︓各デコーダ出⼒ • 出⼒︓単語列Y • 各デコーダの出⼒単語のどちらを採⽤するかを各時 刻で決定 12 Aggregator

  13. • 粒度選択⽤のLSTMを⽤意して出⼒ 13 Aggregator c0 c1 z=0(フレーズ) v(t) v(t-1)

  14. 14 モデル(再掲) 各単語に粒度(⽂/フ レーズ)をラベリング (⽂構造の推定器) 粒度毎に ⾔い換え 集約して出⼒

  15. • 提案モデルは End-to-end に学習できるが,Separator と Aggregator のために単語の粒度ラベルに weak supervision z*

    を与える • Loss を計算する際,λ は 1 から徐々に 0 に近づけて いく(徐々にweak supervisionを無視する) 15 学習 End-to-end Separator Aggregator
  16. • Weak supervision z* はパラフレーズコーパスを⽤いて学習し たアラインメントモデルを利⽤ (Och and Ney, 2003)

    • Most rare wordsを含んだフレーズのペア(1〜3個,ランダム に決定)に z* = 0(フレーズレベル)を割当,残りは z* = 1 (⽂レベル) 16 学習 z* = 1 1 1 1 1 0 0 0 z* = 1 1 0 0 0 0 1 Separator側のweak supervisionに利⽤ Aggregator側のweak supervisionに利⽤ Alignmentを取る
  17. • 推定した各単語の粒度レベルを⽤いて⽂レベルの⾔い換えパ ターンを容易に抽出可能 • フレーズレベルのチャンクが複数ある場合,アテンションの 値を⽤いて対応付け 17 嬉しさ(1)の実現︓解釈性(パターン抽出)

  18. 1. ⽂レベルのみ⾔い換え(フレーズを保存) – フレーズレベル Decoder(not Aggregator)の コピー機構 で ρ =

    1 に固定して実現 2. フレーズレベルのみ⾔い換え(⽂構造を保存) – ⼊⼒⽂の各単語の 推定粒度が z = 1 ならそのまま出⼒, z = 0 なら フレーズレベル Decoder で⾔い換えを出⼒ 18 嬉しさ(2)の実現︓制御
  19. • 前提︓ターゲットドメインの⾔い換えパラレルコー パスは与えられない状況(⼊⼒⽂はある) • 問題︓フレーズレベルはドメイン固有になりやすい → Separatorが上⼿く動かない • アプローチ︓⽂テンプレートの⾔語モデルに基づく 報酬を強化学習で最⼤化

    19 嬉しさ(3)の実現︓教師なしドメイン適応 What makes the second world war happen ↓ What makes $x happen のレベルならドメインに依存しない
  20. 1. ソースドメインで学習した Separator で抽出した⽂テンプ レートから,LSTMでテンプレート⾔語モデルを学習 2. ターゲットドメインの Separator の出⼒から抽出した⽂テン プレートが⾔語モデルから得られる報酬が⾼くなるように

    Separator を強化学習 20 テンプレート⾔語モデルによる報酬
  21. • 従来⼿法を上回る精度が出たか︖ • 解釈性はどうか(正しくパターンを抽出できたか)︖ • 制御は上⼿くできたか︖ • ドメイン適応できたか︖ • 主観評価では⾔い換えの正しさはどうか︖

    • モデルの⼯夫は効果があったか︖ 21 評価実験: Research Questions
  22. • Quora (⼈⼿でアノテーション) • WikiAnswers(⾃動的に収集,ノイズ多い) • 20単語を超えるものは truncate • 語彙サイズ

    8K (コピー機構があるため基本的な単 語のみ,subwordは使わない) 22 データセット
  23. • BLEU, ROUGE-1, 2, iBLEUで評価 • iBLEU (Sun and Zhou,

    2012) は元⽂と同じ表現にペナ ルティ • 主観評価(⼿法間の相対評価,6名)も⼀部で実施 23 評価指標 ⾔い換えcとリファレンスrsの近さ ⾔い換えcと元⽂sの近さ
  24. • Quora,WikiAnswers の両⽅で,⾔い換えを粒度レベルで分解 しない従来⼿法を上回る結果 • よりノイズの多い WikiAnswers で良い結果 24 従来⼿法を上回る精度が出るか︖

  25. • 出⼒サンプルを提⽰して評価 25 解釈性はどうか︖

  26. • 出⼒サンプルを提⽰して評価 26 制御は上⼿くできたか︖

  27. • 出⼒サンプルを提⽰して評価 27 制御は上⼿くできたか︖

  28. • ドメイン適応させた Adapted DNPG が最も良いスコア 28 ドメイン適応できるのか︖ ベースライン︓翻訳のmonolingual dataによる精度改善アプローチ MTL︓LMと⾔い換えのマルチタスク学習

    (Domhan and Hieber, 2017) Shallow fusion: LMのスコアによるreranking (Gulcehre et al., 2015)
  29. • ドメイン適応させた Adapted DNPG が最も良いスコア 29 ドメイン適応できるのか︖ ベースライン︓翻訳のmonolingual dataによる精度改善アプローチ MTL︓LMと⾔い換えのマルチタスク学習

    (Domhan and Hieber, 2017) Shallow fusion: LMのスコアによるreranking (Gulcehre et al., 2015)
  30. • WikiAnswers -> Quora で評価(4⼿法にランク付け). – 基準: Readability -> Accuracy

    -> Diversity [補助資料B] • ドメイン適応させることで Reference に近い順位を達成 • 6名のアノテータ間の⼀致率を計算 30 主観評価の結果はどうか︖
  31. • WikiAnswers -> Quoraで実験 • Multi-Head Attention の⼯夫 (local /

    global)が効果⼤ • Positional Encoding, Gumbel Softmax の⼯夫も効果あり 31 モデルの⼯夫は効果があったか︖
  32. • ⾔い換えにおいて3つ以上の粒度を考えることは性 能改善につながるか︖ Lモデルは3つ以上でも動作するが実験は2つの場合のみ • End-to-end で精度良く学習できるのか︖Weak supervisionが必須︖ L実験は weak

    supervision ありの場合のみ • 他タスクでも有効か︖対話では︖ 翻訳では︖QAで は︖ 要約では︖ L実験は⾔い換えのみ L 評価指標はどうしたらいいのだろう... 32 [感想] 知りたかったこと
  33. • 今回は Pointer-Generator だった • Pre-training Sequence-to-sequenceモデルの台頭 – MASS [Song

    et al., ICML’19] ※要約,翻訳,応答⽣成 – UniLM [Dong et al., Neurips’19] ※要約,読解,質問⽣成 – PoDA [Wang et al., EMNLP’19] ※要約 • ⾔い換え⽣成は上記の論⽂では評価されていないが, 要約タスクの状況を⾒ると,きっと⾔い換えでも強 いだろう 33 [感想] これからのベースラインは︖
  34. • BEFTの直前,機械読解は⾔い換えによるデータ拡張 が⾏われていた – QANet [Yu+, ICLR18] ※ backtranslation-base •

    BERT世代に⼊って,downstream tasksでの data augmentationをあまり⽬にしていない気がする – もはや増やす必要がない︖ – 実は相性が悪い︖ – そこを頑張るよりも⾔語モデルに学習させるテキスト量 を増やすほうが良い︖ 34 [感想] data augmentationのための⾔い換え︖
  35. • 何をする研究か︖ – ⽂(〜20 words)の⾔い換え(Paraphrasing) • 貢献は何か︖ – フレーズ,⽂に分解して⾔い換えを学習するモデル Decomposable

    Neural Paraphrase Generator (DNPG) を提案 – Quora, WikiAnswersで実験しPointer-Generatorを上回る • 嬉しさは︖ J ⾔い換えの解釈性が⾼い J フレーズ,⽂レベルで⾔い換えを制御可能 J ドメイン適応できる J モデルがシンプル,⾔い換え以外にも転⽤できるかも K ⾃動評価精度は⼤幅には上がってはいない 35 まとめ