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

論文紹介 / Decomposable Neural Paraphrase Generation

Kyosuke Nishida
September 27, 2019

論文紹介 / Decomposable Neural Paraphrase Generation

Kyosuke Nishida

September 27, 2019
Tweet

More Decks by Kyosuke Nishida

Other Decks in Research

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

    View Slide

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

    View Slide

  3. • ⾔い換えの結果を⽂とフレーズの各レベルの⾔い換
    えに分解して説明できる
    3
    嬉しさ(1): 解釈性が⾼い

    View Slide

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

    View Slide

  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
    この論⽂では事実上
    データセット=ドメイン

    View Slide

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

    View Slide

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

    View Slide

  8. • ⼊⼒︓単語列 X,
    粒度ラベル列Z
    • 出⼒︓単語列Y
    • エンコーダデコーダを粒度z(⽂/フレーズ)毎に⽤意
    • Transformerベース(Position embeddingとアテンショ
    ンに⼯夫)
    • デコーダにはコピー機構を導⼊
    8
    Multi-granularity Encoder-Decoder

    View Slide

  9. • フレーズレベルの位置エンコーディングは普通
    • ⽂レベルの位置情報はフレーズレベルの単語数に依
    存させたくないので,位置posまでに出現した⽂レ
    ベル単語数を使う
    9
    ⼯夫1: Positional Encoding

    View Slide

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

    View Slide

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

    View Slide

  12. • ⼊⼒︓各デコーダ出⼒
    • 出⼒︓単語列Y
    • 各デコーダの出⼒単語のどちらを採⽤するかを各時
    刻で決定
    12
    Aggregator

    View Slide

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

    View Slide

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

    View Slide

  15. • 提案モデルは End-to-end に学習できるが,Separator
    と Aggregator のために単語の粒度ラベルに weak
    supervision z* を与える
    • Loss を計算する際,λ は 1 から徐々に 0 に近づけて
    いく(徐々にweak supervisionを無視する)
    15
    学習
    End-to-end
    Separator Aggregator

    View Slide

  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を取る

    View Slide

  17. • 推定した各単語の粒度レベルを⽤いて⽂レベルの⾔い換えパ
    ターンを容易に抽出可能
    • フレーズレベルのチャンクが複数ある場合,アテンションの
    値を⽤いて対応付け
    17
    嬉しさ(1)の実現︓解釈性(パターン抽出)

    View Slide

  18. 1. ⽂レベルのみ⾔い換え(フレーズを保存)
    – フレーズレベル Decoder(not Aggregator)の コピー機構
    で ρ = 1 に固定して実現
    2. フレーズレベルのみ⾔い換え(⽂構造を保存)
    – ⼊⼒⽂の各単語の 推定粒度が z = 1 ならそのまま出⼒,
    z = 0 なら フレーズレベル Decoder で⾔い換えを出⼒
    18
    嬉しさ(2)の実現︓制御

    View Slide

  19. • 前提︓ターゲットドメインの⾔い換えパラレルコー
    パスは与えられない状況(⼊⼒⽂はある)
    • 問題︓フレーズレベルはドメイン固有になりやすい
    → Separatorが上⼿く動かない
    • アプローチ︓⽂テンプレートの⾔語モデルに基づく
    報酬を強化学習で最⼤化
    19
    嬉しさ(3)の実現︓教師なしドメイン適応
    What makes the second world war happen

    What makes $x happen
    のレベルならドメインに依存しない

    View Slide

  20. 1. ソースドメインで学習した Separator で抽出した⽂テンプ
    レートから,LSTMでテンプレート⾔語モデルを学習
    2. ターゲットドメインの Separator の出⼒から抽出した⽂テン
    プレートが⾔語モデルから得られる報酬が⾼くなるように
    Separator を強化学習
    20
    テンプレート⾔語モデルによる報酬

    View Slide

  21. • 従来⼿法を上回る精度が出たか︖
    • 解釈性はどうか(正しくパターンを抽出できたか)︖
    • 制御は上⼿くできたか︖
    • ドメイン適応できたか︖
    • 主観評価では⾔い換えの正しさはどうか︖
    • モデルの⼯夫は効果があったか︖
    21
    評価実験: Research Questions

    View Slide

  22. • Quora (⼈⼿でアノテーション)
    • WikiAnswers(⾃動的に収集,ノイズ多い)
    • 20単語を超えるものは truncate
    • 語彙サイズ 8K (コピー機構があるため基本的な単
    語のみ,subwordは使わない)
    22
    データセット

    View Slide

  23. • BLEU, ROUGE-1, 2, iBLEUで評価
    • iBLEU (Sun and Zhou, 2012) は元⽂と同じ表現にペナ
    ルティ
    • 主観評価(⼿法間の相対評価,6名)も⼀部で実施
    23
    評価指標
    ⾔い換えcとリファレンスrsの近さ
    ⾔い換えcと元⽂sの近さ

    View Slide

  24. • Quora,WikiAnswers の両⽅で,⾔い換えを粒度レベルで分解
    しない従来⼿法を上回る結果
    • よりノイズの多い WikiAnswers で良い結果
    24
    従来⼿法を上回る精度が出るか︖

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. • WikiAnswers -> Quora で評価(4⼿法にランク付け).
    – 基準: Readability -> Accuracy -> Diversity [補助資料B]
    • ドメイン適応させることで Reference に近い順位を達成
    • 6名のアノテータ間の⼀致率を計算
    30
    主観評価の結果はどうか︖

    View Slide

  31. • WikiAnswers -> Quoraで実験
    • Multi-Head Attention の⼯夫 (local / global)が効果⼤
    • Positional Encoding, Gumbel Softmax の⼯夫も効果あり
    31
    モデルの⼯夫は効果があったか︖

    View Slide

  32. • ⾔い換えにおいて3つ以上の粒度を考えることは性
    能改善につながるか︖
    Lモデルは3つ以上でも動作するが実験は2つの場合のみ
    • End-to-end で精度良く学習できるのか︖Weak
    supervisionが必須︖
    L実験は weak supervision ありの場合のみ
    • 他タスクでも有効か︖対話では︖ 翻訳では︖QAで
    は︖ 要約では︖
    L実験は⾔い換えのみ
    L 評価指標はどうしたらいいのだろう...
    32
    [感想] 知りたかったこと

    View Slide

  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
    [感想] これからのベースラインは︖

    View Slide

  34. • BEFTの直前,機械読解は⾔い換えによるデータ拡張
    が⾏われていた
    – QANet [Yu+, ICLR18] ※ backtranslation-base
    • BERT世代に⼊って,downstream tasksでの data
    augmentationをあまり⽬にしていない気がする
    – もはや増やす必要がない︖
    – 実は相性が悪い︖
    – そこを頑張るよりも⾔語モデルに学習させるテキスト量
    を増やすほうが良い︖
    34
    [感想] data augmentationのための⾔い換え︖

    View Slide

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

    View Slide