見出し画像

セミナーアンケートをBigQueryで簡単に感情分析したお話

突然ですが皆さん、説明会やセミナーを開催した際に、参加者から回収したアンケート結果を活用できていますか?

「アンケートをとったはいいものの、なんとなく見て終わり」
「どのように分析したら改善につなげられるのかわからない」

このような方も多いのではないでしょうか。
本記事は、そんな人事/採用担当者・セミナー担当者の方にぜひ読んでいただきたい内容です。

今回は、事業企画推進部・新規事業企画チームリーダーの奥井さんが記事を書いてくれました。

この記事は BigQuery Advent Calendar 2024 13日目の記事です。

こんにちは。HR Force の奥井です。

本記事では、BigQuery を用いて、弊社で実施したセミナーのアンケートを簡単に感情分析したお話を紹介します。
技術的なお話というよりも、セミナーの担当者や人事担当者が BigQuery を利用するとそういったこともできるのか、と知っていただければと思っています。



1.自由記述欄のデータを活用したい

弊社では定期的にセミナーを開催しており、参加後のアンケートデータが豊富に蓄積されています。
これらのデータは、セミナーの質を改善するうえで非常に重要です。
しかし、それらデータのすべてを効果的に活用できているわけではなく、一部は十分に活かしきれていないものもありました。
その一例が「自由記述欄」です。

このような自由記述欄は、
参加者の生の声が聞けるため貴重なデータであることは確かですが、回答が非常に多様で一貫性がないことから、データ処理が複雑になりがちです。
そのため、(弊社だけに限らず一般的にも)セミナーの企画・担当者がアンケートを確認する際に、なんとなく感想を読んで終わり、ということは少なくないのではと思います。
そこで、これら情報を活用できないかと思い、本記事の内容となります。

2.データの分析方法

前提 

今回は、実際に先日12月2日(火)に行われた リクルーティングクラブ 最速体験会 のアンケートを利用してみようと思います。
全体像は以下の通りです。

Google Forms → Google スプレッドシート → BigQuery → Looker Studio

本記事では各種サービスの連携方法については割愛し、BigQuery に絞ってお話します。
それぞれの連携手順は以下の公式ドキュメントを参考にしてください。

Google ドライブの外部テーブルを作成する | BigQuery
Google BigQuery に接続する - Looker Studioのヘルプ

実装例とその結果

それでは本題です。
今回は、BigQuery の ML.GENERATE_TEXT 関数 を用います。

BigQuery テーブルに保存されているテキストに対して自然言語生成タスクを実行できる ML.GENERATE_TEXT 関数

ML.GENERATE_TEXT 関数 | BigQuery

言い換えると、
BigQuery 内に保存されたデータを使って、AI モデルを利用して自動的に文章を生成したり、要約したりするタスクを実行できる、ということです。
このことから、自由記述欄の内容をBigQueryに格納さえしてしまえば、
一切加工することなく、ML.GENERATE_TEXT 関数 を用いたクエリを実行するだけで簡単に利用することができます。(いい時代ですね)
今回は以下のようなクエリを実行し、感情分析を生成AIにお願いしてみました。

SELECT *
FROM
  ML.GENERATE_TEXT(
    MODEL `mydataset.llm_model`,
    (
      SELECT
        CONCAT(
          '次の文章(Text)はセミナーに参加された方々のセミナーに対する満足度の感想です。\n',
          'これらの感情分析を行い、Positive か Negative か Neutral のどれかに分類してください。\n',
          'また、セミナーの評価に対するキーワードがあればそちらも抽出して記載してください。\n',
          '尚、出力結果は「Positive - 具体的な事例, 登壇者の説明」や「Negative - 話すスピード, 曖昧」のようにしてください。\n',
          'それ以外の情報は必要ではないです。例外は認めません。\n',
          'Text:',
          free_comment -- 自由記述欄
        ) AS prompt
      FROM `mydataset.input_table` -- アンケート結果が格納されているテーブル
    ),
    STRUCT(
      0.1 AS temperature,
      1000 AS max_output_tokens,
      0.1 AS top_p,
      10 AS top_k,
      TRUE AS flatten_json_output));

※ML.GENERATE_TEXT 関数 を実行するには、ほんの少しだけ事前準備が必要です。 公式ドキュメント をご確認ください。
クエリ実行完了後、以下のような結果が得られました。

自由記述欄の内容を評価し、分析の参考になりそうなキーワードが抽出されていることが確認できます。
生成AIがタスクを実行してくれるため、容易にテキストデータをカテゴライズすることができました。
そして、生成されたデータを Looker Studio で可視化した一例が以下です。

上記のグラフからは以下が読み取れそうです。

・約8割の方はポジティブな意見を述べてくださった
・ポジティブな要因として、セミナーの内容/コンテンツが挙げられる(特にオファー面談の講義や紹介したフレームワークが好評な模様)
・ネガティブな要因として、コンテンツの時間や量が影響していそう

このような情報だけでも、次回以降のセミナー開催に向けた改善施策が思い浮かびあがりそうですね。
また、本記事では割愛していますが、参加形態(オンライン/オフライン)によっても評価に差異がありました。より深い分析に繋がりそうですね。

3.最も伝えたかったこと 

テキストデータは、豊富な情報を含んでいる反面、非構造的で多様性が高いため、そのままでは分析に適用しにくいという特性があります。
これらを生成AIを活用しカテゴライズすることで、効率的にパターンを見つけたり、より深い解釈を行えたりする試みは非常に興味深いと考えます。
従来であれば、感情分析は Python などのプログラミング言語を利用することが一般的でしたが、BigQuery にてクエリベースで容易に実施できるのは非常に有難いことですね。

4.その他の活用方法

今回の例では、セミナーに対するアンケートを孤立的に分析したに過ぎません。
例えば、同様のセミナーを複数回実施すれば時系列でカテゴライズしたデータを確認できますし、他の社内データと結合し今回行ったカテゴリーごとのサービス入会率や継続利用率などを確認しても面白そうですね。


5.最後に

今回、本記事で触れたリクルーティングクラブは、⼈事担当者のための成⻑志向型コミュニティです。
“人事の居場所”をコンセプトとし、人事担当者同士が悩みを共有し、互いに支え合い、共に成長できる場を提供しています。

【サービス内容】
・定期開催の「採用アドバイザリーセミナー」
・「リーダーボードイベント」
・不定期開催の「30分コンサルティング」「共催セミナー」 など

学び→実践→改善の継続的な成長サイクルを実現するサービスをご用意していますので、少しでも気になると思ってくださった方は、こちらからお問い合わせください。


<この記事を読んで、HR Forceに興味を持った方はこちら>

▼公式サイト
https://www.hr-force.co.jp/

▼HR Forceで働きたい方はこちら
https://jobs.recruiting-cloud.jp/hrf/

▼お仕事のお問い合わせ

▼採用に関するお悩み相談(無料)(人事責任者/経営者の方)

▼公式X(Twitter)
https://twitter.com/hrf_official
人事・採用担当者の役に立つ情報なども発信しています。


いいなと思ったら応援しよう!