読者です 読者をやめる 読者になる 読者になる

テキストマイニングによるレビューの評判分析 ~はじめの一歩~

テキストマイニング バックエンド
iQONはAppStoreのレビュー4.5, GooglePlayのレビュー4.3と、嬉しいことにユーザーから高い評価を受けています。しかし、実際にユーザーが日々感じているアプリの良い点だったり不満点などの本音の部分は、レビューやTwitterなどのユーザーが投稿する文章の中に含まれています。特にサポートにお問い合わせをしてくださったユーザーからいいただくような改善を訴えるメッセージとは違い、Twitterやレビューに投稿している文章には現状ユーザーが感じている改善してほしい点やバグ等が、より意識せずに書かれている可能性が高いと考えられます。そのテキストの内容を解析できれば、開発者が認知している問題の中でもより多くのユーザーが改善してほしいと感じている点であったり、我々開発者が気づけていなかったバグの発見等が可能になると考えられます。

そこで今回、「評判分析はじめの一歩」と題して、iQONについて書かれている文章の評判分析を実験的におこなってみましたので、その内容と結果を紹介したいと思います。

評判分析とは?

 

評判分析とは様々なテキスト情報をテキストマイニング機械学習の技術を用いて、肯定的な評価をしている記述と否定的な評価をしている記述に分類したり、実際にそのテキストを書いている人がどのような事を考えて記述しているか分析し、理解する事を言います。 ブログやSNSの発展や、AmazonなどのECサイトレビュー機能が充実した現在、評判分析はユーザーの生の声を把握する事ができると期待されているため、研究分野でも盛り上がりを見せています。

実験概要

対象データ
・書かれている内容の精査等にコストをかけないため。
・すでに評価の点数が振られている点。
評判分析とは様々なテキスト情報をテキストマイニング機械学習の技術を用いて、肯定的な評価をしている記述と否定的な評価をしている記述などに分類したり、実際にそのテキストを書いている人がどのような事を考えて記述しているか分析し、理解する事を言います。 ブログやSNSの発展や、AmazonなどのECサイトレビュー機能が充実した現在、評判分析はユーザーの生の声を把握する事ができると期待されているため、研究分野でも盛り上がりを見せています。
mattlawer/appstatの様なコマンドラインからアプリのapp_idを指定してレビューを取得する便利なサービスもあるのですが、今回は200件以上を取得したかったので、AppleAPIのレスポンスをスクレイピングする形で取得しました。
評判分析ツール

