2014年3月11日火曜日

自然言語処理の最先端 word2vec

こんにちは。
株式会社Pro-SPIREソリューション事業部の藤野です。

みなさんは自然言語処理という言葉をご存知でしょうか。

自然言語とは、自然発生的に形成されていった言語のことを指します。
私たちが通常使っている日本語や英語などです。

これに対する単語として人工言語がありますが、
これはプログラミング言語のように人工的に設計された言語のことを指します。

つまり自然言語処理とは、人間が通常使っている言語をコンピューターに処理させる技術のことです。


自然言語処理 とは - コトバンク - Kotobank
http://kotobank.jp/word/%E8%87%AA%E7%84%B6%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86

有名な自然言語処理ツールとしては、iOSのSiriやGoogleの音声検索などが挙げられますが、
今回はその最先端の技術として、Googleが公開しているword2vecというものをご紹介します。

word2vec - Tool for computing continuous distributed ... - Google Code
https://code.google.com/p/word2vec/

このword2vecは自然言語の意味を加算したり減算したりすることができます。
例えば、「東京」から「日本」を引き、「フランス」を足すという指示を出すと
「パリ」という結果が得られます。

他にもいくつかの例がこちらにございます。
https://plus.google.com/107334123935896432800/posts/JvXrjzmLVW4

人間の脳の神経回路のように複雑な構造を目指した技術、Deep Learningを用いて
2つの単語のベクトルの類似点を導き出すというのです。

関連した単語を予測する技術はこれまでにもありましたが、
単語の意味の間を読み取る技術は初めて聞きました。

間を読むということは、ちょうどいい妥協案を考える人間特有の「空気を読む」ということだと思います。
コンピューターはどんどん人間に近づいてきますね。

参考にword2vecを実際に使用してみた人のブログです。
みなさんも試してみてはいかがでしょうか。

自然言語処理をなにも知らない私がword2vecを走らせるまで: 最尤日記
http://saiyu.cocolog-nifty.com/zug/2014/02/word2vec-1867.html

0 件のコメント:

コメントを投稿