
ChatGPTを使ったテキストマイニングでお客様の声を分析し顧客満足度を高める方法
これまで、CRMの分野でのAIの利用は、ある程度の規模を持った会社に限定されていました。しかし今、ChatGPTなど生成系AIの登場により、技術的にもコスト的にも、多くの企業で活用機会が増えつつあります。ここでは、顧客の声(アンケートの自由文回答やコールセンターの記録など)を分析対象とした、ChatGPTの活用方法を紹介します。
この記事のポイント
ポイント1 手持ちのテキストデータについてChatGPTに分析させる
- ポイント2 お客様の声=文章をネガポジや対象別に分類したり要約する
- ポイント3 顧客調査の計画から報告までChatGPTを活用するヒント
目次[非表示]
- 1.ChatGPTに手持ちのデータを分析してもらう
- 2.対話型画面でサマリーなどを作ってみる
- 2.1.長文をサマリーに要約する方法
- 2.2.長文内の"言葉"の出現率を調べる方法
- 2.3.ワードクラウドのHTMLを作る方法
- 3.Excelのアドイン"GPT for Excel Word"を使ってお客様の声を分類する
- 3.1.Excelのアドインとは?"GPT for Excel Word"とは?
- 3.2."GPT for Excel Word"の特徴とおすすめする理由
- 3.3."GPT for Excel Word"のインストール方法
- 3.4."GPT for Excel Word"で感情分析やカテゴリー分類をやってみる
- 3.5.その他"GPT for Excel Word"の便利な機能
- 4.グーグルスプレッドシートのアドオンを使ってお客様の声を分類する
- 4.1.グーグルスプレッドシートのアドオンとは
- 4.2.ChatGPTのAPIキーの取得方法
- 4.3."GPT for Sheets and Docs"の取得とセットアップ
- 4.4.アンケートの自由回答の感情分析をやってみる
- 4.5.自由回答を任意のカテゴリに分類
- 5.ChatGPTのAdvanced Data Analysis(旧コードインタープリター)でも同様のことができる
- 6.ChatGPTでアンケートを作ってみる
- 6.1.質問と選択肢の作成
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コード>
※再読み込みで表示がランダムに変化するため、上記の見本画像とは若干違います。
Excelのアドイン"GPT for Excel Word"を使ってお客様の声を分類する
実際の顧客満足度向上業務では、アンケート調査の自由回答やコールセンターへの問い合わせなど、多数のお客様の声の分析が必要になります。このような場合は、Excelのアドイン"GPT for Excel Word"が便利です。
Excelのアドインとは?"GPT for Excel Word"とは?
そもそもアドインとは、既存のソフトウェアに追加して使用できる拡張機能のことです。Microsoft Excelにおけるアドインは、Excelの標準機能ではできないことを実現したり、作業効率を高めたりするために利用されます。
"GPT for Excel Word"は、Excel(およびWord)にAIの力をプラスすることで、自然言語処理や感情分析、データの分類など、高度なテキスト分析を簡単に行うための強力なツールです。Excel上での分析作業を効率的かつ迅速に進めたい方にとって、アドインの活用は非常に有効な手段です。
なお、グーグルスプレッドシートには"GPT for Sheets and Docs"というアドオン(Googleの場合は、アドインではなく、アドオンと呼びます)があり、こちらの方が先行していましたが、Excelでも快適に使えるようになりました。"GPT for Sheets and Docs"についてはこの記事でも後述します。
"GPT for Excel Word"の特徴とおすすめする理由
グーグルスプレッドシートのアドオン"GPT for Sheets and Docs"は、セルに直接関数を入力する必要がありますが、"GPT for Excel Word"には、「Bulk tools」といった便利な機能や多数の関数があらかじめリストアップされているなど、初心者でも使いやすい工夫がされています。直感的なインターフェースと操作性が高いので、専門的な知識がなくてもすぐに使い始めることができます。
また、普段Excelをよく使っている方にとっては、使い慣れているExcelの画面上でデータを直接分析できることも、大きなメリットと言えるでしょう。
"GPT for Excel Word"のインストール方法
"GPT for Excel Word"のインストールは非常に簡単です。まず、Microsoft Officeの「開発」タブから「アドイン」を選択し、Officeアドインストアを開きます。検索バーに"GPT for Excel Word"と入力し、表示されるアドインを選択して「追加」をクリックするだけでインストールが完了します。
インストール後は、ExcelやWordのリボンに表示される"GPT for Excel Word"タブから、すぐに使い始めることができます。なお、使用するにはOpenAIのアカウントが必要ですので、アカウントを事前に用意しておくとスムーズです。
"GPT for Excel Word"で感情分析やカテゴリー分類をやってみる
"GPT for Excel Word"には、複数のテキストを一度に処理できる「Bulk tools」が用意されており、その中の「CLASSIFY」機能を活用することで、大量のデータに対しても効率よく感情分析が行えます。
1.感情分析
①「Classify each cell in column」で、感情分析を行いたいテキストデータが入ったセル範囲を選択
ここでは、1行目に「分割後の文」と見出しが入っているC列をプルダウンから選択しています。
②「into one of these categories」に「positive,neutral,negative」と入力
ここでは、感情分析の代表的なキーワード「positive,neutral,negative」と入力し、テキストデータのコメントを「ポジティブ」「ニュートラル」「ネガティブ」の3つに分類するように指定しています。
③「Put results in column」で、分類したキーワードを入れる列を指定
ここでは、1行目に「センチメント」と見出しが入っているD列をプルダウンから選択しています。
このように準備ができたら、右下の緑色の「Run 3 rows」をクリックすると、最初の3行のみ分析をしてくれます。デフォルトで3行となっていますが、ラジオボタンのところで数字を自由に変えることができます。
結果を確認して問題がないようであれば、ラジオボタンで「All rows」を選択して緑色のボタンをクリックすると、選択した全テキストデータの感情分析が実行されます。大量のデータの場合少し時間がかかりますが、AIも1つずつ考えながら分類を進めていく様子がうかがえます。
2.カテゴリー分類
カテゴリー分類も感情分析と同様に「Bulk tools」の「CLASSIFY」機能を活用します。カテゴリー分類では、事前にどんなカテゴリーに分類するか、あらかじめキーワードを検討し、それをカンマ区切りのテキストで用意しておきます。
あとは、感情分析と同様の手順で行います。
①「Classify each cell in column」で、カテゴリー分類を行いたいテキストデータが入ったセル範囲を選択
ここでは、1行目に「分割後の文」と見出しが入っているC列をプルダウンから選択しています。
②「into one of these categories」にキーワードを入力
カンマ区切りのテキストで用意しておいた複数のキーワードを「into one of these categories」に入力します。
③「Put results in column」で、分類したキーワードを入れる列を指定
ここでは、1行目に「カテゴリー」と見出しが入っているJ列をプルダウンから選択しています。
このように準備ができたら、右下の緑色の「Run 3 rows」をクリックすると、最初の3行のみ分析をしてくれます。デフォルトで3行となっていますが、ラジオボタンのところで数字を自由に変えることができます。
結果を確認して問題がないようであれば、ラジオボタンで「All rows」を選択して緑色のボタンをクリックすると、選択した全テキストデータのカテゴリー分類が実行されます。
その他"GPT for Excel Word"の便利な機能
"GPT for Excel Word"では、「Bulk tools」のほか、「GPT functions」があり、「GPT functions」では多数の関数がリストアップされているため、関数を簡単に使うことができます。自由文の分析では、長文の回答文の分割、カテゴリー分類のためのキーワードの抽出、多数の自由文のサマリー作成などができますので、色々と試してみてください。
グーグルスプレッドシートのアドオンを使ってお客様の声を分類する
"GPT for Excel Word"による自由文分析は、グーグルスプレッドシートのアドオン"GPT for Sheets and Docs"でも同様のことができます。ここからは、"GPT for Sheets and Docs"による分析の方法を解説します。
グーグルスプレッドシートのアドオンとは
Googleスプレッドシートのアドオンとは、スプレッドシートの機能を拡張するツール群を指します。先述の通り、Excelにおける「アドイン」にあたるものです。
今回は、"GPT for Sheets and Docs"というアドオンを使用してみました。これは、OpenAIのGPT-3やChatGPTを、GoogleスプレッドシートやGoogle Docsで利用できるようにするツールです。
ChatGPTのAPIキーの取得方法
API Keyとは、ChatGPTの対話型画面ではなく、スプレッドシートなどのアプリケーション内からChatGPTのサーバーを利用するために必要なKeyです。このキーをアプリケーションに設定することで、例えばスプレッドシートのセル内のデータについて、ChatGPTに分析させることが可能になります。
API Keyはこのあとご紹介するグーグルスプレッドシート使用時にコストを抑える上で有益なのですが、前述のGPT for Excel でも同じように有益です。
API Keyは、有料サービスのみ使用可能です。また、取得方法については度々方法が変わっていますので、以下のURLを手がかりに、ご自身で探してください。https://platform.openai.com/settings/organization/api-keys
作ったAPI keyはこの段階で必ずどこかに保存します。あとから再確認できません。
また、API keyは使用者に責任を求められる大切なものなので、決して公開したり第三者に自由に使わせたりしてはいけません。
"GPT for Sheets and Docs"の取得とセットアップ
API Keyの準備ができたら、"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のAdvanced Data Analysis(旧コードインタープリター)でも同様のことができる
ここまでご紹介してきた自由文の分析は、ChatGPT4のプラグイン“Advanced Data Analysis (旧コードインタープリター)”でも同様のことができます。その場合は、エクセル等のデータファイルをそのままChatGPTにアップロードして分析を進めます。
しかし、アンケートの集計分析に普段からExcelをよく使っている、Googleスプレッドシートに慣れている、といった方は、Excelのアドイン"GPT for Excel Word"、グーグルスプレッドシートのアドオン"GPT for Sheets and Docs"の方が、使い慣れた画面上でデータを直接分析できるため、使い勝手がよくオススメです。
ChatGPTでアンケートを作ってみる
質問と選択肢の作成
ChatGPTは、調査の設計にも利用できます。ここでは、アンケートの「たたき台」を作るために一気に書き出してもらうスクリプトを使っています。
<たたき台づくりのために、最初にまとめて依頼したプロンプト>
このプロンプトでいったん出力しましたが、テーブル指定をしていませんでした。(出力画面は整理ができなかったので割愛します)。
<テーブル指定をしていなかったので追加で再依頼したプロンプト>
<出来上がったアンケートの「たたき台」>
ここでは、ある程度知識のある者が「たたき台」を作るためにChatGPTを使っています。
一方で、あまり詳しくない方であれば、たとえば「顧客体験調査を行うために全体を設計したい」と頼むと、ChatGPTは必要な事項を尋ねてきます。質問が多いときは、「ひとつずつ頼みます」と言うと、ChatGPTは一つずつ質問をしてきます。あなたにわかることを回答していくと、ChatGPTはそれに基づいて全体の設計を進めてくれます。
【まとめ】
この記事では、ChatGPTを活用した自由文の分析方法を中心に解説し、顧客満足度調査やコールセンターから得られる顧客の声の分析を行う方法について説明しました。
この分野での生成系AIの活用範囲は非常に広いものになると思いますが、それ以上に期待されるのは、今まで専門家に頼っていたような分析、時間のかかった分析、調査設計などを、誰もが手軽に行えるようになることだと思います。
これまで、ついつい読みきれなかった顧客の声が眠っていたら、まずそれを読むことに利用してみてはいかがでしょうか? 意外な気づきがあるかもしれません。