ChatGPTでユーザービリティテストのログにラベル付けして効率化

この記事は約6分で読めます。

こんにちは。HRテック企業でPdMをしているクロです。これまで600名以上へのユーザーインタビューや様々なリサーチを通じて「UIUX改善」にも取り組んできました。ここ1年半くらいの僕のお気に入りは、ChatGPTなどのLLMツールを使ったデータ分析。今回はその応用例として、ユーザビリティテストで集まる大量のログや発話データを効率的に処理し、“時短”と“深掘り”を両立する方法を紹介します。


ChatGPTなどのLLMを活用する背景

ユーザビリティテストを行うと大量のログが発生します。例えば被験者の音声や画面操作の録画、文字起こし(発話データ)、操作ログ(どの画面を何ステップ移動したか)など。従来、分析者が手作業でこれらを読み込み、失敗原因をタグ付けし、共通パターンを分類する必要がありました。

しかし、LLMで以下のような取り組みが可能です。

  • 自動タグ付け: テスト参加者の発言を「UI不明」「操作ミス」「バグ」などカテゴリ分け
  • クラスタリング支援: 失敗原因を仮説ごとに整理しやすい

例えば「画面上のボタンが見つかりにくい」「テキストが専門用語すぎて分からない」といった発言が多発していれば、AI要約により数分で全被験者発話の傾向を見抜くための集計を行うことができます。
そうした定性的データの整理は、時間がかかる部分。AIを活かせばPdMやUXリサーチャーの工数が激減し、リサーチの“深い洞察”に集中できるようになります。


テストログ分析にLLMを活かす具体フロー

では、実際のワークフローを例示します。前提として、「ユーザビリティテストで操作ログと発話データを取得済み」という状態を想定します。

  1. 文字起こし/ログのテキスト化
    被験者の発話音声をSpeech-to-Textツールなどで文字起こし。テキストファイル化します。
  2. テキスト分割とPrompt準備
    ChatGPT等に投げ込む前に、長いログをセッション単位や発話ブロックごとに分割。
    (「タスク1の発話+操作ログ」「タスク2の発話+操作ログ」…)
  3. Promptsで要約/タグ付けを依頼
    「以下はユーザビリティテストのログです。発話をカテゴリ別に要約し、失敗原因をタグ付けしてください…」など具体的なPromptを実行。
  4. AIからの結果を集約
    ChatGPTが返してきたサマリやタグ付け一覧をスプレッドシート等に貼り付け。
    カテゴリごとに「画面が見づらい」「エラーメッセージが難解」などラベルを整理。
  5. 再度AIにクラスタリング依頼
    大きく似たタグをまとめて上位概念にするとか、指摘の重複率を算出させるなど二次分析を行う。
  6. Lostness計算など定量指標と対応
    (詳しくはLostness解説記事を参照)
    どのタスクで迷いが多い? その迷いの原因タグは何か? データを紐づけて深い洞察に活かす。

この工程を踏むことで、定性情報(発言)と定量情報(Lostnessや操作時間など)をAIがまとめやすくなり、調査者の負担が大幅に減ります。


テキストデータ→AI要約→Lostnessの流れを説明

具体的に、どうやってLostnessなどと組み合わせるかを例示します。

  1. 操作ログからLostness計算
    (C/N)と(S/R)を集計し、各被験者ごとにLostnessを算出。
  2. 発話データをAIに要約させる
    例えば「タスク1での発言ログ:以下の発話を要約し、失敗原因や主要キーワードをタグ付けしてください」とPrompt入力。
  3. 結果をスプレッドシートに統合
    被験者AのLostness=0.45 / AIタグ=「ボタンの場所不明」「専門用語が分からない」など。
  4. 二次分析(AIクラスタリング)
    タグをまとめて「UIラベル不明」「エラー文言が難解」「画面数が多い」など3~5の大きな分類に収斂。
    ChatGPTに「これらのタグを意味の近いものごとにグルーピングして」とPrompts依頼。
  5. Lostness高い人はどのタグが多い?
    例えばLostness0.4以上の被験者の8割が「複雑な専門用語に苦しんでいる」タグを付与されているなら、用語改善が急務。

数値(Lostness)とテキスト(失敗原因タグ)を紐づけることで、施策の優先度や方向性が一段と明確になります。


課題・留意点:個人情報やセンシティブデータの扱い

AIにログを渡す際、以下のようなリスク・留意点があります。

  • 個人情報を含む場合: 住所や氏名、メールアドレスなどが含まれる発話ログをそのままAPIに送信するのは危険。
    → 匿名化、マスキング(固有名詞を「XXX」に変換)など事前処理が必須
  • 企業機密やセンシティブ情報: 社内プロトタイプに対する被験者の発言、開発コード名など。
    → LLMに送信したデータが学習に利用されない仕組み(「Opt-out」設定可能なツール)を使うか、オンプレ型LLM検討
  • Prompts精度の保証: 曖昧な指示だとAIが意図と異なるタグ付けをする。
    → 「発話ログを読み、以下の観点で分類せよ。<観点リスト>…」と明確なPromptを書くことが重要

また、ChatGPTのようなAPIベースでも利用規約に沿って、安全な範囲でデータを投げる必要があります。社内向けの利用ポリシーを整備し、セキュリティ面の合意を得た上で活用しましょう。


今日から実践できるアクション

  1. ログの匿名化
    個人情報・機密データをマスキングした上で、AI分析に渡す前処理をスクリプトで自動化。
  2. Promptsテンプレ作成
    「ユーザビリティテストログを要約→失敗原因を一覧化→タグ候補を出す」という一連のPromptをテンプレ化し、再利用。
  3. 二段階分析
    1段階目:要約&タグ付け
    2段階目:タグのクラスタリング&集計をAIに依頼
    再度スプレッドシートに戻してLostnessなど定量指標と合体。
  4. オンプレ/プライベートLLM導入検討
    セキュリティ要件が厳しい場合、社内サーバーで動くLLM(例:GPTモデルのプライベートホスティング)を検討。
  5. チームへの展開
    成果をUXダッシュボードや社内Wikiにまとめ、PM/デザイナーがすぐ参照できる形に。

Q&A

Q: 発話ログがあまりに長大すぎるとAIに入らないことは?
A: ChatGPTなどには「トークン上限」が存在します。分割して小分けに送る、要約段階を複数回に分けて行うなどの工夫が必要。オンプレ型LLMでも同様のバッチ処理やステップ分割が有効。

Q: 要約タグが曖昧になる場合、どう改善すればいい?
A: Promptsを明確化するのがコツ。「UIが分からない」「操作ミス」「バグの疑い」など事前にタグ候補リストを提示すると、AIの分類が一貫性を増します。

Q: Lostnessとの対応づけがうまくいきません…
A: まず被験者IDごとにLostness値を計算し、同じIDの発話ログ要約をAIにさせて紐づけるのが基本。後はスプレッドシート等で「IDごとに数値とラベル」を結合し、さらにAIに「ID単位の比較」を指示すると精度が上がります。


参考情報

  • [1] Nielsen, J. (1993). Usability Engineering. Morgan Kaufmann.
  • [2] Tullis, T., & Albert, B. (2013). Measuring the User Experience. Morgan Kaufmann.
  • [3] Smith, S. L. (1996). “Lostness Measures and Graphical Analysis of Hypertext Paths.” International Journal of Human-Computer Interaction.
  • [4] Lostnessとタスク間連関分析の詳細解説 (ユーザビリティテストでの先進指標を学べる記事)
タイトルとURLをコピーしました