日曜プログラマの素人が深層学習で自然言語系を使ってみた感想

本業はキャラクターの運営をしております。
8
oda@ずんずんPJ運営 @oda_yasuo

最近のチャットボット、めちゃくちゃ賢くなっています。

2016-09-20 00:41:56
oda@ずんずんPJ運営 @oda_yasuo

なぜかというと深層学習、いわゆる最近流行りの人工知能を使っているからだったりします。

2016-09-20 00:42:25
oda@ずんずんPJ運営 @oda_yasuo

そういえば10年以上前に「人工無能」っていうチャットボットが流行りましたね。 猫の人工無能と会話した記憶があります。

2016-09-20 00:43:07
oda@ずんずんPJ運営 @oda_yasuo

人工無能は会話に対して提携の言葉、たとえば「こんにちは」とかに対して定型文の「こんにちは」とかを返していました。

2016-09-20 00:44:01
oda@ずんずんPJ運営 @oda_yasuo

これ、さすがに人工無能と言うだけ会って、こんにちはをこっちもさらに返すとずっと相手もこんにちは、を続けたわけです。

2016-09-20 00:44:47
oda@ずんずんPJ運営 @oda_yasuo

ところが、最近のチャットボットは優秀で別の言葉をいってきたり(今日はいい天気ですねとか)、場合によっては質問を投げてきたりします。

2016-09-20 00:45:23
oda@ずんずんPJ運営 @oda_yasuo

さらに質問に対して回答するともう少し深掘りしてきたりと、どこまで賢くなったんだ、と思わせてくれます。

2016-09-20 00:45:45
oda@ずんずんPJ運営 @oda_yasuo

これが深層学習の成果なのですが、自然言語系のニューラルネットワークに「やりとりや文章の順番」のパラメーターが入っているからです。

2016-09-20 00:46:42
oda@ずんずんPJ運営 @oda_yasuo

要するに、これまでのやりとりとか覚えてそれに対して回答する、という技をやってくれるのです。

2016-09-20 00:47:16
oda@ずんずんPJ運営 @oda_yasuo

「人工知能でコールセンターなくなる」といっている人が多いのはまさにこの「順番を考慮する自然言語処理ができるようになった」からなんです。

2016-09-20 00:48:12
oda@ずんずんPJ運営 @oda_yasuo

また、翻訳の精度が深層学習で著しく上がるとか言われているのも、言葉の順番も学習に組み込まれると前後の文脈も含めて翻訳してくれるから、なんです。

2016-09-20 00:48:56
oda@ずんずんPJ運営 @oda_yasuo

この辺まで来ると、もうプログラミングでは追いつかないところですよね。 前後のことまで考慮してパターンを作ったらいつまで経ってもプログラム開発が終わりません。

2016-09-20 00:49:36
oda@ずんずんPJ運営 @oda_yasuo

これまでのプログラム開発は数量や提携データを扱うのが得意でしたが、深層学習では自然言語や画像、動画を使うのが得意になります。 データの順番を含めて文脈も読み取れるようになってきたんです。

2016-09-20 00:51:53
oda@ずんずんPJ運営 @oda_yasuo

私が使ったニューラルネットワークはWord2vecというもので結構基本的なもののようです。 ニューラルネットワークはどんどん新しいものとか、学習スピードがよい物がでてきているのでその辺のサンプルをもらってきて使うとよいと思います。

2016-09-20 00:54:21
oda@ずんずんPJ運営 @oda_yasuo

ちなみに、深層学習を使ってみた経験についてはこちらで書いているのでよかったら見てみてください togetter.com/li/1026065

2016-09-20 00:54:57