人間の約830倍高速化を実現。Microsoft「Text Analytics API」でde:code 2019のアンケートを分析してみた

このエントリーをはてなブックマークに追加

顧客満足度向上を目指して、アンケートを設けている企業は多いだろう。デジタル化が進み、入力や集計が簡単になったため、昔よりアンケートに回答する機会は増えている。

しかし、せっかくエクセルやスプレッドシートでデジタルでアンケートを簡単に収集しても、その後、テキストから満足度の計測や、何を改善すべきかなどを洗い出し、解決するのは人間である。大量のアンケートの集計に莫大な時間を取られるのは想像に難くない。

そこで今回は、マイクロソフト社に協力いただき、同社主催イベント「de:code 2019」で実際にアンケート分析をおこなった。AIを用いてアンケート分析業務の効率化が可能か、AIの精度は実用に耐えうるのかを検証した。

de:code 2019とは
de:code 2019とは、マイクロソフト社主催の、開発者をはじめとするITにエンジニアに向けたテクニカルカンファレンスである。テクノロジーの最新情報や今後の傾向について180を超えるセッションを公開している。

「フィードバック把握の高速化」と「セールスの質向上」を目指す

今回のゴールは、「フィードバック把握の高速化」と「セールスの質向上」の2つだ。ひとつ目の「フードバック把握の高速化」では、今まで手作業だったアンケートデータ分析をAIで自動的に分析することで作業の効率向上を目指す。

2つ目の「セールスの質向上」では、AIによってテキストのセンチメント分析とキーフレーズ抽出を行い、イベント内の何が響いたのか要因を分析してから、ホットリードに対して電話やメールでアプローチすることを目指す。たとえば、あるイベント参加者が「IoT」に興味があるということが判明すれば、今後、その顧客に「IoT」関連の商品やサービスを中心にアプローチを行うことで「セールスの質向上」を目指す。

Text Analytics APIでアンケート回答者が何に満足/不満を感じたか判断

アンケート分析のフローについて説明する。今回のアンケート分析でもっとも重要な技術は、マイクロソフト社が提供している「Microsoft Azure Text Analytics API(以下Text Analytics API)」である。

Text Analytics APIには、

  • センチメント分析(ポジティブ or ネガティブの判定)
  • キーフレーズ抽出(文章のなかの重要な単語を抽出する)
  • 言語検出(何語か判断する)
  • エンティティリンキング(文章内の単語と現実にある概念とを紐付ける)

などの機能があり、これまでの技術では困難だった、人間が書いた文章を理解できるAIを利用している。今回は、Text Analytics APIの「センチメント分析」「キーフレーズ抽出」の2機能を利用した。

全体の流れは上図の通りである。なお、Text Analytics APIは日本語非対応であったり、日本語での精度が低いなどの日本語との相性が悪いため、日本語をTranslator Text APIで英訳してからText Analytics APIを使用している。

上図のように、センチメント分析とキーフレーズ抽出の両面からアンケート分析をおこなうことで、アンケート参加者が何に対して満足/不満を感じるのかを判断することができる。

「セールスの質向上」は、もう一歩か

AIによるアンケート分析が、「フィードバック把握の高速化」と「セールスの質向上」に有効かを検証した。

イベント全体についての質問に対するキーフレーズ抽出結果

受領したアンケートデータのなかで一番フリーテキスト入力の多かった、イベント全体に関するキーフレーズ抽出結果が以下だ。

たとえば「次回の de:code に期待する内容がありましたら、ぜひお聞かせください」のような質問だ。結果は以下のワードクラウドの通り。

イベント全体についての質問に対するキーフレーズ抽出結果

ワードクラウドを見ると、

  • 「ホール(hall)」や「会場(venue)」など”場所”に対するフィードバック
  • 「時間(time)」や「混雑(congestion)」など“環境”に対するフィードバックが多い
  • 質問内容の影響で改善点が多い→・質問内容が「次回の de:code に期待する内容がありましたら、ぜひお聞かせください」であり、質問自体が改善点に寄っていたため、改善点が多い傾向がある

