emnlp2014読み会 徳永
TRANSCRIPT
A Fast and Accurate DependencyParser using Neural Networks
Danqi Chen and Christopher Manning
2014/11/22 EMNLP2014読み会@PFI
読む人:徳永拓之
自己紹介:徳永拓之
● twitter: @tkng● Preferred Infrastructure勤務(この会場)
● オンライン機械学習という本が出ます○ 海野, 岡野原, 得居, 徳永の4人で執筆中
もしCRFがわからない人は…
CRF, viterbi, forward-backwardなど載ってます
電子書籍版が出ます
A Fast and Accurate DependencyParser using Neural Networks
● 係り受け解析の話● Transition based parserの分類器をニューラル
ネットにしたら性能が3%ぐらい上がった
Transition based vs Graph based
● Transition based: 速いが性能がちょっと悪い● Graph based: 遅いが性能がちょっといい
Transition based parsingのやり方
● スタックに単語を積み、分類器で次にどうするかを決める○ Shift: バッファからスタックに単語をひとつ積む○ Arc: スタックから単語を取り出してArcを張る
■ Left-Arc, Right-Arcの2種類がある● スタックのどこから単語を取り出すかが変わる
● 詳しくは著者のスライドで
既存のTransition based parserの課題
● 素性がスパースである
○ 似た単語、似た品詞がまったく違う表現になる
● 手作業で作った素性は不完全である
○ エキスパートが作った素性にも見落としがある
● 計算コストが高い
○ feature stringを作ってハッシュテーブルをlookupしない
といけない
○ 正直、ここは実装の問題じゃないかと思う
本論文の手法
● 分類器をNNで置き換える○ これまではSVMとかを使うのがメジャー
● 前ページの問題を解決するためにいくつか工夫がある
分類用NNの構成
● 3層のニューラルネット○ 1層:単語の分散表現○ 2層:hidden layer○ 3層:softmax
● 学習はback propagation, 学習率はAdaGradで調整○ 第1層はあらかじめword2vecで学習させておく
ポイント
● 入力は文ではなく文脈なので可変長の入力を
扱う必要はない
● 単語だけではなく、品詞、依存ラベルもd次元の
低次元密ベクトルに変換する○ 似てる品詞とかの情報を使える
ポイント2: cube activation function
● 隠れ層のactivation functionにcube activation functionを使う
● cube: f(x) = x^3● 説明を読んでも発想が理解できない…
○ どっから考えついたのか謎
ポイント3: キャッシュ
● ある単語がコンテキストに出現した場合に、第2層(隠れ層)に対する入力がどうなるかは事前に計算できる○ 単語の数は上限があるのでキャッシュ可能○ 8〜10倍ぐらいの高速化
● ACL2014のベストペーパーも同様のテクニックを用いていた
実験結果:他手法との比較
実験結果:cube activation
0.8〜1.2%ぐらい性能が向上している
実験結果:word2vec vs random
第1層をword2vecで初期化すると0.7〜1.7%の性能向上
実験結果:POS embedding
CTBだと10%ぐらい性能向上
POS embeddingの視覚化
まとめ
● Shift-reduce型の係り受け解析器で分類器をNNにすると性能が上がる
● MSTパーサーと同じぐらい精度がよくて、速度は100倍ぐらい速い
● cube activationは簡単だし、1%とか性能上がるみたいなのでおいしいかも
● POS embeddingは使える時が限られそうだがよく効く
ネット上からの感想
● キャッシュなしだと5倍ぐらい遅くなっているので、速くなったというのはアンフェア○ http://nlpers.blogspot.jp/2014/11/emnlp-2015-paper-list-with-mini-
reviews.html
● 密ベクトルにすることで、今後はGPUでの高速化が期待できる○ https://twitter.com/yoavgo/status/528625970752667648
感想
● 第1層をword2vecで初期化するのは、言われてみれば当たり前だが、他の論文で見たことがなかったので感心した○ 単にpretrainだよねというとまぁそうなんだけど
● 結局、Deep Learningではない● 小難しいことをしてないのが好印象