手作業からの卒業なるか。『THE AI』イベントアンケートをAIに分析させてみた

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

2017年から、レッジでは「未来ではなく、今のAIを話そう。」をコンセプトに、カンファレンスイベント『THE AI』を主催しています。

第1回は約500人、第2回は約750人の方にご参加いただきました。しかし、イベントは開いて終わりではありません。アンケートの中から、参加者の満足度を分析したり、今後のための改善点を見つけ出したり、多くの振り返り作業が必要です。

そんな中、AIを前面に押し出したイベントを運営していながら、レッジのイベント運営業務はまだまだアナログなところが多いのも事実。アンケートが紙形式だったり、入退場がアナログだったり……試行錯誤を繰り返している真っ最中です。

そこで今回は、アンケートのフリーテキストを自然言語処理AIに解析させ、どこまで効率化できるのかチャレンジしてみました。

分析をおこなったのは、「ポジティブ or ネガティブの判別」と「重要単語の抽出」。
対象は、『THE AI 2nd』の弊社の主催講演に対するアンケートです。

結論からいうと、今回のチャレンジは

ポジティブ or ネガティブの正解率 :
65%
重要単語の抽出 :
セッションテーマの単語は基本とれているが、ノイズも多い

という結果になりました。一言でまとめると、「現状では100%AI任せは難しい」といったところ。完全自動化はやはり難しいですが、分析中に面白い発見もありました。

選択肢には「満足」とつけているのに、フリーテキストでは反対にネガティブな意見を書いているデータがあったのです。手動では見過ごしてしまいそうなデータを発見できたのは、まさに、AIならではといえるでしょう。


今回実施したアンケートのイメージ

この記事では、実際にどのようなAIを使い、どういった手順で効率化を目指したのか、上記の発見につながったポイントを踏まえて解説します。

大量のアンケート分析、人間の負担になっている部分はどこ?

アンケートでよくあるのが「とても満足」「満足」「不満」「とても不満」といった選択形式の質問です。この形式の質問は、エクセルデータになっていれば COUNTIF関数などで簡単に集計できます。

一方で、人間が書いた文章(フリーテキストの欄)は機械での分析が難しいとされています。手動作業を少しでも減らすため、今回は人間の言葉を理解できる自然言語処理AIを活用して、アンケート分析の効率化に挑戦しました。

自然言語処理とは
人間の自然な言葉を、機械で処理できるようにする技術分野
チャットボットやスマートスピーカーなどに活用されている

今回、分析に使ったのは「Microsoft Azure Text Analytics API」。

Text Analytics APIには

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

などの機能があります。(月 5,000 回までのAPI呼び出しが無料)

今回は『THE AI 2nd』主催講演アンケートのフリーテキスト部分に対して「センチメント分析」「キーフレーズ抽出」の機能を使用してみました。

AI機能を組み合わせれば、アンケートを一瞬で要約できるかも

今回、「ポジティブ or ネガティブの判別」「重要単語の抽出」をおこなった目的は下記のとおり。

センチメント分析(ポジティブ or ネガティブの判別) :
「センチメント分析」をすることで、満足度の全体的な傾向をつかむことができます。また、結果が数値として現れるので、その数値の正確さも検証してみました。
キーフレーズ抽出(重要語の抽出) :
単なるポジティブ or ネガティブの傾向からでは有益な洞察を得ることは困難です。そこで、「何に対して」ポジティブ or ネガティブな意見が出ていたのかを把握するため、「キーフレーズ抽出(重要語の抽出)」もおこないました。

たとえば、この2つを組み合わせることで入力された大量のアンケートデータをAIが解析し、「ネガティブな意見が多かったです。とくに、会場設備に対しての不満が多かったです」
といった要約を出力できるようになれば、イベントの振り返りと分析がぐっと楽になるはず!

そんな仮説のもと、AIにアンケートを分析させてみました。

ポジティブ or ネガティブ判定の精度は65% すべてAI任せはまだ難しい

まずは、センチメント分析。実際の手順は下記のとおりです。