などの傾向が読み取れる。なお、実際にアンケートを確認してみると、満席で入ることができなかったという回答や、セッション間の移動ができずに、見たいセッションが見られなかったという回答が多く、キーワード抽出はアンケートの内容と合致しているといえるだろう。

今回のケースではキーフレーズ抽出の結果から次回イベントに向けて、時間や場所など運営方法を直していけばよいことがわかり、フィードバック把握の高速化は見込めた。しかし、セールスの質向上につながるインサイトは得られなかった。

各セッションから読み取った全体のキーフレーズ抽出

イベント全体に関する質問項目とは別に、各セッションごとにもアンケート分析をおこなった。各セッションから取り出したキーフレーズを全セッション分まとめることで、各セッションのアンケートデータをもとに全体の傾向を見ることができる。なお、質問内容は「良い点」と「改善点」だ。

まず、「良い点」に関しての結果は以下のワードクラウドの通り。

各セッションから読み取った「良い点」

キーフレーズ抽出によって、とくに「Xamarin」「slideshare」というキーワードが注目されてことがわかる。また、イベント全体よりもセッション固有のキーフレーズが多く、セッションの様子をよく表せているといえるだろう。参加者が「Xamarin」「slideshare」へとくに関心があることを把握したうえでセールスを実施できるため、フィードバック把握の高速化だけでなく、セールスの質向上に対するインサイトが見込める結果となった。

続いては、改善点に関してである。結果は以下のとおりだ。

各セッションから読み取った「改善点」

イベント全体に対する感想と似た傾向で、「time」「session」など運営方法に関するワードが抽出された。時間管理不足や入場制限で見たいセッションが見られなかったことに対する不満が見受けられる。運営の不満に対する意見は得られたが、顧客が何に興味があるか判断できるキーワードは抽出できていないため、フィードバック把握の高速化は見込めるが、セールスの質向上につながるインサイトは得られなかった。

センチメント分析結果

センチメント分析は、各セッションで算出したセンチメントスコアをセッションごとに平均してスコアを出し、最終的に全セッション分の平均値を算出した。

センチメント分析結果のスコアの分布は以下のとおりである。(セッションごとに平均スコアを求める過程で、回答数が少ないセッションデータを除外)

横軸が各セッションの感情の平均スコアで、縦軸がスコアの頻度だ。セッションの満足度の分布が可視化でき、どのセッションが満足度が高い/低いかがわかる。フィードバック把握の高速化が見込めるが、キーワードなどの詳細な情報がわからず、センチメント分析だけではセールスの質向上に関してはインサイトが得られないことがわかる。

より感情をつかむアプローチでセールスの質向上を目指す

これまでのアンケート分析の結果より、フィードバック把握の高速化については、センチメント分析でもキーワード抽出の両方で達成できてきていた。

しかし、セールスの質向上についてはセンチメント分析だけでは不十分で、何に対して興味を持ってもらえているのかを探らないといけないため、キーワード抽出からしか考察を得られていない。そこで、フィードバック把握の高速化を満たしつつ、センチメント分析とキーワード抽出の両方を兼ね備えたアンケート分析が必要だと考え、以下の新しいフローを提案し、実際に検証してみた。

これまでの手法では、センチメント分析とキーフレーズ抽出を別々におこなっていたが、新たに提案した手法では、まず各セッションごとのセンチメント分析結果の平均値を「良い点」は降順、「改善点」は昇順でそれぞれソートし、TOP1のキーフレーズ抽出結果からワードクラウドを作成した。

こうすることで、参加者の感情が動いたセッションを高速で見つけ出すことができ、さらにそのセッションでキーワードを抽出することで、顧客が何に興味があるのかをより詳細に把握することができる。

高速にキーワードを取り出せる

「良い点」に関しての結果は以下のワードクラウドの通りである。

提案手法「良い点」

ワードクラウドから「IoT」と「Hub」に関するセッションが好評で、反応がとくにポジティブだったことがわかる。これまでの手法では注目されていなかったキーフレーズが抽出でき、この手法が有用であることがわかる。

また、1セッションに注目することで、これまでの手法より詳細に、誰が何に興味があるかも把握できる。

