【結論】単語感情極性対応表(ネガポジ辞書)による感情分析は使えない

【結論】単語感情極性対応表(ネガポジ辞書)による感情分析は使えない 機械学習

文章から感情を読み取れたら、面白そうだと思いませんか?
用途はいろいろとあるでしょうね。

実際、ビジネスでの利用シーンもよく聞かれます。
アンケート、レビューの自動的な読み取りなど。

だから、私も感情分析に興味を持って試行錯誤を繰り返しました。
今もまだ繰り返している最中です。

と言っても、感情分析をやり出してから数日しか経過していません。
しかし、使えない・やってはいけない感情分析のことは、わかりました。

それに関して、記事にまとめました。
その内容を読めば、感情分析の学習において無駄な時間を費やさずに済みます。

本記事の内容

  • 単語感情極性対応表(ネガポジ辞書)による感情分析は使えない
  • Google Cloud Natural Language APIとの比較
  • 人工知能APIの脅威と希望

それでは、上記に沿って解説を行っていきます。

単語感情極性対応表(ネガポジ辞書)による感情分析は使えない

単語感情極性対応表(ネガポジ辞書)による感情分析の結果については、以下をご覧ください。

上記の記事内においても、すでに「使えない」と結論付けています。
しかし、その時点ではその方法より使えるモノはわかりませんでした。

ここで機械学習について、整理しておきます。
機械学習には、大きく2つのフェーズがあると思います。

  • データ準備
  • 分析

このデータ準備の段階で、大抵は勝負が付くと感じています。

普通は、大量のデータを集めることなんてできません。
普通は、大量のデータにラベリングなんてできません。

データ自体は、APIやスクレイピングでなんとかなるでしょう。
しかし、ラベリングはなかなかそうはいきません。

分析自体は、次から次へと便利なモノが公開されています。
まずは、TensorFlow やPyTorchといった機械学習用のフレームワークです。

さらには、そのフレームワークを用いたコードがネットで公開されています。
つまり、データさえ準備できれば、あとは何とでもなります。

もちろん、それは感情分析にもあてはまります。
テキストとラベリングした情報(ネガティブ、ポジティブ)が必要となるのです。
それも大量に。

そして、単語感情極性対応表を用いた感情分析では、データを準備する段階で終了しています。
単語感情極性対応表を用いたラベリングは、それはそれは酷い結果です。
そのことは上記で挙げた記事内でご覧ください。

以上より、単語感情極性対応表(ネガポジ辞書)による感情分析は使えないと主張しています。

Google Cloud Natural Language APIとの比較

単語感情極性対応表を用いた感情分析が、使えないことはわかりました。
じゃあ、どれくらい使えないのか?
それは他と比較して初めてわかることです。

まずは、使える感情分析を探す必要があります。
そして、意外と簡単にそれを見つけることはできました。
そのことに関しては、以下の記事でまとめています。

結論は、Google Cloud Natural Language APIを使うことです。
このAPIは、感情分析を行ってくれます。

そこで、この機械学習APIを用いてデータを準備します。
こうやって準備したデータと単語感情極性対応表で準備したデータを比較していきます。

以下の内容で比較・確認をします。

  • ヒストグラム
  • 散布図
  • 結果一覧

それぞれを比較していく前に、Amazon評価のヒストグラムを確認しておきます。
このグラフは、約9000件のレビューの評価(星1~5)を表しています。
以下では、このグラフを「Amazon評価グラフ」と呼びます。

Amazon評価のヒストグラム

Amazonから集めたレビューは、高評価がほとんどですね。
これはレビュー数の多い商品を対象にしたことが影響しています。

レビュー数が多いのモノは、基本的には高評価が多い傾向があります。
たまに、低評価ばかりの商品もありますが。

なお、商品のカテゴリーはバラバラです。
電化製品、食料品、書籍など。

ヒストグラム

表記は統一しています。

【単語感情極性対応表】

単語感情極性対応表ヒストグラム

