見出し画像

人工知能で映画の感想を読むには?

昨日は東大のディープラーニングの講義だった。早いものでもう9回目。内容はとうとう自然言語処理までたどり着いた。そう、これがやりたかったのだ。

今回の内容は、映画の感想サイトIMDbに集まったコメントを分析するというものだった。具体的には、映画についた感想コメントを「ポジティブ」なものと「ネガティブ」なものに分類する。

コメントはたとえばこんな文章だ。

What else needs to be said? Anyone that knows anything about filmmaking knows that this is the best film ever made. Try watching certain movies over and over and see how quickly you get sick of it. This movie is different.

これは「バック・トゥ・ザ・フューチャー」についての感想なんだけど、人間が読めば、すぐに「ポジティブ」であることがわかる。しかし、これをコンピュータが判断するのは意外に難しい。

まず、1文目にはたいした情報がない。2文目には”best"とあるから、辞書があればポジティブと判断できそうだ。しかし3文目には”sick"というネガティブな単語がある。このままでは迷ってしまうので、構文解析をして意味をたどるか……というのが、いままでの自然言語処理のプログラミングだった。

しかし、今回はそういうことをまったくしていない。辞書などは一切なく、文法も教えていない。ただデータとして、ポジティブなコメントとネガティブなコメントを2万件ずつ、RNNというニューラルネットワークに放り込んで、15分くらい学習させただけだ。それで識別率は8割を超える。ディープラーニング、やっぱりすごいわ。

プログラムの長さは、200行程度。やっていることの難易度と比較すると、驚異的に短い。今回はTensorflowというGoogleのAIライブラリを使ってるんだけど、Kerasというライブラリを使うと、同じものが50行くらいで書ける。ここまでくると、いっそGUIにしたらいんじゃね?とすら思う。

というか、この感覚はたぶんあっていて、そのうち研究者以外はGUI的なインターフェースでAIを作るようになるんじゃないかな。そうなるとものをいうのは、データと、やりたいことと顧客だろう。それぞれのビジネスのお客さんのことをよく見て、なにをしたいかを考えるのが大事だ(←すごく普通のことを書いてるけど、でもそうなんだよきっと)。

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理

今週はこの本を。そのものずばりで、TensorflowとKerasによるディープラーニングについて解説してある。超基本から最後はRNNまでたどり着く。「ゼロから丁寧に」と言っているだけのことはあって、必要な数学についてもそのつど解説している。高校の理系数学くらいの知識があると、なんとか、ぜんぶ読めるだろう。とはいえ、数式を飛ばして読んでも、ディープラーニングのやり方はわかるので、そういう使い方もありだと思う。

東大の講義、来週はRNNの進化系のLSTM。ここまでくると、なんでもつくれるようになる(気がしている)。めっちゃ楽しみ!

読んでくださってありがとうございます。サポートいただいたお金は、noteの他のクリエイターのサポートに使わせていただきますね。