原文
NNを使った、速く正確な依存構文解析 (A Fast and Accurate Dependency Parser using Neural Networks)
Danqi Chen (2014)
1. 要約/背景
- (普通の文章で)単語のデータ整形に工夫をして、データ間の依存性とスパース性を高めた。
- 以上の処理をもとに、NNにかけると、学習のスピードと精度が上がった。
2. 骨子の理論
(1)データの準備
Sentense(文)を単語・POS(Part-of-Speech)タグ・Arc量に分解する。
POSタグは、各単語に固有のものが振られる。2語or3語間の関係や依存性を捉える上で、大きな役割を果たす。(下図のVBZとか)
Arcは、単語間の遷移・移動を表す情報量。文法的な性質や操作の内容を内包しており、Parseにかけるときの実行的役割を果たす。
例:amod: adjective modifier形容詞・修飾機能を捉えるarc
(2)Parse作業の場
作業場(Stack)と、待合室みたいなBufferを用意し、適宜2集合間をShift(≒Transition)させ、Parseを進める。
(3)学習方法
Words、POSタグ、arc labelを入力ベクトルに格納し、NNにかける。
softmax関数によるクラス分類を通して、アウトプットと教師ラベルを比較していく。
(4)活性化関数
$y = x^3$という3次関数を使っているところに特徴がある。
3語間の特徴を捉えたりするときに、当てはまりが良いらしい。
3. モデル適用例
Maltというパフォーマンスの良いParseアルゴリズムがあるが、
Maltと正答率が拮抗する上に、1秒辺りの処理文数が2倍近くにのぼっており、処理能力の高さが伺える。