こんにちは、AI製品開発グループの太田です。
ChatGPTがOpenAI社から発表されて半年以上が経過しましたが、ChatGPTを様々な業務に適用しようとする試みが増えてきました。
ChatGPTと自社のデータを連携し、販売している製品や提供しているサービスのFAQシステムを構築したり、ユーザーが利用できる顧客対応チャットボットを構築したりと様々な応用先が考えられています。
ここで、活用したいのが会話履歴が保存されたChatGPTのチャット履歴です。チャット履歴には自社の顧客が持つ要望や不満などが蓄積されます。これを活用しない手はないですが、そのようにチャット履歴を保持し分析を行うか悩まれている方も多いのではないでしょうか。
本記事では、特にデータ分析者向けに対話ログ分析ソリューション Know Narrator Insightを用いて、ChatGPTチャット履歴から自社サービス改善のための知見を得る方法を紹介します。
ChatGPTのチャット履歴分析の課題
1. チャット履歴からユーザーが期待してない回答の対話履歴を抽出するのが困難
ChatGPTで構築したサービス(FAQシステム、顧客対応チャットボットなど)の回答の質を向上させるには、分析者がチャット履歴を分析し、ユーザーが期待した回答を得られていない事例がないか探す必要があります。
ユーザーの質問に対してちゃんと答えられていない回答を特定できれば、対策にその回答に関する情報を持つデータベースを新たにChatGPTと連携したり、プロンプトを改善できます。
しかし、チャット履歴に含まれるユーザーとChatGPTの対話履歴を一から分析するのは非常に手間がかかり、さらに自然言語処理の分析スキルが必要になります。また、分析プロセスを自動化しようと思うと準備も実装も時間がかかります。
2. 自社向けにLLMをファインチューニングするときのデータセットを作りたい
通常の独自文章の検索機能をもったChatGPTシステムでは、製品やサービスの使用や会社のルールなどのドメイン知識をプロンプトによって与えることはできても、ChatGPT自体に記憶させることはできません。
より高度な回答を得るには、ChatGPTと自社データを連携させるだけではなく、ファインチューニングによりChatGPTに独自のドメイン知識を学習させる必要性があります。(公開日の2023年8月25日時点では、ドメイン知識をファインチューニングでChatGPTに理解させるのは難しいのではないかという声もあります。)
ファインチューニング用のデータセットを作るために、誤回答の対話履歴をチャット履歴から抽出し、期待される正しい回答を付与することでファインチューニング用のデータセットに構築することもできます。
しかし、データセットを一から準備をしようとすると、回答の品質評価、外れ値検知や様々な対話履歴をバランスよく選ぶ必要があり、非常に難易度が高くなってしまいます。
これらの課題をデータ分析者が実装したデータの処理スクリプトだけで解決することは難しいです。そこで、Know Narrator Insightを使用して解決する方法を紹介します。
対話ログ分析ソリューション Know Narrator Insight
Know Narrator Insight は、ISIDがリリースしたChatGPTに関連する3つの製品のひとつです。3つの製品には、安心・安全にChatGPTを利用できるKnow Narrator Chat、社内文書をChatGPTによって効率的に検索できるKnow Narrator Searchが含まれています。
そして、Know Narrator Insightを利用することで、Know Narrator Chatと Know NarratorSearchのチャット履歴を分析することが可能になります。
社内用ChatGPTのチャット履歴は、機密情報や個人情報を多く含む可能性もあるため、社外に分析を依頼することはできません。また、自社で分析する場合はデータ分析のスキルがないと難しいです。私達はChatGPT導入担当者や情報システム部門の方が自らチャット履歴を様々な角度で分析できるようにKnow Narrator Insightを開発しました。
Know Narrator Insight導入による効果
チャット履歴の対話評価やクロス集計から、以下を実現できます。
1. 数週間かかったChatGPTのエラー分析が数時間で終わる
データ分析者はChatGPTが間違った回答を出した対話履歴を抽出するために、データの前処理、トピック分析、重要単語の確認、分析観点の決定、対話ログに含まれる文字列の処理など、膨大な処理を実装することになります。
さらに、ユーザーグループごとに結果を分けて分析をしようと思うと、データ処理のためのスクリプトも複雑になり実装に時間がかかります。
Know Narrator Insightを使用すればそれらの処理はすべて自動で行うことができます。分析者は手間のかかる実装作業から解放され、仮説検証に集中できます。
2. 様々な分析軸を簡単に掛け合わせられ、分析結果の報告の質が上がる
従来であれば対話ログに対し、用途に応じて、単語頻度、共起単語、ネガポジ分析、文章長から報告レポートを作成する必要がありました。Know Narrator Insightを使用すれば、各分析だけでなく、それを組み合わせた分析が容易にできます。
例えば、AIや人間の評価が高い対話でフィルタリングしたうえで、トピックごとに対話履歴を絞ることができます。従来だと毎回スクリプトを実装しなければ分析できなかったことも自動で分析可能になり、痒いところまで手が届くようになります。
3. 対話ログ分析から自社サービスの不満が明らかになり、サービス改善につながる
自社サービスのFAQサイトにChatGPTによる質問入力フォームを作ろうとする方も多いのではないでしょうか。その場合はサービスのマニュアルやFAQ文章をChatGPTに連携させることになると思います。
ISIDが提供する、Know Narrator Searchを使用すればこのシステムを用意に構築することができます。そして、Know Narrator Searchのチャット履歴をKnow Narrator Insightで分析すれば、ユーザーのサービスに対する不満を抽出でき、サービスの向上につながる知見を得ることができます。
4. ファインチューニング用の対話ログ選定が容易になる
ChatGPTを含む大規模言語モデルをファインチューニングするには品質の高いデータが必要です。
高い品質とは何でしょうか。品質の高さを評価する観点として、学習データの偏りがないか、回答が期待する結果を含んでいるか、読みてが理解しやすいか、回答が構造化されているかなどがあります。
これらの観点から、ファインチューニングに使用する学習データには、ChatGPTが人間の期待する結果を生成するようにアライメント(Alignment)をする必要があります。
最近では、回答の品質が高いgpt4の回答を抽出してファインチューニングで使用する学習データに使う論文も多くでています。Know Narrator Insightでは、対話ログから学習データを選定するためのAIの回答評価機能と対話トピック評価機能を使用して自動的に質の高い対話履歴を抽出することができます。
分析方法を紹介
Know Narrator Insightを用いた分析例を3つ紹介します。
1. ChatGPTエラー分析
人間の対話評価とAIによる対話評価で回答品質の低い対話を絞り込むことができます。 また文章検索で「申し訳ありませんが」で検索すると、ChatGPTの知識では限界だった質問なども分かります。 さらに、対話トピックとのクロス集計をすると、回答品質が低い話題が分析できます。
Know NarratorSearchのような社内文章参照型のChatGPTの対話ログの場合、どの参照文章が回答品質の低下を引き起こしているのかも分析できます。
2. 自社サービスへの問い合わせ分析
参照型ChatGPTを自社サービスの問い合わせに用いている場合、Know Narrator Insightの対話トピックとハッシュタグを活用することで、サービスの不満をチャット履歴から分析することができます。 対話トピックは、似たような質問をひとまとめにグルーピングし、その対話履歴がどのような内容だったのか表します。 さらに、各トピックにどんな内容が含まれるかハッシュタグを確認すると分かります。
3. ファインチューニング用データセット抽出
ファインチューニング用のデータセットも対話トピックとAIによる評価を合わせることで抽出することができます。
最初にAIの評価が高い対話ログに絞り、その対話トピックを確認しましょう。実際に対話チャット履歴をダウンロードする機能は、今後追加される予定です。
最後に
この記事では、社内用ChatGPTのチャット履歴を分析する重要性と、Know Narrator Insightを利用したチャット履歴の分析事例をご紹介しました。ご興味を持った方はこちらのお問合せフォームよりご連絡ください。
執筆
AITC 製品開発グループ
太田 真人