はじめに
日本語極性判定APIを公開しました。こちらで公開しています。極性判定は、入力テキストについてPositiveかNegativeを判定する技術です。早速動作を見てみましょう。
※11月6日アップデート
最新の性能情報はこちらでアップデートします。
デモサイト
関連情報
- deeplearning4jで日本語WikipediaのWord2Vecを作る
- deeplearning4jのword2vecの限界とその上手な使い方
- deeplearning4jのdoc2vecで極性判定してみた
- deeplearning4jのdoc2vecにwikipediaのword2vecモデルを注入する
- deeplearning4jでword2vecのベクトルデータからNNで極性判定してみる
- deeplearning4jでword2vecのベクトルデータからRNNで極性判定してみる
- 【API】日本語極性判定APIを公開しました
- 日本語極性判定技術のデモサイト作りました
- deeplearning4jのRNNで極性判定を作った~Early Stop編~
- 【アップデート情報】極性判定APIの精度改善
活用事例
使ってみる
極性判定の性能はF値で80%程度あります。
【極性判定の性能】
Precision: 0.778
Recall: 0.8633
F1 Score: 0.8185
ということで、ツイッターで適当にツイートを取ってきて、それをぶっこんで動作を見てみましょう。適当にツイートを取ってきたので、誰かのツイートをそのまま載せています。問題があれば教えてください。
まずはポジティブっぽいツイートを・・・。おお。ちゃんとポジティブっぽいやつがポジティブに分類されていますね。
"text": "FEif買ったけど普通に面白いな。 昔やってたテンミリオンっていうゲームに似てるからテンミリオン好きで任天堂信者なら買ってみ?"
"sentiment": "positive"
"score": 0.5070942044258118
つづいてネガティブです。こちらのネガティブっぽいやつもちゃんと取れていそうです。
"text": "地震だったね( ; ; ) 最近家がドシンと揺れることがあるんだけどなんでだ🤔 工事とかしてないのになあ(´・ω・`)"
"sentiment": "negative"
"score": 0.5986717343330383
概ねあっている印象です。評判分析とか商品課題抽出とか、色々な業務改善タスクが捗りそうです。・・・が、当然失敗もします。
"text": "任天堂NXの 動画みた!🤗 凄いなー! 欲しい!☺️"
"sentiment": "negative"
"score": 0.5325021147727966
"text": "ひどいな。何に性的刺激を感じるかは人それぞれ、フェティシズムの対象を公共の場所に貼るのは性的マイノリティに対する暴力である!"
"sentiment": "positive"
"score": 0.7025600075721741
デモの説明
こちらでデモを体験できます。
公開ツイートを極性判定した結果と、自分で入力したテキストを極性判定した結果を見れます。極性判定結果が間違ってたらフィードバックを送れるようにしたので、よろしければ性能改善にご協力ください。学習モデルを定期的にアップデートしていきます。「みんなで作る無料の極性判定技術」がコンセプトです。デモの詳細な使い方はこちらを御覧ください。
おわりに
日本語極性判定はありそうでなかったと思います。英語の極性判定技術はIBM Watsonが出していますね。元々はAlchemyAPI社の技術で、3年前くらいに仕事で評価しましたがそこそこ性能が良かったです。今回公開したAPIは日本語でそのときのAlchemyAPIに匹敵するくらいの性能は出ています(現状は知りません)。ここから無料APIというメリットを活かして、みんなでものすごく使える極性判定技術を作れたら良いなと思います。ご協力いただければ嬉しいです。