独立行政法人情報通信研究機構 旧知識処理グループ 情報信頼性プロジェクト」で作られているツールを使用して分析を行いました。(詳細はこちら : http://alaginrc.nict.go.jp/opinion/)

こちらは1行につき1文が書かれたテキストファイルを入力すると、① その評価情報を表す表現の抽出② その評価情報の意味的な分類③ ポジティブ / ネガティブ の様なその文章が表す「評価」に関する情報を抽出してくれるスクリプト群です。

以下のものが動く環境で、こちらのツールを使用する事ができます。

・CRF++(Version 0.54 で動作確認)
・iconv (Version 2.5で動作確認)
gawk(Version 3.1.6 および 4.0.0で動作確認。3.1.5ではエラーが発生します)
gcc(Version 4.1.2で動作確認)
perl(Version 5.8.8 および 5.10.1で動作確認)
・JUMAN(Version 6.0 および 6.01で動作確認。Version 7.0には対応していません。)
・KNP(Version 3.01 で動作確認。Version 4.0には対応していません。)
分析結果として表示される、評価タイプの種類と各タイプが持ちうる極性は以下の表の様になります。(+はポジティブ、-はネガティブを表します)

実験内容

スクレイピングで取得したレビュー300件を取得
・アプリのバージョン × レビューの点数 ごとにファイルを分割

・レビューの点数ごと/バージョン別に評価分析の結果をまとめる

取得した文章は一つのレビューの中で肯定的な意見と否定的な意見を混ぜて記載しているものが存在する理由から、分析スクリプトに流してもどのような意見を述べているか判定できない可能性が高いため、文ごとに区切って分析を行いました。

実験結果

全体の評価内容数

感情+        : 6
感情-         : 0
批評+        : 200
批評-         : 77
メリット+ : 150
メリット-  : 56
採否+         : 8
採否-          : 0
出来事+     : 0
出来事-      : 0
当為           : 28
要望           : 0

レビューという事もあり、「批評+-」「メリット+-」に関する意見が多い結果となりました。また、「当為」が多くレビューに書かれている事からアプリに何を求めているかを知る事ができそうです。

レビュー点数ごとの評価内容

レビュー5のコメント内で評価内容

レビュー5のユーザーのコメントとしてはポジティブな意見が多く、特に
・コーデを作ることの楽しさ / 可愛さ
・買い物に便利
・探していたものが見つかる
等の意見を多くいただきました。

レビュー1のコメント内で評価内容

レビュー1をいただいたユーザーのコメントにはやはりマイナスな意見が多く存在しています。今回試してみたツールの結果のままでは、マイナスな意見に関してもいくつかプラスの意見として判定されてしまっているモノがありました。

大きく分けるとバグ報告系改善要望系の2種類に分けられます。こちらが認知して今後改善を進めて行くバグや機能改修についても多くの意見をいただいていますが、「機能改善をする事自体に対する不満のご意見」がある事もわかりました。

最新バージョンのレビューでマイナス評価のもの

一番直近のレビューの中でマイナスの評価になったものとしては上記のお知らせに関してですが、お知らせを消す仕組みは現在のアプリにも実装されているので、そちらがユーザーにきちんと伝わっていない事がわかります。

 

結果からの考察と今後の話

今回は特に分析に関してカスタマイズ等をしていないので、評判分析の精度を上げる事には言及していませんが、ユーザーが投稿している文書を解析する事で
・ ユーザーが何に喜んでいるかがわかる
・ ユーザーが何に不満を感じているかがわかる
普段見逃してしまっているレビューの中にあるユーザーの意思をつかんでサービスに落とし込む事は確実にメリットがあります。
他にも、私たち開発者が気づけていないバグについて把握ができ、ユーザーがどこの機能を楽しんで、自分たちのアプリを使ってくれているか、自分たちのアプリの強みを知る事にもつながります。

今後進めたいこと

辞書/分析アルゴリズムの最適化

今回は「評判分析導入のはじめの一歩」という事で、分析ツールに特に学習データを与えて学習させたり、辞書をアプリをテキストマイニングするのに最適化するようなことはせず、一般的な評判分析用の辞書を使っています。
そのため、プラス/マイナスの評価の部分などでおかしいものが多々ありました。

・分析がおかしい例

このように人間がみれば一発でマイナスの感情な意見でも、プラスな評価に判定されてしまっている解析結果が多々あります。今後はアプリの批評に関する言葉を学習させて辞書に追加していくなどして、より精度を上げた評判分析ができれば、アプリの改善等にプラスになるので進めて行きたいと考えています。
冒頭でもテキストマイニングを用いた評判分析の分野は研究で盛り上がっていると記載しましたが、調べている中で次に試せそうな面白い研究があったのでいくつかありました。ぜひ参考にしてみてください。

レビューの語の重みを考慮したテキストマイニングによるゲームソフトの評判分析 

構文片を用いた意見・評判情報抽出手法

ツールによるビジュアライズ

今回はローカルのバッチを単発で回して処理をし、テキストファイルをアウトプットとしていました。今後は
・定期的に最新のレビューの分析結果を更新
ツールでエンジニア以外も見れるように
・各アプリのバージョンごとでレビューにどのような変化が現れているかを見える化
・ レビューだけで無くTwitterなどに投稿されている文章も解析する
・プラス/マイナスそれぞれの評価の中で頻出な単語を形態素解析で分解しツールで見れるようにし、ユーザーが何かしらの媒体にポストしている内容でホットなワードは何かを見える化

等を進める事で、日々ユーザーに向けた改善をとれるような体制を作りたいと考えています。

 

最後に

今回はレビューに関する分析の実験内容をあげましたが、レビューやTwitter以外にも弊社アプリには様々なテキストデータや画像データがあり、ファッションに関するデータという意味では日本最大級のデータがたまっています。VASILYでは現在、これらのデータを使って今迄にない新しい価値を世の中に生み出して行きたいというエンジニアを大募集しています!ぜひ一緒にテクノロジーの力でファッション業界にインパクトを与えてきましょう!

募集要項
連絡先:info[at]vasily.jp