論文紹介: Training Classifiers with Natural Language Explanations

Bdf798e9136dc2b0bd08391fdaeaeab2?s=47 Yuta Koreeda
September 04, 2019

論文紹介: Training Classifiers with Natural Language Explanations

論文紹介: Training Classifiers with Natural Language Explanations
TFUG, NN論文を肴に酒を飲む会#9
2019.9.4

All figures from now on are cited from “Hancock et al. 2018. Training Classifiers with Natural Language Explanations. ACL.” unless otherwise specified. All texts are distributed as CC-01. Get raw slides from https://drive.google.com/open?id=1YPi9gvTtd6OEvCWKtqYVxb2BJE4EPn9f .

Bdf798e9136dc2b0bd08391fdaeaeab2?s=128

Yuta Koreeda

September 04, 2019
Tweet

Transcript

  1. 論文紹介 Training Classifiers with Natural Language Explanations TFUG, NN 論文を肴に酒を飲む会

    #9 2019.9.4
  2. tl;dr • 文章自動分類の人手ラベル付与時に根拠入力を促し、自然言語の根拠の からラベル関数(プログラム)を自動生成 • ヒューリスティックに基づきラベル関数をフィルタ+統合 • ラベル関数で自動ラベル付けしたノイジーな正解データから分類を学習 • 時間効率にして最大

    100 倍ほどのラベル付け効率を実現 All figures from now on are cited from “Hancock et al. 2018. Training Classifiers with Natural Language Explanations. ACL.” unless otherwise specified. All texts are distributed as CC-01.
  3. 論文情報 • Presented at ACL 2018

  4. モチベーション • 文章分類を行うために人手でラ ベル付与(アノテーション)し学習 データを作ることがある • アノテータはラベル付与するため に全文を読まなくてはならない が、得られる教師信号はたった 1

    bit • アノテーションからもう少し多くの 情報を得られないか ?
  5. 提案手法 (BubbleLabble) の概要 • ユーザにラベル付与の根拠入力を促 す • 根拠からラベル関数を自動生成する • ラベル関数で自動ラベル付与したノ

    イジーな正解データを使い分類器を 学習する
  6. 提案手法 ③ ラベル集約 入力 ① ラベル関数 生成 ② 関数 フィルタ

    分類 ノート: Q. なぜラベル関数で直接分類してしまわないのか A. 機械学習を用いることでラベル関数には存在しない素性を活用できるため
  7. ① 提案手法: ラベル関数生成 • ユーザが入力した自然言語からラベル関数(プログラム)を生成する • 高い精度のラベル関数を作るのではなく、網羅的に使えそうなラベル関数 を作ることがポイント • ルールベースの

    Semantic Parsing でもうまくいくことを発見(!)
  8. ① 提案手法: ラベル関数生成 • ボトムアップにルールを当てはめてゆく • 単語を無視することを許容することでカバレッジを向上 • 200 個くらいのルールを作成

  9. ① 提案手法: ラベル関数生成 • ボトムアップにルールを当てはめてゆく • 単語を無視することを許容することでカバレッジを向上 • 200 個くらいのルールを作成

  10. ① 提案手法: ラベル関数生成 • ボトムアップにルールを当てはめてゆく • 単語を無視することを許容することでカバレッジを向上 • 200 個くらいのルールを作成

  11. ② 提案手法: 関数フィルタ • ラベル関数生成で得られた関数 は高カバレッジだがノイジー • 2 つのフィルタで不必要な関数を 除去

    • Semantic ( 意味 ) filter – ラベル関数とアノテータのラベル付 与が不整合したら除去 • Pragmatic ( 実用 ) filter – 大多数のデータに同じラベルをつけ てしまう関数を除去 – 他の関数と ( ほぼ ) 同じ結果を返す 関数を除去 人物 1 ” の右に his wife” という単語列がある 人物 1 ” の真左に his wife” という単語列がある
  12. ③ 提案手法: ラベル集約 • 全ての(正解がない)データにラベルを付与する • ラベル関数によっては矛盾する • 尤もらしいラベルを決めたい •

    単純な多数決は失敗する ラ ベ ル 関 数 j データ(文) j
  13. ③ 提案手法: ラベル集約 • 正解ラベルを とする(未知) • ラベル関数の信頼度 w と正解ラベル

    Y を 最尤推定する ラ ベ ル 関 数 j データ(文) j 重み(直感的には信頼度) ラベル関数による付与結果 特徴量
  14. 実験:方法 • 3 つのデータセットで実験 – Spouse: ハイライトされた 2 人の人物が配偶者同士か否か –

    Disease: ハイライトされた化学薬品がハイライトされた病理を引き起こすか否か – Protein: ハイライトされた kinase(?) がハイライトされたタンパク質に影響するか (?) • 分類器としてルール特徴量 + ロジスティック回帰を使用 • 30 個の正解データ+根拠をデータセットごとに取得 – 60 個の正解データを作るのと同程度の時間ですんだとのこと
  15. ① 実験:結果 • 時間効率にして最大 100 倍 (Spouse) ほど効率化 • 正解データを増やしてゆくといつかは負ける(当然)

    普通のラベル付与 提案手法
  16. ② 実験:結果 • 提案手法により間違ったラベル関数のうち 95% が除去できている – 関数フィルタは重要 • この程度であればラベル関数生成の失敗は最終精度に影響しない

  17. ② 実験:結果 • 根拠からラベル関数を作るのではなく、特徴量抽出器を作った先行研究と 比較 • 十分な正解なしデータさえあれば提案手法のほうが有効

  18. 参考:根拠の例