【Google Cloud Natural Language API(機械学習API)】

機械学習APIヒストグラム

まず、両者を比較します。
単語感情極性対応表は、どれだけマイナス(ネガティブ)思考なんだと。。。
それに比べて、機械学習APIはプラス(ポジティブ)ですね。

どちらが妥当なのかと言えば、機械学習APIの方と言えます。
Amazon評価グラフは、高評価が多くて、プラスの評価がほとんどです。
それと近いのは、明らかに機械学習APIの方となります。

散布図

PNはscoreと同じです。

【単語感情極性対応表】

単語感情極性対応表散布図

【Google Cloud Natural Language API(機械学習API)】

機械学習API 散布図

これはダメですね。
なぜなら、機械学習APIでの散布図がダメダメです。

機械学習APIで返答されるscore(PN)は、少数第1位までの値です。
この時点でマーカーが重なります。
そのため、散布状況が正確に把握できません。。。

散布図のデータは、重なるとこうなるのですね。
これは、勉強になりました。

結果一覧

プラス(ポジティブ)なデータよりもマイナス(ネガティブ)なデータに絞ります。
単語感情極性対応表はプラス(ポジティブ)の評価は、それなりに対応します。

どちらかと言うと、マイナス(ネガティブ)の評価が致命的にできないことが多いので。
本当はプラスの内容をマイナスに評価する傾向があります。

【単語感情極性対応表】

単語感情極性対応表結果一覧

【Google Cloud Natural Language API(機械学習API)】

機械学習API結果一覧
pn単語感情極性対応表による評価値
ratingAmazon評価
scoreGoogle Cloud Natural Language APIによる評価値

pn、scoreともに-1に近いほどマイナス(ネガティブ)判定。
pn、scoreともに1に近いほどプラス(ポジティブ)判定。

単語感情極性対応表の方は、高評価(ratingが高い)でもマイナス判定することが多いです。
例えば、「コスパがよく、タイピングの音が静かです。」をかなりマイナスに判定しています。

褒め言葉ですし、評価も最大の5です。
ちなみに、機械学習APIは0.8とかなりプラスに評価しています。

他にも「文句はありません」(評価5)、「料理にも使える」(評価5)をマイナス判定にしています。
私は、こういうのを見た時点で単語感情極性対応表は使えないと判断しました。

それに比べて、機械学習APIの方は見事ですよね。
さすが天下のGoogleが有料でやっているサービスだと思いました。

人工知能APIの脅威と希望

単語感情極性対応表とGoogle Cloud Natural Language API(機械学習API)の比較結果は、歴然でしたね。
これはもう機械学習APIを使うしかないでしょう。

モデルを作成するまでは機械学習APIを用いてデータを準備しましょう。
これが、機械学習で成果を上げる早道だと感じました。

モデルが出来上がったら、そのモデルでラベリングも可能でしょう。

さて、今回初めて有料の機械学習APIを利用しました。
と言っても、90日間300ドル(約3万)の無料枠があります。

その枠内で検証しているので、無料なんですけどね。
ちなみに、今回の検証のために約1万回APIを叩いた結果は・・・
400円以内です。

これだけ安いと、無料枠がなくなっても全然利用してもいいかもしれません。
それほど、価値があるモノだと思います。

しかし、その価値の分だけ、人間の価値は下がってしまいます。
あくまで同じ仕事における話です。

感情分析だけの話ではありません。
翻訳もそうです。
あと、校閲(誤字脱字の面で)とかもそうなるのでしょうね。

今後、人工知能APIがどんどんと勢力を伸ばすはずです。
人工知能が人間の仕事を奪うという話ですね。
一部の人間からすると、それは脅威でしょう。

しかし、脅威を抱く人がいれば、希望を抱く人もいます。
人工知能APIを使えば、少ない人数でたくさんの仕事をこなせる可能性があります。
その仕組みを作る・利用する側に立てば、人工知能APIは希望になりますので。

タイトルとURLをコピーしました