こんな夢を見た

修士学生による自然言語処理研究の記録。主にDeep LearningやEmbedding関連論文の軽い自分用まとめとして。内容に誤りが含まれている場合があります。お気軽にご指摘ください。

Two/Too Simple Adaptations of Word2Vec for Syntax Problems

Two/Too Simple Adaptations of Word2Vec for Syntax Problems
Wang Ling, Chris Dyer, Alan Black, Isabel Trancoso, 2015, NAACL

word2vecの統語性のための、2つの単純な改造。
謙虚と洒落を兼ね備えたタイトルかっこいい。

word2vecはskip-gramにせよCBOWにせよ、窓範囲内の文脈(単語)を語順考慮なく扱って学習するし予測する。それだと意味的な分布は捉えやすくとも、統語性を捉える作用が悪い。品詞タグ付けや構文解析の素性とかにword2vec使う場合は、統語性が強く入るようなもっと良い学習法があるのでは、という話。

タイトルで言っているとおりで、ものっすごいシンプルなアイデア。というか、これ今までやられていなかったのか……?という感じ。自分が最初word2vecを知ったときにモデルを誤解していたがその誤解モデルこそがこのモデルだった、というくらい自然も自然なモデル。

以下説明。(文脈窓を+-2として説明)

CBOWの改造→CWINDOW:
周辺単語(w-2,w-1,w+1,w+2)から中心単語(w0)を予測するときに、各周辺単語ごとに(位置によって)異なる重み行列をかけて、その和を予測w0'とする。(実装上は、各重み行列を1つに連結したようなものを、周辺単語ベクトルの連結にかける)

Skip-(N)gramの改造→Structured Skip-Ngram:
中心単語(w0)から周辺単語(w-2,w-1,w+1,w+2)を予測するときに、各周辺単語の位置ごとに異なる重み行列で、それぞれw-2',w-1',...のように予測ベクトルを作成する。中心に近い単語の方が正確な予測が行えるようになってほしいため、学習事例の周辺単語を適当に(中心側の事例が多くなるように)サブサンプリングしているらしい。

なお、学習速度というか、単語を処理する速度はどちらも元祖に比べて半減〜1/3ほどになっていた。

実験では品詞タグ付け(Collobertら(2011)の多層パーセプトロン)とDependency Parsing(Chenら(2014)のNN)をやって、確かに少し精度が上がっていた。ただし、少し。データセットによってはかなり微量。意味的な方への実験は、幾つかの単語に対してk-近傍の単語をリストアップして定性的な分析をちょろっとしているだけ。意味的性質は結構悪くなっているように見える。そのせいかいつものアナロジータスクとかはやっていない。残念。