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

[2020/05/15] nlpaper.challenge BERT応用勉強会 テキスト生成の評価 × BERT

cfiken
May 15, 2020

[2020/05/15] nlpaper.challenge BERT応用勉強会 テキスト生成の評価 × BERT

2020/05/15 に開催されたBERT応用勉強会のLT発表での資料です。
https://nlpaper-challenge.connpass.com/event/174957/

cfiken

May 15, 2020
Tweet

More Decks by cfiken

Other Decks in Technology

Transcript

  1. テキスト生成の評価 × BERT
       BERTScore, MoverScore, BLEURT
    2020/05/15 nlpaper.challenge BERT活用勉強会LT
    Kentaro Nakanishi @cfiken

    View Slide

  2. 自己紹介
    name: Kentaro Nakanishi
    id: @cfiken
    ひとこと:
    前年度は機械学習あまりでき
    なかったので、今年度は頑張
    りたい

    View Slide

  3. 今日の話
    ● テキスト生成とその評価
    ● 既存の評価指標
    ● BERT を用いた評価指標
    ○ BERTScore
    ○ MoverScore
    ○ BLEURT

    View Slide

  4. テキスト生成とその評価

    View Slide

  5. テキスト生成
    xxx-to-text な様々なタスクがある
    ● text-to-text
    ○ 翻訳, 対話, 要約
    ● data-to-text
    ○ クエリ化, タスク指向型対話
    ● image-to-text
    ○ image captioning
    主流は自己回帰モデル
    でのテキスト生成

    View Slide

  6. テキスト生成とその評価
    評価どうやるの?
    データセットで与えられているラベル文 (reference) と、
    モデルで生成した出力文 (candidate) を比較する
    reference: people like foreign cars
    candidate: consumers prefer imported cars
    同じ文?

    View Slide

  7. テキスト生成とその評価
    課題の1つに評価の難しさがある
    reference: people like foreign cars
    candidate 1: people like visiting foreign places
    candidate 2: consumers prefer imported cars
    ① 意味を考えると candidate 2 が良い
    ② 単語を見ると candidate 1 に近い
    どう評価をするかが難しい

    View Slide

  8. テキスト生成とその評価
    タスクによっては意味的に異なっていても良いものも
    image-captioning や対話など
    対話の例 A: 月が綺麗ですね
    B: ???

    View Slide

  9. テキスト生成とその評価
    現状どうしている?
    多くのタスクは自動評価に加えて人手評価も行っている
    デメリット
    ● コストが高い (時間・お金)
    ● 評価の保証が微妙

    View Slide

  10. 既存の評価指標

    View Slide

  11. n-gram matching base の指標
    reference 文と candidate 文で n-gram matching
    ● Precision
    ● Recall
    reference を , candidate を , n-gram 集合を とする

    View Slide

  12. BLEU (n-gram matching base)
    機械翻訳を中心に広く使われている評価指標
    n-gram matching の precision を少し改良し、生成テキス
    トの長さが短すぎないようにペナルティを加えたもの
    BP: 生成文が短い場合のペナルティ
    Precision: match を1度しかカウントしないなど改良

    View Slide

  13. METEOR (n-gram matching base)
    外部辞書を用いて matching を広げた指標
    ● 外部辞書で同義語やステミングを探し、マッチング
    ● precision ではなく F値を使う
    ● 評価対象の言語の外部辞書を用意する必要がある
    ● BLEU より人手評価との相関が高い

    View Slide

  14. その他の n-gram matching base な指標
    ROUGE: 要約で使われる recall ベースの指標
    CHRF: character ベースの n-gram
    CIDEr: image captioning に使われる指標
    その他 BLEU や ROUGE の派生などたくさん

    View Slide

  15. Word Mover’s Distance (ICML 2015) [4]
    単語の分布間の距離を Earth Mover’s Distance で計算
    文中の単語の一致ではなく、意味で類似度を計算するため
    word2vec などの分散表現に対して EMD を計算

    View Slide

  16. 学習可能な評価指標
    RUSE [5] は翻訳ドメインでの学習済み指標
    2つの文をそれぞれ入力し、人手評価
    の値を予測する回帰問題として学習
    WMT 2018 Metrics task において
    to-english の翻訳で全体で1位
    [5] Fig. 1

    View Slide

  17. 既存評価指標の課題
    ● 多くが表面的な違い(単語の違い)の評価になっており、
    意味的な違いが取れない
    ○ 類義語置換や意味が変わってしまう swap に弱い
    ● タスクに依らず使えるものが少ない
    ● 学習可能な指標の場合、別データで学習が必要
    簡単に使えて、タスクに依らず、意味まで精度良く見てく
    れる、そんな指標があったらいいな

    View Slide

  18. BERT を用いた評価指標

    View Slide

  19. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    一言でいうと
    ● BERT の出力を用いて reference 文と candidate 文の
    間の類似度を計算する BERTScore を提案
    ● pre-trained BERT を使うだけで良いので簡単
    ● 実験で人手評価との相関も既存指標より高い
    ● adversarial swap に対してもロバスト

    View Slide

  20. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    使うのは非常に簡単
    [1] Fig. 1

    View Slide

  21. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    使うのは非常に簡単
    reference 文, candidate 文をともに BERT に突っ込んで
    contextualized embeddings を得る

    View Slide

  22. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    使うのは非常に簡単
    それぞれの文のすべての単語について
    cosine similarity を計算する

    View Slide

  23. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    使うのは非常に簡単
    reference / candidate の各単語について max をとる
    場合によっては idf で重み付けする

    View Slide

  24. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    Recall, Precision, F1
    reference を , candidate を とすると、

    View Slide

  25. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    サンプルコード(簡易)
    実際の BERTScore の実装とはいくつか異なります
    間違ってたら教えて下さい
    公式実装はこちら >
    https://github.com/Tiiiger/bert_score

    View Slide

  26. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    サンプルコード(簡易)
    かんたん!

    View Slide

  27. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    ↑ Recall ↑ Precision ↑ F1

    View Slide

  28. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    ref = 'people like foreign cars'
    cand1 = 'people like visiting foreign places'
    cand2 = 'consumers prefer imported cars'
    cand3 = 'Obama speaks to the media in Illinois'
    cand2 > cand1 > cand3 になってほしい

    View Slide

  29. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    >
    cand1
    cand2
    cand3
    >

    View Slide

  30. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    bert-large-uncased-whole-word-masking でリベンジ

    View Slide

  31. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    >
    >
    cand1
    cand2
    cand3

    View Slide

  32. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    比較実験
    多くの実験をしているので詳しくは論文参照

    View Slide

  33. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    実験紹介1: 翻訳でのモデル選択 (WMT 2018 を使用)
    [1] Table 3
    RUSE (学習済み指標)に次いで高い性能

    View Slide

  34. BERTScore (ICLR 2020) [1]
    Tianyi Zhang, Varsha Kishore, Felix Wu, Kilian Q. Weinberger, Yoav Artzi
    実験紹介2: Robustness
    (実験の説明が非常に面倒)
    既存指標に比べて、元データ
    の QQP でも adversarial
    swap を加えた PAWS でも良
    い性能
    [1] Table 6

    View Slide

  35. MoverScore (EMNLP 2019) [2]
    Wei Zhao, Maxime Peyrard, Fei Liu, Yang Gao, Christian M. Meyer, Steffen Eger
    一言でいうと
    ● Word Mover’s Distance を BERT 出力に適用
    ● BERTScore が最大の類似度となる単語だけを使って計
    算する Hard Alignment であるのに対して、Soft
    Alignment な類似度になる。
    ● 論文では BERTScore と同等かやや良いスコア
    ● 計算に少し時間かかる

    View Slide

  36. MoverScore (EMNLP 2019) [2]
    Wei Zhao, Maxime Peyrard, Fei Liu, Yang Gao, Christian M. Meyer, Steffen Eger
    Word Mover’s Distance による Soft Alignment
    BERTScore
    は最も類似度
    の高い単語だ
    けを参照する
    MoverScore
    はどのように
    分布を移動さ
    せれば最小で
    済むかを計算
    する
    [2] Fig. 1

    View Slide

  37. MoverScore (EMNLP 2019) [2]
    Wei Zhao, Maxime Peyrard, Fei Liu, Yang Gao, Christian M. Meyer, Steffen Eger
    実験結果1: WMT 2017 Metrics task
    [2] Table 1

    View Slide

  38. MoverScore (EMNLP 2019) [2]
    Wei Zhao, Maxime Peyrard, Fei Liu, Yang Gao, Christian M. Meyer, Steffen Eger
    実験結果2: Hard/Soft Alignment 比較
    Hard (HMD) と
    Soft (WMD) で
    比較を行った
    [2] Table 5
    WMD-BIGRAM が安定して高いが、正直そこまで変わらない
    contextualized embeddings で文全体の意味を取れてるから?

    View Slide

  39. BLEURT (ACL 2020) [3]
    Thibault Sellam, Dipanjan Das, Ankur P. Parikh
    一言でいうと
    ● BERT をテキスト生成評価用に pre-training &
    finetuning しまくった BLEURT を提案
    ● 人手評価データがあればそれを使いたいが、コスト高い
    ので疑似データペアを大量に作って活用
    ● BLEU や BERTScore, Backtranslation を使用して学習
    ● BERTScore などの既存指標のスコアを大きく改善

    View Slide

  40. BLEURT (ACL 2020) [3]
    Thibault Sellam, Dipanjan Das, Ankur P. Parikh
    疑似データペア作成
    ● wikipedia テキスト180万から疑似ペアデータ650万を
    作成
    ● 次の方法で疑似データペアを大量作成
    ○ BERT の mask
    ○ Backtranslation (en -> fr/de -> en)
    ○ 確率的に一部単語を drop

    View Slide

  41. BLEURT (ACL 2020) [3]
    Thibault Sellam, Dipanjan Das, Ankur P. Parikh
    疑似データで pre-training
    ● pre-training に次の signal を利用
    ○ BLEU, ROUGE (3種) , BERTScore (3種)
    ○ Backtranslation で作成した疑似データの尤度 (4種)
    ○ BERT + MNLI モデルでの entailment 予測値 (3種)
    ○ Backtranslation データかどうかのフラグ
    ● 計6種類15個のラベルで pre-train

    View Slide

  42. BLEURT (ACL 2020) [3]
    Thibault Sellam, Dipanjan Das, Ankur P. Parikh
    実験結果
    これ以外にも多数実験しており、ある程度のロバスト性を
    検証・確認している (domain-drift, quality-drift)
    [3] Table 4: WMT 2019 Metric Shared Task

    View Slide

  43. まとめなど

    View Slide

  44. まとめと今後
    ● BERT を使ったテキスト生成の評価指標が出てきている
    ● BERTScore, MoverScore, BLEURT を紹介した
    ● どれも既存指標より人手評価との相関が高く、かつロバ
    スト性があり、今後の活用が期待できる
    (指標としてだけではなく、学習に組み込むのもアリ?)

    View Slide

  45. 余談1
    指標は次の3つに分類できる
    1. ルールベースで計算 (BLEU 等)
    2. 汎用的なモデルの出力を比較する (w2v, BERTScore 等)
    3. 人手評価をモデリングする (RUSE, BLEURT 等)
    個人的には 3 が流行るとタスク依存が大きくなったりモデ
    ル合戦になるので辛い
    1 と 2 の hybrid な指標がベースになっていくか?

    View Slide

  46. 余談2
    BERTScore, めっちゃ単純じゃね? と最初は思ったが...
    ● 指標として定義されることの重要性
    ● 現実的な使いやすさがかなり高い
    ● 広範囲な実験を行っていること
    で ICLR 2020 に通ったのかなあと考えています

    View Slide

  47. ありがとうございました

    View Slide

  48. Reference
    [1] BERTScore: Evaluating Text Generation with BERT, T. Zhang et al., ICLR 2020,
    https://arxiv.org/abs/1904.09675
    [2] MoverScore: Text Generation Evaluating with Contextualized Embeddings and Earth Mover Distance, W.
    Zhao et al., EMNLP 2019, https://arxiv.org/abs/1909.02622
    [3] BLEURT: Learning Robust Metrics for Text Generation, T. Sellam et al., ACL 2020,
    https://arxiv.org/abs/2004.04696
    [4] From Word Embeddings To Document Distances, M. J. Kusner et al., ICML 2015,
    http://mkusner.github.io/publications/WMD.pdf
    [5] RUSE: Regressor Using Sentence Embeddings for Automatic Machine Translation Evaluation, H. Shimanaka
    et al., Proceedings of the Third Conference on Machine Translation, https://www.aclweb.org/anthology/W18-6456/

    View Slide

  49. View Slide