生成AIで大量のフリーコメントを楽に分析する方法
はじめに
初めまして、ICT統括室サービス企画部の高砂と申します!
サービス企画部は社内の新規ICTサービスを企画・検討する部署で、私は主に生成AI関連の検証などに携わっています。
本記事では生成AIによる大量フリーコメントの分析方法についてお話しします。
本記事で分かること ・生成AIを活用した大量フリーコメント分析方法の一例 ・上記方法における工夫点 |
検討背景
リクルートでは各種社内サービスの改善のため、様々なアンケートを行っています。
アンケートではフリーコメント(以下、「フリコメ」)での回答をもらうことも多いと思いますが、「回答数が多い際のフリコメ分析が大変すぎる」という声をよく聞いていました。
分析としてフリコメ回答の傾向を掴みたい場合、現状では全てのフリコメに目を通す必要があります。
「その手順を生成AIで効率化できないか?」という仮説のもと、実際のいくつかのアンケート回答(個人情報除く)をもとに検証をしてみました。
なお注意点として、本手順は分析を全自動化できる訳ではなく、分析の各手順を生成AIで効率化するという方向性で設定しています。
最終的には人の目で確認・判断する必要がある旨をご留意ください。
分析手順と工夫点
手順の全体像
分析手順は下記の3ステップとなります。
分析においてポイントとなる手順およびその理由は下記3つです。
ポイント① 分析をステップに分解して処理を実行 →1つのプロンプトでカテゴリ生成・カテゴリ分類など複数の分析処理を同時に指示すると精度が大きく下がるため ポイント② STEP2では「分類確度」も出力し、確度が低いものを優先的に目視で確認 →カテゴリ分類において生成AIが判断を迷うケースが一定数あるため ポイント③ フリコメ1件ごとに分析処理を実行 →大量のフリコメを同時に分析しようとすると精度が大きく下がるため |
各手順の詳細
本記事では特に多くの知見を得られた、前半の2ステップについて詳しく説明します。
STEP1 カテゴリ生成
実行環境
使用ツール:ChatGPT Enterprise 使用モデル:GPT-4o インプットデータ:複数のフリコメを羅列しているCSVデータ |
分析手順
1. ChatGPT Enterpriseのチャット画面にて、インプットデータを添付した上で下記プロンプトを実行
#命令書: 社内サービスの現状をアンケートで分析するため、アンケート回答を分析する必要があります。 #制約条件と#背景情報を踏まえ、#入力に対して回答を分類するためのカテゴリを#出力形式で出力してください。 カテゴリの名前および説明以外は出力しないでください。 #入力は一行ごとに一つの回答です。 #制約条件: ・回答をグルーピングして、カテゴリとして適切な名前とその説明を出力結果として返す ・カテゴリは回答を網羅的にグルーピングして作成する ・カテゴリはなるべく重複しないように作成する ・「その他」というカテゴリを作成する ・該当する回答が全体の1割未満になるカテゴリは無理に作成せず、そのカテゴリに分類する想定だった回答は「その他」に分類する #背景情報: サービスは「XXX」という名称で、YYYをしたり、ZZZができる #入力: 添付したCSVファイル |
2. 下記のような出力結果が得られる
1.パフォーマンス問題 動作が遅い、落ちる、フリーズする等の問題に関する回答。 2.機能性の問題 特定の機能が使えない、機能にバグがある、検索性が悪い等の回答。 3.利便性と使い勝手 ユーザインターフェース、ユーザーエクスペリエンス、比較的に使いづらい、操作が煩雑等の回答。 4.外部連携と統合問題 他のツールとの連携が困難、複数の通信手段があることによる問題点等の回答。 5.安全性とプライバシー問題 セキュアな環境での利用制限、データ保護に関する懸念等の回答。 6.その他 上記のカテゴリに当てはまらない、特殊または一回性の問題に関する回答。 |
プロンプトのポイント
下記3点の工夫点をそれぞれプロンプトに反映しています。
・「網羅的に」「重複しないように」といった制約条件を生成AIに対して指示すると想定に近いカテゴリが出力できる ・フリコメ全体件数のうち1割未満のフリコメに分類されるカテゴリは「その他」に集約するように指示すると、過不足ないカテゴリが出力できる →マイナーな回答も無理に分類しようと過剰にカテゴリを作成してしまう傾向があるため ・社内独自のシステムでWeb上の情報が少ない場合は、背景情報としてプロンプトにシステム概要等を記載することで出力の品質を向上させることができる |
STEP2 カテゴリ分類
実行環境
使用ツール:PythonでOpenAI APIを利用 使用モデル:GPT-4o インプットデータ:複数のフリコメを羅列しているCSVデータ |
分析手順
上記も踏まえ、本案件では最終的に下記プロンプトにて処理を実行しました。
1. PythonコードにてAPIを呼び出し、STEP1で生成したカテゴリおよびインプットデータを含めた上で、下記プロンプトを実行
#命令書: 社内サービスの現状をアンケートで分析するため、アンケート回答を分析する必要があります。 #入力を#カテゴリごとに[0:該当しない、1:該当可能性あり、2:確実に該当]のいずれかに分類してください。 分類が難しい場合は「その他」カテゴリに分類してください。 #出力形式以外の要素は含めないでください。 分類結果は0,1,2のいずれかで出力してください。 入力は一行で一つの回答です。 #出力形式: {入力},{カテゴリ1の分類結果},{カテゴリ2の分類結果},{カテゴリ3の分類結果},{カテゴリ4の分類結果},{カテゴリ5の分類結果} #出力例: 機能不足で困っている,3,0,0,0,0 #カテゴリ: (STEP1で出力されたカテゴリ名およびその説明をコードで呼び出し) #入力: (分析したいフリコメをコードで呼び出し) |
2. 下記のような出力結果が得られる
※プログラムでCSV形式にて出力できるように実装
回答 |
パフォーマンス問題 |
機能性の問題 |
利便性と使い勝手 |
外部連携と統合問題 |
安全性とプライバシー問題 |
その他 |
動作が遅い点 |
2 |
0 |
0 |
0 |
0 |
0 |
突然落ちる時がある |
2 |
0 |
0 |
0 |
0 |
0 |
過去のメッセージが検索できない |
0 |
2 |
0 |
0 |
0 |
0 |
よく接続不良になる |
1 |
0 |
0 |
2 |
0 |
0 |
アップデートが多く、知らない間に変更になっている。動作が導入初期と比べて重たくなっている |
2 |
1 |
0 |
0 |
0 |
0 |
BGM再生しながら画面投影する際の設定が勝手に変わったりしてトラブルになりがち |
0 |
2 |
1 |
0 |
0 |
0 |
iPadで画面投影すると音声が相手に聞こえなくなることがある。 |
1 |
1 |
0 |
2 |
0 |
0 |
3. 手順2で得られた結果について分類確度が1もしくは0のみの分類結果を目視確認し、必要に応じて正しい分類へ修正
プロンプトのポイント
下記3点の工夫点をそれぞれプロンプトに反映しています。
・1件ずつカテゴリ分類を指示することで、精度低下を防ぐことができる →生成AIに一度にインプットするデータ量が多くなるほど精度が低くなるため ・カテゴリの分類確度(どの程度自信を持って分類したか)を出力指示することで、生成AIが「分類確度が低い」と識別した分類を目視確認/必要に応じ正しい分類へ修正することで、コスト少なく分類精度を向上させることができる →手作業でもカテゴリ分類を誤りやすいようなフリコメについては、同様に生成AIでもカテゴリ分類を誤ることが多いため ・生成AIプロンプトの手法の一つである「One-shot/Few-shot Learning」(=入力例とそれに対応する出力例を1個/もしくは複数個記載する)ことで、分類精度を向上させることができる |
本手順の精度評価
評価方法
本手順の評価においては、社内チャットツールの利用者満足度アンケートを利用しました。
本アンケートには約700件のフリコメが含まれており、そちらを分析対象としています。
また評価における「精度」の定義としては、人が手作業でカテゴリ分類をした結果を正とし、それに対してどの程度の割合で完全一致しているか、としています。
評価結果
前述の結果を上記定義において評価した結果、本検証における分類精度は約90%となりました。
そして分類確度が低く、目視確認および修正を行ったフリコメ件数の割合は全体の約27%でした。
おわりに
前述の分析結果および精度評価から分かるように、分析に生成AIを用いることで、1から手作業でカテゴリ生成・カテゴリ分類を行うより大きく効率化できました。
大事なポイントを改めてまとめると、本手順では下記3点のポイントを踏まえることで分析をより精度高く行えました。
ポイント① 分析をステップに分解して処理を実行 →1つのプロンプトでカテゴリ生成・カテゴリ分類など複数の分析処理を同時に指示すると精度が大きく下がるため ポイント② STEP2では「分類確度」も出力し、確度が低いものを優先的に目視で確認 →カテゴリ分類において生成AIが判断を迷うケースが一定数あるため ポイント③ フリコメ1件ごとに分析処理を実行 →大量のフリコメを同時に分析しようとすると精度が大きく下がるため |
本記事がフリコメ分析に取り組もうとしている方のご参考になれば幸いです。
このブログを読んでピンと来た方は、ぜひ一度採用サイトもご覧いただけるとうれしいです。まずはカジュアル面談から、という方も大歓迎です。
また、他にも色々な記事を投稿していきます!
過去の記事もご興味あれば、ぜひ他の記事もあわせてご参照ください。
・Recruit Tech Blog
・リクルート ICT統括室 Advent Calendar 2024
・リクルート ICT統括室 Advent Calendar 2023