続いては改善点に関して。結果は以下のとおりだ。

提案手法「改善点」

これまでの手法と同様に時間など運営方法に対しての不満が多かったこともわかるが、提案手法の特徴が表れているのは、「presentation」や「question」の部分である。

これまでの手法の改善点では、全体で評価していたため、どこが悪いか漠然としていた。しかし、新しい手法では不満が多かったセッションのプレゼンテーションや質問対応が悪いなど不満点を詳細に把握できる。新しい手法によって、参加者の感情が動いたセッションを高速で見つけ出すことができ、さらに顧客ごとによりきめ細やかに興味があることを把握することが可能になったと言える。

アンケート分析作業は人間の約830倍高速に

実際に人間と機械がアンケート分析をするのにかかる時間はどの程度違うのか、定量的に求めた。

人力による重要セッションの選択→キーワード抽出

  • 「1セッションあたりの所要時間※英訳不要のため日本語を想定
    Sentiment Analysis: 12min = 24 x 30s

  • (1セッション平均回答数) x (回答1つあたり15s、良い/改善点2個)
    Key Phrase Extract: 8min = 24 x 20s

  • (1セッション平均回答数) x (回答1つあたり10s、良い/改善点2個)
    Normalize + Word Cloud:8.8 min = 47 x 10s + 5 min

  • (キーワード抽出後平均単語数) x (単語1つ変換作業時間) + (単語集約)

全体合計: 90時間 = 188件 x 28.8分


AIによる重要セッションの選択→キーワード抽出
1セッションあたりの所要時間

  • Translate: 1.5 min
  • Sentiment Analysis: 15 s
  • Key Phrase Extract:20 s
  • Normalize + Word Cloud: 10 s

全体合計:6.5 min = 188件 x 2分

今回のケースのように、全188セッションあるような大規模なイベントでは、アンケート分析をシステム化すると人間の約830倍の高速化が見込めることがわかった。

ポジティブな意見に対しては実用化も近い?

人間の言葉を理解する作業を機械に任せるため、読者が一番疑っているのはその精度だろう。センチメント分析のセンチメントスコアが実際のアンケート回答者の満足度と合致しているかの評価は、以下のようになった。

結果としてセンチメント分析では「良い点」の正解率は7割あるが、「改善点」の方では5割となった。

評価方法は、Text Analytics API の出力するスコアの値を、0.5以上をポジティブ、0.5未満をネガティブ(0.5ちょうどはニュートラル)とみなした。今回、すでに設問「良かった点をご記入ください」「改善が必要な点をご記入ください」によってポジティブ/ネガティブを振り分け済みのため、

  • 「良かった点をご記入ください」の場合は 0.5以上 の割合
  • 「改善が必要な点をご記入ください」の場合は 0.5以下 の割合

を、正解率として計測した。

感情値は量的な評価がしづらい部分もあるが、「良い点」という質問に7割の正解率が出たのは良いことだと考えている。回答者の感情値を正確に測ることは人間でさえもなかなか難しいにも関わらず7割の精度を叩き出したのは、アンケートの分析結果から考察を産むのに有用なのではないかと考える。

一方、「改善点」に関しては正解率が低く、文字数が多いものを高スコアにしてしまう傾向もあるため、実用的な精度とは言えない。

自然言語の理解は発展途上だが、AIの可能性は見えた

今回のAIによるアンケート分析の検証では、十分な「フィードバック把握の高速化」と「セールスの質向上」が達成できたのではないか。

精度に関しては、残念ながら「改善点」については実用レベルではないことがわかったが、「良い点」に関しては十分な精度であり、実用レベルといえるだろう。一方、自然言語の理解が必要な場面でのAI利用はまだ発展途上である。しかし、今回のアンケート分析の結果で、AIの可能性を感じていただけたのではないだろうか。

AIの利用はアンケート分析のように導入例がない場合でも、思わぬところで役に立つかもしれない。今回利用した「Microsoft Azure Text Analytics API」は無料枠もあり、気軽に利用できるので是非試してみてはいかがだろうか。