APIキーの用意
Text Analytics API を使用するためには、APIキーを作成する必要があります。手順は下記の通り。

  1. Azureアカウントを作成
  2. Azureポータルから「リソースの作成」を選択し、「Text Analytics」と検索
  3. 必要情報を入力していき「作成」をクリック(価格レベルに「F0」を選択すると、制限ありの無料枠を利用可能)
  4. リソース一覧から、作成したText Analyticsリソースを選択し「Keys」からAPIキーを取得。こちらを控えておきます(今回はPythonからAPIを呼び出します)

実際の分析作業

  1. プログラムで操作しやすいよう、アンケートのxlsファイルをPythonのpandasライブラリで読み込む
  2. フリーテキストの列だけを抽出する
  3. センチメント分析機能は英語にしか対応していないため、抽出した日本語のフリーテキストを一度英訳する ※英訳には同じくMicrosoftのTranslator APIを使用
  4. 同様にAPIキーを作成する(プラン「F0」を選択して無料枠を使用できます)
  5. 英訳した文章を、Text Analytics API のセンチメント分析にかける
  6. 分析結果はJSON形式で取得できるのでスコア部分だけを抽出し、元のテキストと比較できるよう、もとのxlsファイルに新規列として加える
  7. 元のテキストとセンチメントスコアの強弱を比較し、正解/不正解を手動でカウントする

なお、センチメント分析の結果は0〜1のスコアで出てきます。今回は

0.5より大きい = ポジティブ
0.5 = ニュートラル
0.5より小さい = ネガティブ

と、みなして精度を計測しました。ここまでの手順は、既存のライブラリを使うことで、複雑なコードを書かずに進められます。

また、公式サイトではプログラムが書けなくてもブラウザ上で試せるデモもあるので、気になった方は、試してみてはいかがでしょう。
Microsoft Azure Text Analytics API

AIによる分析の結果は以下のようになりました。(一部)

設問「主催講演はいかがでしたか」

設問「満足度の理由を教えてください」

英訳後

センチメント結果

正解かどうか

とても満足

音声toテキストのデモが良かった

Voice to text demo was good

0.921882391

満足

AIを起点としたビジネスモデルについて、参考になる点が多く、また、ビジネス上の繋がりをどこで持てば良いかについて、明快であった。

The business model, which originated in AI, had a lot of reference points and was very clear about where to have business connections.

0.7998105288

不満

最後のデモはもう少し上手く出来たのでは?

The last demo was a little bit more successful, wasn’t it?

0.2236207724

不満

自分には内容的に関係無かった

I had nothing to do with it.

0.1222072542

不満

あまり印象に残っていないので。

たぶん、実際に機械学習を実務で行なっている人には真新しさがなかったからかと思います。

It’s not very impressive. Maybe, because the person who actually did machine learning in practice was not Shisa.

0.1586372256

不満

少し、わかりにくい箇所がいくつかあった。

ただの宣伝かな?という印象も受けられた。

There were a few confusing passages. Is it just propaganda? The impression was received.

0.1557813585

満足

実例や今後のAI導入にあたっての課題などを把握することができた。

I was able to grasp the problem of the introduction of the AI in the example and the future.

0.1144455373

×

満足

自分のやりたい&探していたビジネスアイデアの照会があって、新しくアイデアが浮かんだら相談しようと思えた。

I wanted to do my own business idea and I was looking for a new idea to talk to.

0.09628546238

×

不満

ビジネスの話・宣伝の傾向が強くAIの話というより、AIを詳しく知らなくても活用できるソリューションビジネスを聞いている気分になった。

I felt like I was listening to a solution business that could be used without knowing the AI in detail, rather than talking about the business and the trend of advertising.

0.5

×

参加していない

会社の打ち合わせのため落合氏の途中で退出しました。

I leave in the middle of Mr. Ochiai for a meeting of the company.

0.5

(ニュートラルなので正解)

参加していない

ブースにいたため

I was at the booth.

0.5

(ニュートラルなので正解)

