感情分析エンジンをアップデートしました。また、判定結果のレア度や名称を一部変更しています。

今回修正したのは主にイライラ系誤判定の改善となります。ちょうどいい機会なのでこのあたりの誰得な開発話でもしていきます。

感情分析エンジンざっくり解説

感情分析エンジンは、まずコメント内の特徴的なワードに着目し、そこから前後にさかのぼって特定の感情を確定したり否定したりするワードが存在するかどうかといったチェックをおこなっています。

例えば「どうするんだろ」というコメントは疑問形になります。

しかし、「どう」を「どうせ」に変えると「どうせするんだろ」という批判的なコメントに早変わりします。不思議。

このように1文字追加されただけで全然意味が変わってくるようなデリケートなコメントを感情分析エンジンはどのように処理しているかというと、

まず、コメントをそれっぽく分割します。

どう / する / ん / だろ

その中で特徴的なワードである「だろ」に着目します。この時点である程度の感情に候補は絞られます。

そこから前後のワードを見ていくわけですが、今回は「だろ」が末尾にあるので前に戻って見ていくことになります。

3ブロック戻ったところで「どう」というワードを見つけました。したがってこのコメントは「どう~だろ」という形をしているので疑問形だ、という判定となります。

ちなみに、これが3ブロックでなく10ブロックとかになると、両者の関連性が薄いということで疑問形とはみなされなかったりします。

「どうせ」の場合は、

どうせ / する / ん / だろ

となり、「どうせ~だろ」という諦め気味の批判コメントとして判定されます。

肝となっているのは事前のそれっぽい分割で、これをしていなかったリニューアル前の感情分析エンジンでは「どうせ」なのに「どう」が引っかかって誤判定といったケースがよくありました。他にも「クソ」絡みの誤判定もちょいちょいありました(「ダクソ」「やくそう」など)。

また、「どう」と「だろ」の間に何ブロックあるかというのも、単純な文字数による距離判定より正確な判定の助けになっています。

それでも誤判定しやすいケース

「するな」「やるな」といった「~な」系コメントは依然として誤判定しやすいです。

例えば「キモい動きするな」というコメントは「キモい動きをしないでくれ」という命令とも取れるし、「こいつはキモい動きをするやつだな」という感想を述べているだけとも取れます。

先ほどの例の「だろ」よりも厄介なのは、人の目で見てもどちらを意味しているのかを断言できないケースが多いという点です。

動画と合わせてこういったコメントを見るとどちらを意味しているのかは大体判断できるのですが、コメント単体での判定となると割と困ったもんです。

こういったケースは他にもあって、「映画みたい」というコメントは「映画を見てみたい」なのか「まるで映画のようだ」なのかわからん、などなど。。。

まとめ

日本語難しいアルヨって事を感情分析エンジンの開発を始めてから痛感しているのですが、こういったくだけた日本語の分析というのはなかなか他に類を見ない(と勝手に思ってる)ものだと思うので、もうちょい鍛えてニコニコ動画のコメントだけでなく、他の用途にも使えるようになればいいな~なんて淡い妄想を浮かべつつ日々改良に勤しむ毎日です。はい。