GCP(Google Cloud Platform)の自然言語処理(NLP:Natural Language Processor)に挑戦したのは、生徒ではなく私です。
最近、慣れないpythonやGoogle Cloud Platformを使って、自然言語処理(Natural Language Processor)に挑戦しています。
正直、自然言語処理についてもよく理解していませんので、いじりながらどんなことができるかを理解していきたいと思っています。
まだサンプルプログラムを眺めていじっている段階です。
サンプルプログラムを動かす前にGCPの仕組みがわからな過ぎて挫折しそうでしたが、次から次へといじくり倒して何とか動くところにこぎつけました。
まだまだ全然わかっていませんが、やっとの思いで動いたのでとても嬉しいです。
感情解析
Pythonのサンプルプログラムを実行して、自分が書いた文を感情分析させると点数をつけてもらえます。文はプログラム実行時にコマンドラインから読み込ませます。
ファイルから読み込ませるのも簡単だと思いますが、これが今の精一杯(w
実行するとすぐに結果が出てきます。
magunitudeは感情の強さを表していて、scoreが点数になっています。
「今日はとってもいい天気。」
という文を感情分析すると、
感情の強さが0.6999pt
点数も0.6999pt
と感情の強さも点数も一緒です。
これだけだと感情分析のすごさがわからないので、もうちょっと分かりやすくしましょう。
「今日はとってもいい天気。晴れは苦手なんだよね。最悪。」
とすると、全体のスコアが、-0.2pt
全体のマグニチュードが2.30…pt
「今日はとってもいい天気」 スコア 0.69..pt /マグニチュード0.69..pt
「晴れは苦手なんだよね。」 スコア -0.60..pt /マグニチュード0.60..pt
「最悪。」 スコア -0.80..pt /マグニチュード0.80..pt
となって、このグチグチした文はネガティブっぽいスコアがつけられます。
こう見ると、マグニチュードはスコアの絶対値をとってこの文章全体の感情の強さを表していることが分かります。
解釈については、Natural Language APIの基本に出ています。
面白いのは我々は感情分析として喜怒哀楽にわけることを思い浮かべますが、Natural Language APIでは感情はポジティブ、ネガティブ、ニュートラルの3つ。
ポジティブな言葉とネガティブな言葉が同程度入った文スコアは0。
特に感情が入っていない言葉でもスコアは0。
数値的に表すうえではこれが無難なところでしょう。
使いどころは今一つ分かりませんが、やっているうちに使いどころが見えてきそうなのでもうちょっとやってみたいなと思ってやってみました。
Google Cloud Platformは最初の12か月は300$の無料枠や、APIによって使用回数などで無料枠があるので気軽に試せるのがうれしいところです。
いろいろなAPIがあるので試したいですね。