フリーテキスト入力があった62件中のなかで、40件が正解正解率としては65%となりました。よくみると、なかには『もう少し上手く出来たのでは?』という曖昧な言い回しのネガティブ意見も、きちんとネガティブとして判定していたりします。

また、「ブースにいたため」といった意見はポジティブでもネガティブでもないニュートラルなので、こちらも正解。英訳していることも考慮すると、なかなかの精度です。もちろん間違えているものもあるので、すべてAIに判断を任せるのは難しいといえます(たとえば、正解は「満足」なのに、スコアが0.1以下のものなど)。

ただ、ポジティブ or ネガティブの精度を計測していたときに、おもしろい発見もありました。「満足」と答えているにも関わらず、フリーテキストはネガティブな内容のものがあったのです。

設問「主催講演はいかがでしたか」

設問「満足度の理由を教えてください」

英訳後

センチメント結果

満足

パワポの内容を読み上げてるだけでもう少しリアリティある発言が欲しかった

I wanted to speak a little more reality just by reading out the contents of the PowerPoint

0.2427845597

満足

Specify(のパート)がよく分からなかった

I was not sure about Specify.

0.2382678688

満足

営業トークな印象を強く感じてしまったが、貴社の取り組みを伺うことができた。

I felt a strong impression of the business talk, but I was able to hear about your efforts.

0.1865415275

これらのセンチメント結果は0.5未満(ネガティブ)なのでAIが見事、正解を出しています。検証中に見つかった思わぬ副産物ですが、選択肢上は「満足」だけど、じつは不満の意見だったというデータを見つけ出すきっかけにもなりそうですね。

今回、テキスト内容と満足度が一致していないものが64件中3件あったのですが、AIはいずれも正しいセンチメントを出してくれました。

キーフレーズ抽出は、精度は良いがノイズも多い結果に

続いてはキーフレーズ抽出です。

  1. センチメント分析と同様に、pandas で xls ファイルを読み込む
  2. フリーテキストの列(日本語・英訳版)を、Text Analytics API のキーフレーズ抽出分析にかける ※キーフレーズ抽出は日本語・英語の両方に対応
  3. 分析結果がJSON形式で出力されるので、キーフレーズだけを抽出
  4. 抽出したキーフレーズをもとに、こちらのPythonライブラリを使用して、ワードクラウドを作成
  5. 出力されたワードクラウドと実際のセッション内容を比較して、精度を検証
ワードクラウドとは
単語の頻出度を図で表したもの、大きい単語ほど頻出回数が多いことを意味する。

AIの出した結果はこのようなもの。(一部)

設問「満足度の理由を教えてください」

キーフレーズ抽出

英訳後にキーフレーズ抽出

AIを活用した技術やビジネスがより身近なものに感じることができました。

“AIを活用した技術やビジネスがより身近なものに感じることができました”

“technology”, “business”, “AI”

営業トークな印象を強く感じてしまったが、貴社の取り組みを伺うことができた。

“営業トークな印象を強く感じてしまったが”

“business talk”, “strong impression”, “efforts”

内容は良かったが、具体的な事例の技術要素をもっと詳細に知りたいと思った

“内容は良かったが”

“technical aspects”, “concrete case”, “content”

日本語の精度は残念ながら、まだまだでした。なので、今回は英語で精度を検証していきたいと思います。英語のキーフレーズを、ワードクラウドにしてみると下記のとおり。

AI, content, bussiness が大きいのはもちろんですが、その次には Mitsubishi, speech, demo, trend, startup, market …… といった単語も目立ちます。分析対象だった今回の主催講演を、まとめると

  • AIのビジネス活用・市場動向について言及
  • 三菱電機との共同プロジェクトについて紹介
  • 『AI Startup Studio』というスタートアップ支援プログラムを発表
  • 『Specify』というプロダクトを発表、デモンストレーションも実施

といった内容なので、抽出されたキーワードと講演内容は、合致しているといえます。

一方で、number, new, lot, information だったり、テーマにはなっていない一般的な単語も抽出されていて、ノイズも多いところは今後の課題です。

続いて、ポジティブとネガティブで分けてみると下記のとおり。

