Deep-learningはラテン語の動詞活用を学習できるか? Can deep-learning learn latin conjugation?
工藤さんがぐぐたすで紹介してた word2vec が面白そうだったので。
https://code.google.com/p/word2vec/
で少し遊んでみた。いわゆる deep learning で 単語のベクトル表現を学習してくれる。
面白いのは、2つのベクトルの差が、2つの単語の関係をよく近似してくれること。
It was recently shown that the word vectors capture many linguistic regularities, for example vector operations vector('Paris') - vector('France') + vector('Italy') results in a vector that is very close to vector('Rome'), and vector('king') - vector('man') + vector('woman') is close to vector('queen')
日本語のコーパスを mecab で解析して、何個か試してみた。うまくいった例を抜き出したとはいえ、それっぽい結果が得られた。いいじゃん。
A B C → X (A → Bの関係に対し、 C → X に当てはまるXを探す)
グーグル ヤフー トヨタ → 日産
工藤さんが「word2vecで少し遊んでみた」Google+のエントリ
渋谷 新宿 札幌 → 旭川
警察 泥棒 正義 → くそ
...
word2vecで遊んでみた。2つの単語のベクトルの差が2つの単語の関係を学習している点が非常に面白い。 何個か試したけらそれっぽい結果が得られた。 https://t.co/WEZjZfg9MN
— Taku Kudo (@taku910) 2013, 8月 28
word2vec は単語をベクトル表現にするだけだけど、deep learningがNLPにどう貢献するかっていう問いに対するベストアンサーだと思う。 実用性や扱いやすさという点で抜群に良いし、機械学習タスクの素性として使うだけでも精度向上が見込めそう。
— Taku Kudo (@taku910) 2013, 8月 29
だって可能性感じたんだ
そうだ…ススメ!