himkt / survey

3 stars 0 forks source link

[Reading] CAN-NER: Convolutional Attention Network for Chinese Named Entity Recognition #27

Open himkt opened 4 years ago

himkt commented 4 years ago

CAN-NER: Convolutional Attention Network for Chinese Named Entity Recognition

himkt commented 4 years ago

一言で

文字ベースの特徴量を使って中国語の NER の性能を改善した研究.

himkt commented 4 years ago

概要

単語レベルの特徴量に頼らずに文字レベルの特徴量のみから NER をしたいというモチベーションが 背景にある手法.中国語は単語分割を間違えると大きく単語の意味が変わってしまったり文字種の多さに 起因する OOV の問題があるので,できるだけ学習済みの単語分散表現のような特徴量に頼りたくない. (日本語もある程度同じことが言えそうだけど,文字種を考えると中国の人たちの方が切迫してそう)

文字特徴量のみ (外部リソースなし,学習済みの分散表現もなし!) でモデルを作っていて, 文字レベルの local-attention と単語レベルの self-attention でそれぞれ局所的・大域的な 情報を考慮している!という主張.

モデルの全体像は↓の通り. Character Feature Embedding -> Convolution Attention -> BiGRU -> Global Attention -> CRF

Screen Shot 2019-09-06 at 20 35 28

Char Feature Embedding

3種類の特徴量を結合して文字特徴量が作られている. Untitled

Convolution Attention

Char Feature Embedding を Attention Layer に入力する. Attention Layer の出力は k 次元 (window size) のベクトルであり,各要素は以下のようにかける.

Sum-Pooling を行なって k 個の Attention Layer の出力を1つのベクトルにまとめる. Sum-Pooling ってこういう感じで書くんですね.

Screen Shot 2019-09-06 at 21 10 23

BiGRU -> Global Attention -> CRF

得られた単語特徴量を BiGRU に入力し,出力を Self-Attention Layer に入力する.h^g_j を BiGRU の出力 (の j 番目) とすると以下のようにかける. スコア関数は Convolution Attention Layer で使われているものと同様. (パラメータが異なるだけ) Untitled 出力を CRF に入力する.このへんは一般的な LSTM-CRF との違いはない.

himkt commented 4 years ago

データ

OntoNotes, MSRA, Weibo, Chinese Resume の 4 種類の中国語のデータセットで実験をしている. Screen Shot 2019-09-06 at 21 30 17

himkt commented 4 years ago

実験結果

どの実験データにおいても既存手法と同等もしくはそれ以上の性能が確認できた. OntoNotes の F値最高の [Yang+, 2016] の手法は 離散的な特徴量 (品詞タグや単語分割特徴量,綴りの特徴量) を使っているために提案手法よりも 性能がよい,と指摘している.(でも提案手法も単語分割特徴量使ってるような)

  1. Weibo

    Screen Shot 2019-09-06 at 21 31 55
  2. Resume

    Screen Shot 2019-09-06 at 21 32 10
  3. OntoNotes

    Screen Shot 2019-09-06 at 21 33 00
  4. MSRA

    Screen Shot 2019-09-06 at 21 33 19

また,Attention の出力をヒートマップを用いて可視化すると Local Attention/Global Attention はそれぞれ以下のようになった. Local Attention は単語の構成要素となる文字の間の Attention Weight の値が高くなり, Global Attention は遠距離の関係する単語間の Attention Wight の値が高くなっている.

Screen Shot 2019-09-06 at 21 38 37
himkt commented 4 years ago

コメント

外部特徴量一切なしでも既存手法に勝てるのは興味深いと思った. whitespace で区切られている言語に適用したいと思ったらどうすればよいだろう? whitespace も文字とみなしてまとめて Convolution Attention に入力すればいいのかな.

英語はともかく日本語はまったく同じ設定で提案手法を適用することが可能なので, 機会があったら使ってみたいと思う. (学習済みの分散表現が利用不可能な状況はあまり想像できていない)

GRU を使っているのは何故なんだろう?速度的な理由なのかな.