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

文献紹介:Dynamic Contextualized Word Embeddings

9e650916f36300d64c9c61eeb4ab697e?s=47 Taichi Aida
December 16, 2021

文献紹介:Dynamic Contextualized Word Embeddings

9e650916f36300d64c9c61eeb4ab697e?s=128

Taichi Aida

December 16, 2021
Tweet

More Decks by Taichi Aida

Other Decks in Research

Transcript

  1. Dynamic Contextualized Word Embeddings Valentin Hofmann, Janet Pierrehumbert, Hinrich Schütze

    ACL2021 論文紹介
  2. 概要 - 時期・分野情報を考慮(dynamic)しつつ、文脈を 考慮した単語ベクトルを獲得(contextualied)す る手法を提案 - 実験より、 - 時間情報のついたデータの MLM

    タスクで基盤となる BERT の ppl を少し改善 - 用例レベルで通時的な単語の意味変化を検出可能 2
  3. Dynamic Contextualized Word Embeddings - 時期・分野情報を考慮した単語ベクトル - 1単語1ベクトル(❌多義語) - 例)独立で学習して線形変換、動的な単語ベクト

    ルなど 3 Dynamic Word Embeddings (Bamler and Mandt, 2017)
  4. Dynamic Contextualized Word Embeddings - ❌時期間・分野間を区別せず、1つのモデル - 文脈を考慮した単語ベクトルを生成可能 - 例)ELMo,

    BERT など 4 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding (Devlin et al., 2017)
  5. Dynamic Contextualized Word Embeddings - 時期/分野間の関係を捉え、 文の情報を埋め込む - 両者の利点を持つ -

    最終出力は BERT →下流タスクにも応用可 5
  6. DCWE:全体の流れ 1. BERT の入力層から単語 ベクトル e を獲得 2. 分野 i、時期

    j のオフセットを 与え、時期・分野の情報を埋 め込む 3. BERT で前後k単語の文脈 の情報を埋め込む 6
  7. DCWE:全体の流れ 1. BERT の入力層から単語 ベクトル e を獲得 2. 分野 i、時期

    j のオフセットを 与え、時期・分野の情報を埋 め込む 3. BERT で前後k単語の文脈 の情報を埋め込む 7
  8. DCWE:オフセットの獲得方法 - 仮定1:平均0のガウス分布から生成される - λa が正則化と同じ役割をする(後述) (p(w|a) = N(w|0, a-1I)

    の logp = … + aw2/2) - 仮定2:前の時期から少しずつ動く - 前のオフセットを基に生成、ランダムウォーク - λw も正則化と同じ役割をする(後述) 8
  9. DCWE:オフセットの獲得方法 1. データセットから分野情報のグラフを作成 - 時期の情報は無視する - ノード:ユーザ / 分野 -

    辺:ユーザ間の関係 / 分野間の著者一致率 - グラフから node2vec を訓練しておく 9
  10. DCWE:オフセットの獲得方法 1. データセットから分野情報のグラフを作成 - ノード:ユーザ / 分野 - 辺:ユーザ間の関係 /

    分野間の著者一致率 2. 時期 j の Graph Attention Network で分野 i の 情報を獲得 - は 1. の node2vec から 3. Feed Forward Network からオフセット生成 10
  11. 訓練 - 損失関数: 11

  12. 訓練 - 損失関数: - Ltask:目的タスク(MLM, 分類など)に依存 - 最終的な出力は BERT の埋め込み

    - そのまま下流タスクに利用可能 12
  13. 訓練 - 損失関数: - La, Lw:正則化(オフセットの2つの仮定) - 仮定1:平均0のガウス分布から生成される - 仮定2:前の時期から少しずつ動く

    13
  14. 実験:マスク言語モデル(MLM) - MLM の perplexity を評価 - データ - ArXiv:2001〜2020年、論文の概要

    - Ciao:2000〜2011年、商品レビュー - Reddit:2019年9月〜2020年4月、ユーザの投稿 - YELP:2010年〜2019年、飲食店などのレビュー - 提案手法 DCWE と基盤となる CWE (BERT) を 比較 14
  15. 実験:マスク言語モデル(MLM) - MLM の perplexity を評価 - 多くのデータセットで既存の CWE の

    ppl (若干) 改善 15
  16. 実験:MLM の ablation - 時間、分野をそれぞれ取り除いてみる 16

  17. 実験:MLM の ablation - 分野の情報を取り除いても(SA)あまり変化はな い - 時間の情報を取り除く(TA)と悪化する 17

  18. 分析:単語の意味変化を検出 - 時間・分野の情報がない単語ベクトルと 各時期・各分野の単語ベクトルの類似度の 標準偏差を算出 - 高い→意味が変化してる? - reddit のデータを分析

    18
  19. 分析:単語の意味変化を検出 - 標準偏差が高い単語 isolating, testing - 平均より類似度が高いもの:通常の用例 19

  20. 分析:単語の意味変化を検出 - 標準偏差が高い単語 isolating, testing - 平均より類似度が低いもの:異なる用例 - 主にコロナ関連 20

  21. DCWE の応用 - 分野間の情報からグラフを作成 - 最終出力は BERT の埋め込み 上記の特徴から、論文内で 2つの応用を提案

    - 指定した単語の変化の 様子をグラフに可視化 - 時間情報つきのデータで 分類タスクを解く 21
  22. 応用1:指定した単語の変化の様子を分析 - 対象単語 k の最近傍 N 単語における単語 k’ の 順位

    r を使った類似度指標を定義 - N:最も近い - 0:そもそも最近傍 N 単語に k’ が出現しない - 各時期・各分野の k について、対応する時期の (全分野で平均した) k’ との類似度を計算 - 分野単位で作成したグラフで可視化 22
  23. 応用1:指定した単語の変化の様子を分析 - 対象単語 k:network, 類似度計算に使う単語 k’ :learning(ArXiv) - 2013年の時点で □CS,

    ◦Phy にあった(NN は 1980s か らあるため)が、類似度低め(薄い赤) - 2016年の転換期を検出できている 23
  24. 応用1:指定した単語の変化の様子を分析 - 対象単語 k:mask、類似度計算に使う単語 k’ :vaccine(Reddit) - 2020年3月に一気に広まる様子を捉える(らしい) 24

  25. 応用1:指定した単語の変化の様子を分析 - network (Arxiv), mask (Reddit) の時期変化 - random walk

    or random flights - walk:過去の時期のノードと隣接している割合 - flights:それ以外(1 - walk) 25
  26. 応用1:指定した単語の変化の様子を分析 - network: walk > flight, 徐々に研究が進む様子 - mask: walk

    < flight, コロナの急速な蔓延 26
  27. 応用2:レビュー分類 - データ:Ciao, YELP - 分類器:最終出力から予測する2層の FFN - Ltask: cross-entropy

    - 通常の CWE (BERT)から(若干)性能向上 27
  28. 結論 - 時期や分野間の情報を考慮(dynamic)し、文脈 の情報を考慮(contextualized)する単語ベクト ル獲得手法 Dynamic Contextualized Word Embeddings (DCWE)

    を提案 - 実験の結果より - 時期データに対応 - 意味変化もそれなりに捉えられる - 最終出力は BERT の埋め込み→下流タスクにも使える 28