Apitore blog

Apitoreを運営していた元起業家のブログ

【API】日本語極性判定APIを公開しました

連絡事項

学習モデルを継続的に更新しているので、本記事で紹介する入力テキストの極性判定結果やスコアが変わります。最新情報は以下のリンクでご確認ください。 - 【アップデート情報】極性判定APIの精度改善 - 現行版の極性判定APIのパフォーマンスチェック

はじめに

日本語極性判定APIを公開しました。こちらで公開しています。極性判定は、入力テキストについてPositiveかNegativeを判定する技術です。早速動作を見てみましょう。 amarec (20161023-142925)

デモ&API

サンプルコード

ソースコード

関連情報

特徴

先日の投稿内容の通り、この極性判定の性能はF値で80%程度あります。 【極性判定の性能】 Precision: 0.778 Recall: 0.8633 F1 Score: 0.8185 ということで、ツイッターで適当にツイートを取ってきて、それをぶっこんで動作を見てみましょう。適当にツイートを取ってきたので、誰かのツイートをそのまま載せています。問題があれば教えてください。 まずはポジティブっぽいツイートを・・・。おお。ちゃんとポジティブっぽいやつがポジティブに分類されていますね。

"text": "FEif買ったけど普通に面白いな。 昔やってたテンミリオンっていうゲームに似てるからテンミリオン好きで任天堂信者なら買ってみ?"
"sentiment": "positive"
"score": 0.5070942044258118
"text": "VR(ヴァーチャルリアリティ)ゲームをやってみました。 ・・・これは、すっごい!!! タイムマシンVRってゲームをやっていたのですが、リードシクティスの20mサイズを体感してしまいましたw そして口の中に入ったw これはPSVRも買うしかないなぁ。"
"sentiment": "positive"
"score": 0.5221621990203857
"text": "おめでとう!カブスが4勝2敗でドジャースを下し、2016年ナ・リーグの覇者に!次は水曜日(10月26日)に行われるワールドシリーズでア・リーグの覇者インディアンスと対決!"
"sentiment": "positive"
"score": 0.5207469463348389

つづいてネガティブです。こちらのネガティブっぽいやつもちゃんと取れていそうです。

"text": "地震だったね( ; ; ) 最近家がドシンと揺れることがあるんだけどなんでだ🤔 工事とかしてないのになあ(´・ω・`)"
"sentiment": "negative"
"score": 0.5986717343330383
"text": "東京五輪、建物はほとんど「プレハブ化」せよ 建設費も問題だが、ヤバイのはムダな維持費 | 国内経済 - 東洋経済オンライン"
"sentiment": "negative"
"score": 0.8235693573951721

概ねあっている印象です。評判分析とか商品課題抽出とか、色々な業務改善タスクが捗りそうです。・・・が、当然失敗もします。

"text": "任天堂NXの 動画みた!🤗 凄いなー! 欲しい!☺️"
"sentiment": "negative"
"score": 0.5325021147727966
"text": "おおおおお…電車の席に座っていた外国人の方が、日本人のおばあちゃんに席を譲ろうとしたら、おばあちゃんが英語で大丈夫って言い出して、さらに英会話初めてめっちゃかっこいい(๑•ૅㅁ•๑)楽しそう…",
"sentiment": "negative",
"score": 0.7060270309448242
"text": "ひどいな。何に性的刺激を感じるかは人それぞれ、フェティシズムの対象を公共の場所に貼るのは性的マイノリティに対する暴力である!"
"sentiment": "positive"
"score": 0.7025600075721741

おわりに

今をときめく深層学習で極性判定技術を作りました。体感では、測定したF値80%ほどは性能が出ていないように感じました。あと気づいたのは、ポジネガの判定は顔文字の影響を強く受けている気がします。学習データにTwitter社の極性判定結果を使っているのですが、Twitter社の極性判定技術は顔文字を使っているのかもしれません(実際、データには顔文字が多く含まれていました)。このAPIはデモサイトを立ち上げて、そちらで簡単に体験できるようにしたいと思います。ついでに極性判定結果が間違ってたら修正できるようにして、Social Sentiment Classification APIとして継続的に性能を強化できるようにしたいです。

2017/2/27 追記

APIコールのRubyサンプルを追加しました。