$30 off During Our Annual Pro Sale. View Details »

知識ベースの自然言語処理への活用

 知識ベースの自然言語処理への活用

招待講演: 第22回音声言語シンポジウム兼第7回自然言語処理シンポジウム
https://www.ipsj.or.jp/kenkyukai/event/nl246slp134.html

Ikuya Yamada

March 18, 2021
Tweet

More Decks by Ikuya Yamada

Other Decks in Research

Transcript

  1. 山田 育矢 (Ikuya Yamada)

    Studio Ousia / RIKEN AIP

    知識ベースの自然言語処理への活用


    View Slide

  2. 自己紹介

    山田 育矢 (@ikuyamada)

    Studio Ousia 共同創業者 Chief Scientist

    理化学研究所AIP 客員研究員

    ● 大学入学時に、学生ベンチャー企業を起業し売却(2000年〜2006年)

    ○ インターネットの基盤技術(Peer to Peer通信におけるNAT越え問題)の
研究開発を推進

    ○ 売却先企業は株式上場

    ● Studio Ousiaを共同創業し、自然言語処理に取り組む(2007年〜)

    ○ 質問応答を中心とした自然言語処理の研究開発を推進

    ● プログラミングが好き(特にPython)

    ○ よく使うライブラリ:PyTorch、PyTorch-lightning、transformers、AllenNLP、

    Wikipedia2Vec(自作)

    2

    View Slide

  3. 本講演の概要

    ● Wikipedia等の知識ベースに蓄積されている情報(知識)を

    ニューラルネットワークの自然言語処理で有効に活用する方法を紹介

    ● 知識ベースのエンティティに関する情報をベクトルに集約する

    エンティティエンベディングの手法について解説

    ○ 静的なエンティティエンベディングとその活用

    ○ BERTを用いてエンティティエンベディングを計算する方法

    ○ BERTをエンティティの情報を用いて拡張する方法

    3

    View Slide

  4. 知識ベースの例

    ● 百科事典

    ○ Wikipedia

    ○ Wikitionary

    ○ Wikia (Fandom)

    4
    ● 知識グラフ

    ○ Wikidata

    ○ DBpedia

    ○ YAGO


    View Slide

  5. 知識ベースの例

    ● 百科事典

    ○ Wikipedia

    ○ Wikitionary

    ○ Wikia (Fandom)

    5
    ● 知識グラフ

    ○ Wikidata

    ○ DBpedia

    ○ YAGO

    本講演では主にWikipediaを知識ベースとして使った方法を解説します

    View Slide

  6. Wikipedia: タイトル

    6
    タイトル


    View Slide

  7. Wikipedia: 本文テキスト

    7
    タイトル

    本文テキスト


    View Slide

  8. Wikipedia: ハイパーリンク

    8
    タイトル

    本文テキスト

    ハイパーリンク


    View Slide

  9. Wikipedia: インフォボックス

    9
    タイトル

    本文テキスト

    ハイパーリンク

    インフォボックス


    View Slide

  10. Wikipedia: 言語間リンク・カテゴリ

    10
    カテゴリ

    言語間リンク


    View Slide

  11. 知識グラフ

    11
    Image: Nickel et al., A Review of Relational Machine Learning for Knowledge Graphs, ArXiv preprint 2015.

    ● 知識をエンティティ間の関係で記述

    ○ 例:Star Wars(エンティティ) → genre (関係) → SciFi(エンティティ)

    ● 知識グラフは頂点がエンティティ、辺が関係をあらわす有向グラフとしてあらわされる


    View Slide

  12. Wikidata

    ● 9000万以上の項目が登録されている世界最大級の大規模知識グラフ

    ● エンティティはWikipediaと紐付けられている

    12
    Wikipedia財団が運営する共同編集型の大規模知識グラフ
    Yoda(エンティティ)

    ↓

    occupation(関係)

    ↓

    Jedi Master(エンティティ)

    https://www.wikidata.org/wiki/Q51730 


    View Slide

  13. エンティティエンベディング

    13

    View Slide

  14. エンティティエンベディングとは

    ● エンティティを100〜1000次元程度のベクトルであらわす

    ● 単語エンベディング(例:Word2vec)と同様に機械学習のモデルに

    入力する特徴としてそのまま利用できる

    14
    エンティティエンベディング:エンティティに関する情報を格納したベクトル

    View Slide

  15. Wikipedia2Vecの視覚化

    Wikipedia2Vecのエンティティエンベディングを次元圧縮して視覚化

    15
    Yamada et al., Wikipedia2Vec: An Efficient Toolkit for Learning and Visualizing the Embeddings of Words and Entities from Wikipedia. EMNLP 2020.

    https://wikipedia2vec.github.io/demo/

    View Slide

  16. ● エンティティ名を単語として扱ってWord2vec (skip-gram) 等の

    単語エンベディングの訓練をエンティティアノテーション付きのコーパスで走らせる

    ● オープンソースの実装:

    ○ Wiki2vec:https://github.com/idio/wiki2vec

    ○ 日本語Wikipediaエンティティベクトル
    :http://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/

    エンティティエンベディングを

    Wikipediaから学習するベースライン

    16
    東京は日本の首都である
 ##東京都## は ##日本## の 首都 で ある

    Wikipediaのハイパーリンクを固有のトークンに置き換え 

    Wikipediaのハイパーリンクをエンティティのアノテーションと見なして訓練


    View Slide

  17. Wikipedia2Vec: 概要

    ● 3つの入力の異なるskip-gramモデルを同時に学習

    ○ Word-based skip-gram model: 近くにある単語のペアから学習 

    ○ Anchor context model: ハイパーリンク先のエンティティと周辺単語のペアから学習 

    ○ Link graph model: ハイパーリンクでつながったエンティティのペアから学習 


    17
    Yamada et al., Joint Learning of the Embedding of Words and Entities for Named Entity Disambiguation. CoNLL 2016.

    Yamada et al., Wikipedia2Vec: An Efficient Toolkit for Learning and Visualizing the Embeddings of Words and Entities from Wikipedia. EMNLP 2020.

    Wikipediaのハイパーリンクで接続されたエンティティのペアを入力として使って学習する

    View Slide

  18. ● pipで簡単にインストールできる

    ● Wikipediaダンプをダウンロードして、wikipedia2vec trainコマンドで高品質な

    エンベディングをすぐに学習できる

    ● 日本語、英語を含む12言語での訓練済みモデルが公開されていて、ダウンロードして

    すぐに使える(https://wikipedia2vec.github.io/wikipedia2vec/pretrained/)

    Wikipedia2Vec: 特徴

    18
    $ pip install wikipedia2vec
    $ wget https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2
    $ wikipedia2vec train enwiki-latest-pages-articles.xml.bz2
    Wikipedia2Vecをインストールしてエンベディングを訓練するコマンド 


    View Slide

  19. Wikipedia2Vec: 速度

    19
    Name Time
    Wikipedia2Vec (all models) 276min
    Wikipedia2Vec (word-based skip-gram) 154min
    Gensim (skip-gram) 197min
    fastText (skip-gram) 243min
    ● C++ (Cython)、BLAS、multiprocessingを用いて高速化

    ● 単語のみのskip-gramの実装としては、GensimやfastTextより高速

    ● 全てのモデルを用いて訓練した場合でもCPUで高速に訓練を行うことが出来る

    英語Wikipediaを入力として5エポックの訓練にかかった時間 

    Yamada et al., Wikipedia2Vec: An Efficient Toolkit for Learning and Visualizing the Embeddings of Words and Entities from Wikipedia. EMNLP 2020.

    View Slide

  20. Wikipedia2Vec: 活用事例

    20
    ● エンティティリンキング
    Yamada et al. (CoNLL 2016)
    Eshel et al. (CoNLL 2017)
    Chen et al. (ArXiv 2020)
    Poerner et al., (EMNLP 2020 Findings)
    ● 固有表現抽出
    Sato et al. (IJCNLP 2017)
    ● テキスト分類
    Yamada and Shindo (CoNLL 2019)
    Alam et al. (EKAW 2020)
    ● 関係分類
    Poerner et al. (EMNLP 2020 Findings)

    ● 質問応答
    Yamada et al. (NIPS Competition 2017)
    ● 知識グラフ補完
    Shah et al. (AAAI 2019)
    ● フェイクテキスト検出
    Ghosal et al. (iiWAS 2020)
    Zhong et al. (EMNLP 2020)
    ● プロットの解析
    Papalampidi et al. (EMNLP 2019)
    ● 対話型情報検索
    Rodriguez et al. (EMNLP 2020)

    View Slide

  21. 活用事例: エンティティリンキング

    21
    New Frozen Boutique to Open at Disney's Hollywood Studios
    ● エンティティリンキング: テキスト中のエンティティ名(メンション)を

    知識ベースのエンティティにリンクするタスク

    ● メンションは曖昧な場合があり(例:
    Frozen)、テキストのコンテキストと

    エンティティの情報の双方を使って解く必要がある

    Frozen (2013 film)
 The Walt Disney Company
 Disney’s Hollywood Studios


    View Slide

  22. 活用事例: エンティティリンキング

    ● 各メンションに対して正解のエンティティのエンベディングと

    BERTの出力単語エンベディングのコサイン類似度が高くなるように学習

    ● 同時にBIOラベリングによるメンション検出の学習も行う

    ● エンドツーエンドのエンティティリンキングでSOTA

    22
    Chen et al., Contextualized End-to-End Neural Entity Linking. ArXiv preprint 2020.

    BERTとWikipedia2Vecを組み合わせてエンティティリンキングを行う

    View Slide

  23. 活用事例: テキスト分類

    テキスト中に含まれるエンティティ集合を用いてテキスト分類を行う

    23
    ● 文書に含まれる単語集合(bag of words) の
    代わりにエンティティ集合(bag of entities)を
    用いる
    ● 文書から辞書を使ってエンティティの候補を抽出
    ● 抽出されたエンティティのエンベディングの
    重み付き平均で文書の特徴を作成する
    ○ アテンションを用いて文書と関連性の高い
    エンティティに重みがつくようにする
    ● bag-of-wordsとあわせて用いることでニュース記事の分
    類タスクでSOTA
    Yamada and Shindo, Neural Attentive Bag-of-Entities Model for Text Classification. CoNLL 2019.


    View Slide

  24. 24
    クラス毎にアテンションがどんなエンティティにかかっていたかを見てみると、
    クラスに関連するエンティティに注目できていたことがわかる
    Yamada and Shindo, Neural Attentive Bag-of-Entities Model for Text Classification. CoNLL 2019.

    View Slide

  25. 活用事例: Deepfake Detection (1/2)

    25
    ● テキストを機械で生成した場合、不適合なエンティティが文中に出現する確率が高い

    Zhong et al., Neural Deepfake Detection with Factual Structure of Text. EMNLP 2020.

    Deepfake detection: テキストが人間が書いたのか機械が生成したのかを判別する

    View Slide

  26. 活用事例: Deepfake Detection (2/2)

    26
    ● テキストが機械で生成されたかを検出するためにエンティティの情報を利用 

    ● 文書中のエンティティをグラフニューラルネットに入力し、文書レベルでのエンティティの一貫性を計測 

    ● Wikipedia2Vecを利用してWikipediaからの外部知識を導入 

    ● ベースライン(BERT、XLNet、RoBERTa)と比較して性能改善 

    Zhong et al., Neural Deepfake Detection with Factual Structure of Text. EMNLP 2020.


    View Slide

  27. BERTを使った動的な

    エンティティエンベディング

    Contextualized Entity Embeddings Based on BERT

    27

    View Slide

  28. BERT

    28
    ● 入力単語列(サブワード列)に対して文脈を考慮した単語エンベディング

    (contextualized word embeddings)を出力

    従来の単語エンベディング:1単語に1つのエンベディング

    BERT:入力毎に異なる単語エンベディング

    ● 文脈を考慮した単語エンベディングを出力する大規模ニューラルネットワークを

    大規模なデータで事前学習し、追加学習(転移学習)を行ってタスクを解く

    ● あらゆるタスクで高い性能を発揮し、自然言語処理の手法における標準的な選択に

    「文脈を考慮した」単語エンベディングを生成する訓練済みモデル

    View Slide

  29. ● 入力テキストに対して下記の2種類の処理を適用

    1. 入力テキストを単語(サブワード)に分割

    2. 入力エンベディングを計算

    ● 入力エンベディングは3種類のエンベディングを加算して計算される

    ○ トークンエンベディング:

    各単語に対して割り当てられたエンベディング

    ○ セグメントエンベディング:

    入力テキストが異なる種類で構成されている場合の範囲をあらわすエンベディング

    ○ ポジションエンベディング:

    各単語の入力テキスト上での位置をあらわすエンベディング

    BERTの仕組み (1/2)

    29

    View Slide

  30. BERTの仕組み (2/2)

    ● 入力エンベディングをTransformerに入力し、文脈を考慮した出力エンベディングを計算 

    ● Masked Language Model : 

    テキスト中の単語をランダムに隠して( [MASK]に置換して)、隠された単語を予測する 

    自己教師あり学習

    30
    Transformerベースのモデルに大規模な事前学習を適用する
    Transformer

    View Slide

  31. BERTからエンティティエンベディングを動的に計算

    ● 主な方法:

    ○ 入力単語列に特別トークンを挿入し(例: [ENT])、出力された単語エンベディングを使う(例: [CLS]
    の出力エンベディング、 [ENT]の出力エンベディング) 

    ○ 対象エンティティのスパン内の単語エンベディング(例:最初の単語)を使う 

    ○ 対象エンティティが含む単語エンベディングをプーリングしてエンベディングとして使う 

    ● テキストに含まれる情報と事前訓練で学習した情報の双方を使ってタスクを解くことができる 

    31
    Joshi et al., SpanBERT: Improving Pre-training by Representing and Predicting Spans. TACL 2019.

    Zhang et al., ERNIE: Enhanced Language Representation with Informative Entities. ACL 2019.

    (図はZhang et al,から引用)

    BERTを使ってテキスト中に出現するエンティティのエンベディングを計算する

    View Slide

  32. BERTはエンティティエンベディングとしては不向き?

    1. 事前訓練の問題: サブワードを隠す事前訓練でエンティティに関する知識を学習できるか

    ○ “o [MASK] no ##bu ##na ##ga”において
    [MASK] == ##daであることは文脈とは無関係に分かる

    2. 入力エンベディングの問題: エンティティに関する情報はサブワードのエンベディングに保持されることに

    なるが、サブワードの情報は十分に保持できるのか

    ○ エンティティ名は曖昧性の高い複数のサブワードに分割されてしまうことが多い

    (例: o ##da no ##bu ##na ##ga)

    3. 出力エンベディングの問題: エンティティのエンベディングをサブワードの出力エンベディングから

    計算するのは適切か

    ○ 特別トークンを入力に挿入する場合、特別トークンは事前訓練時には使用されていない
    
 32
    Akechi Mitsuhide killed Oda Nobunaga at the Honnō-ji temple

    ak ##ech ##i mit ##su ##hide killed o ##da no ##bu ##na ##ga at the hon ##no - ji temple

    ak [MASK] ##i mit ##su ##hide killed o [MASK] no ##bu ##na ##ga at [MASK] hon ##no - ji
    temple

    BERTで
    サブワードに分割
    ランダムな
    サブワードを隠して
    事前学習
    BERTやその類似のモデルでは、入力テキストはサブワードに分割されて入力される

    View Slide

  33. BERTの事前訓練を工夫する

    33
    ● Whole Word Masking: サブワード単位ではなく単語単位でマスクする

    (BERTの別バージョンとしてGoogleが公開)

    ○ 質問応答(SQuAD)、自然言語推論(MNLI)で性能改善

    ● SpanBERT: 連続した1〜n個(確率的に長さを選択)のサブワードを隠す 

    (Joshi et al., 2019)

    ○ 質問応答、関係抽出、GLUEタスクにおいて性能改善

    ● Salient Span Masking: 入力テキストに固有表現抽出器を適用して、検出された固有表現の
    範囲を全てマスクする (Guu et al., 2020)

    ○ 複数のオープンドメイン質問応答データセットにて性能改善

    Joshi et al., SpanBERT: Improving Pre-training by Representing and Predicting Spans. TACL 2019.

    Guu et al., REALM: Retrieval-Augmented Language Model Pre-Training. Arxiv preprint 2020.

    View Slide

  34. Pretrained Encyclopedia

    34
    ● 英語のWikipediaに含まれるランダムなエンティティ名を「同じ型の違うエンティティ名」に置換する 

    ○ Marvel Comics -> DC Comics 

    ● Wikipediaのハイパーリンクをエンティティのアノテーションとして利用 

    ● エンティティ名が置換されているかを予測する事前訓練タスクをBERTのMasked Language Modelに 

    加えることでBERTの性能を向上させる 

    ● エンティティの型推定および質問応答タスクで性能向上 

    Xiong et al., Pretrained Encyclopedia: Weakly Supervised
    Knowledge-Pretrained Language Model. ICLR 2020.


    エンティティの情報を使ってBERTの事前訓練を行う

    View Slide

  35. ● BERTの隠れ層をT-Encoder(単語のみを入力)とK-Encoder(単語とエンティティを入力)に分割

    ● K-Encoderからテキスト中に含まれるエンティティのエンベディングを入力として追加

    ● エンティティエンベディングは外部知識ベース(Wikidata)で別途事前訓練する

    ● 中間層の単語エンベディングとエンティティエンベディングから次の層に入力するエンベディングを

    計算するInformation Fusion層を提案

    ERNIE (1/2)

    35
    BERTを訓練済みエンティティエンベディングで拡張する
    Zhang et al., ERNIE: Enhanced Language
    Representation with Informative Entities. ACL
    2019.


    View Slide

  36. ● Wikipediaテキスト中のエンティティをランダムにマスクして予測する事前訓練を行うことで

    エンティティエンベディングをBERTに適合させる


    ● ダウンストリームタスクは、テキストからエンティティリンキングでエンティティを抽出して入力

    ● エンティティ関連タスク(型推定および関係分類)で性能向上

    ERNIE (2/2)

    36
    BERTを訓練済みエンティティエンベディングで拡張する
    Zhang et al., ERNIE: Enhanced Language
    Representation with Informative Entities. ACL
    2019.


    View Slide

  37. KnowBERT

    37
    ● BERTを事前訓練されたエンティティエンベディングを用いて拡張

    ● ERNIEとは異なりエンティティリンキングの機能がモデルに含まれている

    ○ 辞書を用いて生成されたエンティティ候補から、アテンションを用いて正しいエンティティを選択する

    ● 関係分類、エンティティの型推定、単語の曖昧性解消等のタスクで性能向上

    BERTを訓練済みエンティティエンベディングで拡張する
    Peters et al., Knowledge Enhanced Contextual Word Representations. EMNLP 2019.

    View Slide

  38. Entities as Experts (1/2)

    38
    BERTにエンティティエンベディングのエンベディングを付加する
    ● エンティティエンベディングを含めてBERTの事前訓練を最初から行う 

    ● BERTの隠れ層を2つのレイヤー群に分割 

    1. メンション検出(BIOタギング)、エンティティリンキングを行う 

    2. エンティティエンベディングを入力に追加して出力エンベディングを計算 

    ● KnowBERTと異なり、メンションの検出まで含めてモデルに含まれている 

    Fevry et al., Entities as Experts: Sparse Memory Access with Entity Supervision. EMNLP 2020.

    View Slide

  39. Entities as Experts (2/2)

    39
    BERTにエンティティエンベディングのエンベディングを付加する
    ● Wikipediaテキストを入力として、マスクされた単語の予測、メンション検出(BIOタギング)、 

    エンティティリンキングの3タスクで事前訓練 

    ○ メンション検出はWikipediaのハイパーリンクと固有表現抽出の結果を結合して訓練 

    ○ エンティティリンキングはWikipediaのハイパーリンクから訓練 

    ● オープンドメイン質問応答およびプロービングタスク(LAMA)で性能向上 

    Fevry et al., Entities as Experts: Sparse Memory Access with Entity Supervision. EMNLP 2020.

    View Slide

  40. CoLAKE (1/2)

    40
    BERTに知識グラフの情報を付加する
    Sun et al., CoLAKE: Contextualized Language and Knowledge
    Embedding. COLING 2020.


    ● 知識グラフから取得したエンティティと関係を入力トークンとして追加する 

    ○ 単語と同等に、エンティティや関係にもトークンエンベディングを割り当てる 

    ● テキストに含まれるエンティティを含むトリプル(エンティティ, 関係, エンティティ)を入力文に連結 

    ● 知識グラフから取得したトークンについてはアテンションの範囲を隣接したトークンのみに限定 


    View Slide

  41. CoLAKE (2/2)

    41
    BERTに知識グラフの情報を付加する
    Sun et al., CoLAKE: Contextualized Language and Knowledge
    Embedding. COLING 2020.


    ● 入力に含まれる単語、エンティティ、関係をランダムにマスクして予測することで事前訓練 

    ● エンティティの型推定、関係分類、プロービングタスク(LAMA)で性能向上 


    View Slide

  42. LUKE

    Language Understanding with Knowledge-based Embeddings

    42

    View Slide

  43. ● 単語だけでなくエンティティも入力トークンとして扱う

    ● 単語とエンティティをランダムにマスクして予測することで事前訓練を行う

    ● entity-awareなself-attention mechanismの改善

    LUKE: 概要

    43
    Input text w/ Wikipedia entity annotations: Beyoncé lives in Los Angeles
    エンティティに関連するタスクに特化して設計された事前訓練済み言語モデル
    Yamada et al., LUKE: Deep Contextualized Entity Representations with Entity-aware Self-attention. EMNLP 2020.

    View Slide

  44. LUKE: アーキテクチャ

    ● エンティティを入力トークンとして扱う

    ○ スパンレベルのエンティティエンベディングがモデルから直接出力される

    ○ エンティティ間の関係をTransformerの内部で直接モデル化できる

    44
    Input text w/ Wikipedia entity annotations: Beyoncé lives in Los Angeles
    Computing Input Representations

    View Slide

  45. ● トークンエンベディング: トークン(単語またはエンティティ)のエンベディング

    ● ポジションエンベディング: トークンの入力テキスト中の位置を表すエンベディング

    ○ エンティティ名が複数の単語を含んでいる場合には、エンベディングを平均する 

    ● エンティティ型エンベディング: トークンがエンティティであることをあらわす

    LUKE: 入力エンベディング

    45

    View Slide

  46. ● 単語の入力エンベディング: 

    トークンエンベディング + ポジションエンベディング

    ● エンティティの入力エンベディング: 

    トークンエンベディング + ポジションエンベディング + エンティティ型エンベディング

    LUKE: 入力エンベディング

    46

    View Slide

  47. LUKE: 事前訓練 (1/2)

    47
    Wikipediaのハイパーリンク を 

    エンティティのアノテーションと

    して扱う

    Wikipediaのハイパーリンクをエンティティのアノテーションとして使って
    単語とエンティティをランダムにマスクして予測する事前訓練を実施
    15%のランダムな単語および

    エンティティを[MASK]単語および
    [MASK]エンティティに置き換える

    Born and raised in Houston, Texas,
    Beyoncé performed in various singing
    and dancing competitions as a child. She
    rose to fame in the late 1990s as the
    lead singer of Destiny's Child
    Born and [MASK] in Houston, Texas,
    [MASK] performed in various [MASK]
    and dancing competitions as a [MASK].
    She rose to fame in the [MASK] 1990s as
    the lead singer of Destiny's Child

    View Slide

  48. LUKE: 事前訓練 (2/2)

    48
    ランダムにマスクされた単語とエンティティを予測する事前訓練を行う

    Wikipediaのハイパーリンクをエンティティのアノテーションとして使って
    単語とエンティティをランダムにマスクして予測する事前訓練を実施

    View Slide

  49. i番目とj番目のトークンに対応する重み (αij
    )は2つのベクトルの内積で計算される:

    入力ベクトル列 x
    1
    ,x
    2
    …,x
    k
    が与えられた際、i番目のトークンに対応する出力 

    ベクトル y
    i
    は全ての線形変換された入力ベクトルの重み付き和で計算される
    従来の方法:

    BERT (Transformer) のself-attention mechanism

    49
    ○ Qx
    i
    : クエリ行列Qと処理しているトークンのベクトル x
    i
    の積

    ○ Kx
    j
    : キー行列Kとアテンションの対象となるトークンのベクトル x
    j
    の積

    View Slide

  50. ● あり得るトークンのペア(x
    i
    , x
    j
    )の型に対して、異なるクエリ行列を用いるように
    self-attention mechanismを拡張する

    提案手法:

    Entity-aware Self-attention Mechanism

    50
    処理しているトークンの種類(単語かエンティティ)の情報を
    モデルが使えるようにself-attentionを拡張
    従来のself-attention mechanism Entity-aware self-attention mechanism

    View Slide

  51. 5つの異なるタスクでSOTAスコアを更新


    LUKE: 評価

    51
    Dataset Task
    Open Entity Entity typing
    TACRED Relation classification
    CoNLL-2003 Named entity recognition
    ReCoRD Cloze-style QA
    SQuAD Extractive QA

    View Slide

  52. LUKE: エンティティエンベディングの計算方法

    52
    ● 事前学習時に使った [MASK]エンティティを入力

    ○ 入力テキスト中からエンティティに関連する情報を集めてエンティティエンベディングを計算

    ○ 入力テキストに含まれるエンティティが未知の場合でも使用可能

    ○ 抽出型質問応答(SQuAD)以外の全てのタスクで使用

    ● Wikipediaのエンティティを入力 

    ○ 学習したエンティティのトークンエンベディングの情報を元にエンティティエンベディングを計算

    ○ 出力単語エンベディングの情報をエンティティエンベディングで拡張する

    ○ 抽出型質問応答(SQuAD)タスクで使用

    エンティティエンベディングは2種類の方法で計算できる

    View Slide

  53. LUKE: エンティティエンベディングの計算方法

    53
    ● 事前学習時に使った [MASK]エンティティを入力

    ○ 入力テキスト中からエンティティに関連する情報を集めてエンティティエンベディングを計算

    ○ 入力テキストに含まれるエンティティが未知の場合でも使用可能

    ○ 抽出型質問応答(SQuAD)以外の全てのタスクで使用

    ● Wikipediaのエンティティを入力 

    ○ 学習した入力エンベディングの情報を元にエンティティエンベディングを計算

    ○ 出力単語エンベディングの情報をエンティティエンベディングで拡張する

    ○ 抽出型質問応答(SQuAD)タスクで使用

    エンティティエンベディングは2種類の方法で計算できる

    View Slide

  54. 実験: エンティティの型推定、関係分類、穴埋め型質問応答

    54
    モデル:

    出力エンティティエンベディング+線形分類器

    モデルへの入力:

    ● 入力テキスト中の単語

    ● 入力テキストに含まれるエンティティのスパンに
    対応する[MASK]エンティティ

    エンティティの型推定、関係分類、穴埋め質問応答でSOTAスコアを更新
    Open Entityでの評価結果
    TACREDでの評価結果
    ReCoRDでの評価結果
    データセット:

    ● Open Entity (エンティティ型推定)

    ● TACRED (関係分類)

    ● ReCoRD (穴埋め質問応答)


    View Slide

  55. 実験: 固有表現認識 (CoNLL-2003)

    55
    モデル:

    1. テキスト中の全てのあり得るスパンをエンティティ名の候補とする 

    2. 線形分類器を用いて各スパンをエンティティ型(人名等)か non-entity型
    (エンティティ名ではないことを示す)に分類 

    3. 分類器のロジットを用いて貪欲にスパンを選択 

    線形分類器には下記の3つのエンベディングを連結して入力: 

    ● スパンに含まれる最初の単語のエンベディング 

    ● スパンに含まれる最後の単語のエンベディング 

    ● スパンに対応するエンティティエンベディング 

    モデルへの入力:

    ● 入力テキスト中の単語列 

    ● エンティティ名の候補に対応する [MASK]エンティティ

    CoNLL-2003 固有表現認識データセットでSOTAスコアを更新
    CoNLL-2003での評価結果

    View Slide

  56. 実験: 抽出型質問応答 (SQuAD v1.1)

    56
    モデル:

    出力単語エンベディングを入力とする線形分類器を

    2つ追加し、それぞれ解答の開始位置、終了位置を

    予測(BERTと同じモデル)


    モデルへの入力:

    ● 質問および対象パッセージに含まれる単語

    ● パッセージに含まれるエンティティ

    ○ 辞書ベースのエンティティリンキングで 

    自動でパッセージからエンティティを抽出 

    SQuAD v1.1抽出型質問応答データセットでSOTAスコアを更新
    SQuAD v1.1での評価結果
    Leaderboard上で一位を獲得

    View Slide

  57. アブレーション試験 (1): エンティティ表現

    57
    モデルにエンティティを入力せずにタスクを解いた場合、

    CoNLL-2003およびSQuAD v1.1にて顕著な性能低下が見られた


    View Slide

  58. アブレーション試験 (1): エンティティ表現

    58
    モデルにエンティティを入力せずにタスクを解いた場合、

    CoNLL-2003およびSQuAD v1.1にて顕著な性能低下が見られた

    [MASK]

    エンティティを入
    力

    Wikipedia

    エンティティを入
    力


    View Slide

  59. アブレーション試験 (2): Entity-aware Self-attention

    59
    オリジナルのself-attention mechanismと比較して

    entity-aware self-attention mechanismは全てのタスクで良い性能を獲得


    View Slide

  60. まとめ

    ● Wikipedia、Wikidata等の大規模知識ベースは自然言語処理の様々な

    タスクに有効に活用することができる

    ● 知識ベースの情報を用いてBERT等の大規模事前訓練済みモデルの性能を向
    上させる手法が多数提案されてきている

    60
    [email protected] @ikuyamada
    質問やコメント等は下記の連絡先までご連絡ください!


    View Slide