2018年4月30日月曜日

word2VecとfastTextはNLPの基礎

色々AIの調査をしているが、NLP関係で現在現場で一番活躍しているのは、このword2Vec(Vecと省略)とfastTextだと思う。
理由を上げてみると、

1.NN系のアルゴリズムを使っている。
2.GPUを利用しなくても動作する。
3.大量データを扱うのが目的。
4.趣味的にもNLP研究のツールとして使える。
5.ベクトル化、数値化した情報
6.オントロジーやタクソノミーとして利用できる。
7.生の文書(日本語は分かち書きが必要)を扱う。
8.他のAIツールのリソースの生成に役立つ。
9.NLPのDB(QAエンジン)としても使える?
10.利用するのが簡単
11.文法に関係している情報も分類できる
12.少量のデータでも利用が可能

もう既に誰にでも名前が知られたツールなのでここで説明をする必要がないのですが、大体自然言語の基礎的な情報を取得できる。
もしかしたら、他にも利用できることがあるかも?
どうやら、ググやYouTubeでも隠喩ですばらしさを表現している人も沢山いるので、あえて書きます。

Vecを実データで試してみると、明らかに文章中のベクトル化に成功していることに、まさしくマジックをみることになります。

一方OpenNMT(ニューロンを使った翻訳ツール)を試して見ると確かになるほどとは感じますが、NLPの分野では豊富なデータも個人では持っていないので、実用的なところまでは程遠いことを思い知ることろです。
もちろんAIの勉強にはなりますが、むしろGPUを自由に使えない環境では、ストレスを感じてしまいます。

現在大手がこのツールを使っていることは、想像するまでもありませんが、今後もこの分野がNLPの中心になっていくことと予想できます。
NMTで固定長、エンコードや文法問題を抱えたまま長文や文書全体の課題を、Vecが見事に解決してくれます。
現状はNMTが主流になっているようですが、Vecを何らかの形で連携することは必須と考えられます。

IT関係者でなくても誰でも恩恵が受けることが可能なツールで、是非一度お使いになることをお勧めします。
もしかして、「基礎に始まり基礎に終わる」てなこともありますよね。

追記:20180502
文法について使いたいならば、Doc2Vecをお薦めします。
文の中の語順を考慮していますので、より文法規則が正確に取得できているようです。

追記:20190518
NLPの基礎技術という考え方では、もう一つ重要な技術としては、SMTの分野で有名なMosesとGiza++があることを追加します。
これは、SMT翻訳とNMT系の翻訳とがお互いに協力弱点を補い合って行うことで、より完全な人間に近い翻訳ができるようになるからです。


0 件のコメント:

コメントを投稿