ポジティブ

ネガティブ

この結果をうけて、AIの分析どおりに要約するなら

  • 「ポジティブな意見には、内容(content)やビジネスに対するものが多かった」
  • 「ネガティブな意見には、AIに対するものが多かった」

ということになります。合っているといえば、合っています。ただし、深く分析したい立場からは、これは当然のことすぎて良い結果とはいえません……
たとえば、「ネガティブな意見には、”照明”に対するものが多かった」「ポジティブな意見には、”AI Startup Studio”に対するものが多かった」といった、対象がより具体的な要約が欲しかったので、今回は期待値を少し下回る結果となりました。やはりデータ件数も少ないので、そこまでは難しい模様。
指摘に対してあらかじめアタリがつくのであれば、アンケート設問を工夫し、指摘対象のカテゴリ分けが大まかにできるようにするのも手ですね。

例:

  • 【選択設問:改善してほしい項目があれば教えてください】
    「セッション内容」「会場・設備」「イベントスタッフの対応」「その他」
  • 【自由記述:その理由を教えてください】

一方で、具体的な指摘対象が抽出できていた物もありました。弊社が中心に開発しているSpecifyの紹介・デモンストレーションをおこなったセッションに対して

  • 「ビジネスの話・宣伝の傾向が強く、AIの話というより、AIを詳しく知らなくても活用できるソリューションビジネスを聞いている気分になった」
  • 「自社のPRに閉じた内容だったため」

といった意見がいくつかありました。一方でAIが抽出されたキーフレーズのなかには、「advertisement」といった単語もあったため、うまく要約できていれば、宣伝や広告を連想される指摘があったということに気づけます。

弊社によるSpecifyの紹介とデモンストレーション

今回の検証としてはここまでですが、単語抽出の精度向上策としては、

  • 係り受け解析をおこなった上で、単語を抽出する
  • 頻出単語に注目するのではなく、固有名詞を抽出していく

といった方法も考えられそうです。

係り受け解析とは
「広い部屋」→「広い」は「部屋」にかかっている、といったように、どの単語がどの単語にかかっているかという修飾関係を明らかにすること。日本語の係り受け解析ライブラリではCaboChaなどが有名。

(※ 今回、全体の単語頻出度を考慮するTF-IDFという指標を用いても、そもそも一般的な単語が多く抽出されていること・サンプル数が少ないことから、良い洞察は得られませんでした)

検証によって、わかったことは多かった。組み合わせや応用で、業務活用の可能性はありそう

結果をあらためてまとめると、下記のとおり。

対象データ:
『THE AI 2nd』アンケートデータ(エクセル形式)内、弊社による主催講演のアンケート。うち、フリーテキストの回答があったもの 62件
センチメント分析(ポジティブ or ネガティブの判別):
正解率:65%(62件中40件 正解)
キーフレーズ抽出(重要語の抽出):
セッションテーマの単語は基本的に抽出できているが、ノイズも多い
2つの組み合わせたときの効果:
2つの機能を組み合わせれば「ポジティブな意見には、内容やビジネスに対するものが多かった」といった要約を機械的に作成することは可能。ただし、深く分析したい立場からすると、当たり前すぎて満足のいく洞察を得るのは難しそうです。

現状の総括としては、「100%AI任せは難しい」といったところ。今回は英訳もしているので、純粋な日本語で分析できなかったのは少し残念でした。日本語対応と日本語の精度向上にも期待ですね。

ただし、ニュートラルだったり曖昧な表現も正解できているので、業務に活用できる可能性はありそうです。また今回は、データが64件しかない中でおこなったので、データが多ければまた新しい発見があるかもしれません。APIは無料枠もあるので、皆さんもアンケート分析にトライしてみてはいかがでしょうか。

弊社は2月に『THE AI 3rd』も開催予定。今回の検証結果を活かして、THE AI 3rdでもAIを使った分析にチャレンジしてみたいと思います。
リアルなAI活用事例セッションを多く用意していますので、皆さまも是非参加されてみてはいかがでしょうか。