ChatGPTを使ったテキストマイニングでお客様の声を分析し顧客満足度を高める方法
これまで、CRMの分野でのAIの利用は、ある程度の規模を持った会社に限定されていました。しかし今、ChatGPTなど生成系AIの登場により、技術的にもコスト的にも、多くの企業で活用機会が増えつつあります。ここでは、顧客の声(アンケートの自由文回答やコールセンターの記録など)を分析対象とした、ChatGPTの活用方法を紹介します。
この記事のポイント
ポイント1 手持ちのテキストデータについてChatGPTに分析させる
- ポイント2 お客様の声=文章をネガポジや対象別に分類したり要約する
- ポイント3 顧客調査の計画から報告までChatGPTを活用するヒント
目次[非表示]
- 1.ChatGPTに手持ちのデータを分析してもらう
- 2.対話型画面でサマリーなどを作ってみる
- 2.1.長文をサマリーに要約する方法
- 2.2.長文内の"言葉"の出現率を調べる方法
- 2.3.ワードクラウドのHTMLを作る方法
- 3.グーグルスプレッドシートのアドオンを使ってお客様の声を分類する
- 3.1.グーグルスプレッドシートのアドオンとは
- 3.2.ChatGPTのAPIキーの取得方法
- 3.3."GPT for Sheets and Docs"の取得とセットアップ
- 3.4.アンケートの自由回答の感情分析をやってみる
- 3.5.自由回答を任意のカテゴリに分類
- 4.ChatGPTでアンケートを作ってみる
- 4.1.質問と選択肢の作成
- 5.【まとめ】
ChatGPTに手持ちのデータを分析してもらう
現在のところ、ChatGPTをはじめとした生成系AIの使い方は、何か知らないことを尋ねたり代行してもらうイメージが強いようですが、手持ちのデータを分析したり評価したりしてもらうこともできます。今回はこの方法で、市場調査からのお客様の声を分析してみましょう。
はじめに--生成系AI使用上の注意事項
このコンテンツを読んで実際にChatGPTなど生成系AIを使う際は、以下の点に注意して、ご自身の責任の範囲で使用してください。
(1)生成系AIは社内の利用規定を守って使う
AI技術を導入するにあたっては、プライバシーやセキュリティについての考慮が不可欠です。さらに企業での利用においては、AIが扱うデータに対するプライバシー保護規定や、情報セキュリティの規定を遵守することが重要です。具体的には、個人情報等を含むデータをAIで処理する場合、そのデータが適切に保護され、不適切な利用がないようにするため、個人情報や機密情報を含まないよう厳重に注意してください。
(2)AIの作業再現性には限界がある
AIは、人間が行うようなデータの解析作業を代行することができますが、その結果は必ずしも一定ではありません。特に言語を解析するAIは、同じデータを入力しても、その時々で微妙に異なる解析結果を出すことがあります。これはAIが機械学習のプロセスで生成したモデルに基づいて作業を行うため、そのモデルの中の微妙な差異が結果に反映されるからです。したがって、本コンテンツに記載されているとおりにChatGPTが反応しないことがあることをあらかじめ理解しておいてください。
(3)従来のテキストマイニングとは違っている
従来のテキストマイニングでは、文章を単語に分解し、その出現頻度などを統計的に処理する形態素解析が主流でした。しかし、ChatGPTを用いたテキストマイニングでは、より文脈に即した情報抽出が可能となります。言葉の出現率だけでなく、その言葉がどのような文脈で使用されているのかを理解することで、より深い情報を抽出することが可能となっているのです。一方で、前項で説明した通り、よくも悪くも"人間の代行"に近いため、厳密な数値の再現性がないことも理解して使用してください。それでははじめましょう。
対話型画面でサマリーなどを作ってみる
ものは試し、まずは一般的に使用する対話型画面から作業をしてみましょう。まだChatGPTのアカウントをお持ちでない場合は、以下のページからサインアップして、無料のアカウントを取得することをおすすめします。※会社内で使用する場合は会社の規定を遵守してください
長文をサマリーに要約する方法
ChatGPTは自然な文を生成する能力に長けています。そのため、長いテキストデータを読み込ませて、そのサマリーを生成することが可能です。具体的には、まず全体のテキストをAIに入力し、サマリー作成用プロンプトを使ってテキストの要約を要求します。これにより、大量の情報を含む長文から、重要なポイントを絞ったサマリーを生成することができます。
このコンテンツでは、ChatGPTの基本的な使用方法については説明をしていません。また、以下の画面を"対話型画面"、Send a message欄に入力する命令やデータを"プロンプト"と呼んで説明します。
※このコンテンツでは、コンテンツの最後に添付したテキストデータ=恵比寿の街についてのアンケート自由回答(60行程度)を"分析用テキスト"として使用しています。
<サマリー作成のプロンプト>
画像は途中で切っていますが、<分析用テキスト>はこの下に50行ほど続いています。"Send a message”欄に直接打ち込むのは難しいので、別途テキストエディタなどでプロンプトを作成しておきコピー&ペーストします。
<作成されたサマリー>
ほぼ瞬時に、50行程度の自由回答をサマリーにしてくれます。
長文内の"言葉"の出現率を調べる方法
ChatGPTを用いると、長いテキストの中から特定の単語やフレーズの出現頻度を調べることができます。まず全体のテキストをAIに読ませ、特定の単語やフレーズに対してその出現率を問うプロンプトを入力します。これにより、その単語がテキスト内でどれほどの頻度で使用されているのかを把握することができます。
<単語の出現率を調べるプロンプトとその結果>
ここではサマリー作成時の"分析用テキスト"をそのまま流用し、単語の出現数を表形式で表示させています。
ワードクラウドのHTMLを作る方法
※この作業は、HTMLについての多少の知識が必要です。ChatGPTにHTMLコードを作らせ、それをテキストエディタで保存(UTF指定)で保存し、ブラウザで読み込むといった技術が要求されます。
ワードクラウドは、テキスト内の単語の出現頻度を視覚的に表現したものです。ChatGPTでは、分析結果からワードクラウドを生成し、その結果をHTMLフォーマットで出力することが可能です。この手法を用いると、顧客の声の中で特に多く使われている単語を一目で確認することができます。
実際には完成度や再現性が低く、難易度の高い作業になります。
<ワードクラウド用のHTMLコード作成用のプロンプト>
先に作業した"単語の出現数"を対象に、ワードクラウド用のHTMLコードを作成します。
"https://d3js.org/d3.v5.min.js"と
"https://cdn.rawgit.com/jasondavies/d3-cloud/master/build/d3.layout.cloud.js"
の2つのjsは、筆者があらかじめChatGPT相手に格闘した結果、再現性が高いことを突き止めていたライブラリーです。このふたつを指定することでコードの動作率が上がります。
<ワードクラウド作成用プロンプト・コード>
<バグがあったようなので再作成を依頼したプロンプト>
出来上がったコードをテキストエディタにコピーペーストし、test.htmlなどの名前で保存します。この際、テキストコードを"UTF"に指定することを忘れないでください。このHTMLをブラウザで開くと、ワードクラウドが表示されるはずなのですが表示されません。
コードを書く作業が一度でうまくいくことは稀です。根気よくGPTに依頼します。
<無事に出来上がったHTMLをブラウザで読み込んだ結果>
今回は、1回の再作成でここまで表示することができました。このあとにカラーの変更などを何度もやり取りして、調整した結果が最上部のタイトル画像でも使用した、こちらになります。
<出来上がったワードクラウドのHTMLコード>
※再読み込みで表示がランダムに変化するため、上記の見本画像とは若干違います。
グーグルスプレッドシートのアドオンを使ってお客様の声を分類する
実際の顧客満足度向上業務では、アンケート調査の自由回答やコールセンターへの問い合わせなど、多数のお客様の声の分析が必要になります。このような場合は、エクセルなどのスプレッドシートと連携するとよいでしょう。2023年5月現在では、グーグルスプレッドシートのアドオン、"GPT for Sheets and Docs"が便利に使えます。
グーグルスプレッドシートのアドオンとは
Googleスプレッドシートのアドオンとは、スプレッドシートの機能を拡張するツール群を指します。これにより、ユーザーは通常のスプレッドシート機能を超えた多様な作業を行うことが可能になります。例えば、外部のAPIを呼び出したり、自動化のプロセスを作成したりすることができます。今回は、"GPT for Sheets and Docs"というアドオンを使用してみました。これは、OpenAIのGPT-3やChatGPTを、GoogleスプレッドシートやGoogle Docsで利用できるようにするツールです。
ChatGPTのAPIキーの取得方法
ChatGPTの機能を他のアプリケーションで使用するためには、まずOpenAIのウェブサイトから"APIキー=裏口から依頼して裏口に返してもらうための暗号のようなもの"を取得する必要があります。APIキーの取得方法は以下の通りです。
1.OpenAIのウェブサイトにアクセスし、アカウントを作成します。
2.アカウントを作成したらへappsページに移動し、「API→」をクリックします。
3.platformページに移動するので、右上のドロップダウンメニューから"View API keys"を選択します。
4."Create new secret key"をクリックし、必要な情報を入力します。
5.作成されたAPIキーを保存します
このAPIキーは、後で"GPT for Sheets and Docs"のセットアップに使用します。
APIの利用状況はView API keysから確認することができます。
▲生成されたAPI key
作ったAPI keyはこの段階で必ずどこかに保存します。あとから再確認できません。
また、API keyは使用者に責任を求められる大切なものなので、決して公開したり第三者に自由に使わせたりしてはいけません。
"GPT for Sheets and Docs"の取得とセットアップ
まず、"GPT for Sheets and Docs"アドオンをGoogleスプレッドシートに追加します。このときは以下の手順で行います。
- Googleスプレッドシートを開き、上部メニューの"拡張機能"から"アドオン"を選択します。
- "アドオンを取得"をクリックします。
- 検索ボックスに"GPT for Sheets and Docs"と入力し、該当のアドオンを見つけます。
- "GPT for Sheets and Docs"の右側にある"インストール"ボタンをクリックします。
<Chromeでのアドオンの取得方法>
<GPT for Sheets and Docの検索とダウンロード>
次に、ChatGPTのAPIキーをアドオンに設定します。
Googleスプレッドシートを開き、上部のメニューから"拡張機能"を選択します。
- "GPT for Sheets and Docs"を選択し、"Set API key"をクリックします。
- 先程取得したChatGPTのAPIキーを入力します。
<アドオンを起動したスプレッドの画面>
<API keyのセット>
以上で、"GPT for Sheets and Docs"のセットアップは完了です。
アンケートの自由回答の感情分析をやってみる
"GPT for Sheets and Docs"の使い方は非常に簡単です。エクセルなどと同じように関数を使います。テキストの感情を分析するための関数は、’GPT_CLASSIFY’です。具体的な使用方法は以下の通りです。
- 結果を表示したいセル(黄)に"=GPT_CLASSIFY(a 調べたい文が入っているセル ,b 分類ルールが書かれたセル)"と入力します。
- aにはアンケートの自由回答部分のセルのアドレスを入力します。
- bには図のように結果表示をさせたい最上行に以下の3つの分類ルールをカンマで区切り入力しておきます。例:(positive,neutral,negative)
感情分類関数の使用方法は以下の通りです。左の文を最上段のルールで分類しています。
この関数は、テキストの感情を"positive"(肯定的)、"neutral"(中立)、"negative"(否定的)のいずれかで分類します。通常の関数同様に、最上行を絶対参照してオートフィルすると、4行目以降の文章も分類してくれます。
自由回答を任意のカテゴリに分類
"GPT for Sheets and Docs"には、テキストを複数のカテゴリに分類する関数、’GPT_TAG’ も存在します。この関数を使用すると、顧客のアンケート自由回答を任意のカテゴリに分類し、複数回答形式のように扱うことができます。具体的な使用方法は以下の通りです。
- 結果を表示したいセルに=GPT_TAG(a 調べたい文が入っているセル,b 分類ルールが書かれたセル)を入力
- aとbはGPT_CLASSIFYと同様です
カテゴリーは一般的なものだけでなく、自社の業務に関連した特定のカテゴリーを設定することも可能です。これにより、より詳細な分析を行うことができます。
<文章に複数のタグを付ける関数の使用方法>
択一で分類する"CLASSIFY"と、複数の該当項目を表示する"TAG"を比較しています。
このように非常に便利なアドオンですが、ChatGPTを無料アカウントで利用していて、"GPT for Sheets and Docs"にAPIキーをセットしたにも関わらず、GPT関数の結果としてエラーが表示される場合があります。この場合は、APIの無料枠の有効期限が切れている可能性がありますのでご注意ください。
ChatGPTでアンケートを作ってみる
質問と選択肢の作成
ChatGPTは、調査の設計にも利用できます。ここでは、アンケートの「たたき台」を作るために一気に書き出してもらうスクリプトを使っています。
<たたき台づくりのために、最初にまとめて依頼したプロンプト>
このプロンプトでいったん出力しましたが、テーブル指定をしていませんでした。(出力画面は整理ができなかったので割愛します)。
<テーブル指定をしていなかったので追加で再依頼したプロンプト>
<出来上がったアンケートの「たたき台」>
ここでは、ある程度知識のある者が「たたき台」を作るためにChatGPTを使っています。
一方で、あまり詳しくない方であれば、たとえば「顧客体験調査を行うために全体を設計したい」と頼むと、ChatGPTは必要な事項を尋ねてきます。質問が多いときは、「ひとつずつ頼みます」と言うと、ChatGPTは一つずつ質問をしてきます。あなたにわかることを回答していくと、ChatGPTはそれに基づいて全体の設計を進めてくれます。
【まとめ】
この記事では、ChatGPTを活用した自由文の分析方法を中心に解説し、顧客満足度調査やコールセンターから得られる顧客の声の分析を行う方法について説明しました。
この分野での生成系AIの活用範囲は非常に広いものになると思いますが、それ以上に期待されるのは、今まで専門家に頼っていたような分析、時間のかかった分析、調査設計などを、誰もが手軽に行えるようになることだと思います。
これまで、ついつい読みきれなかった顧客の声が眠っていたら、まずそれを読むことに利用してみてはいかがでしょうか? 意外な気づきがあるかもしれません。