「テキストマイニングの効率を向上させたい…」「ChatGPTでテキストマイニングをすることができるの?」 そう思う方もいるのではないでしょうか。
実は、Chromeの拡張機能やCode Interpreterを活用することで、ChatGPTを使ってテキストマイニングができます。
今回PROMPTYでは、ChatGPTでテキストマイニングをする方法とサンプルデータを使った例をご紹介します。
テキストマイニングとは
テキストマイニングとは、大量のテキストデータから価値ある情報を探し出す技術のことを指します。この技術は、自然言語処理やデータマイニングの手法を活用して、テキストの中に隠れたトレンドやパターンを明らかにします。
例えば、SNSの投稿から流行のキーワードや消費者の感情を分析することが可能です。また、企業のビジネス戦略策定やマーケティング活動において、顧客の声や市場の動向を正確に把握するための強力なツールとしても利用されています。
テキストマイニングを活用することで、データの海の中から真の価値を引き出し、ビジネスの競争力を高めることができます。
ChatGPTを使ってテキストマイニングができるの?
ChatGPTはテキストマイニングに有効なツールです。ChatGPTの高度な言語処理能力を利用して、大量のテキストの中からキーワードやトピックを抽出することができます。
さらに、ChatGPTの公式プラグイン「Code interpreter」やOpenAIのAPIを用いることで、データの前処理や解析を自動化することも可能です。
ChatGPTを使ってテキストマイニングを行い、キーワードやトピックのトレンドを把握することで、業務の効率化やマーケティング戦略の策定など幅広いビジネスに活かすことができるでしょう。
Googleスプレッドシートと連携してテキストマイニングを行う
テキストマイニングの対象となるアンケート調査の結果や顧客のレビュー情報は、大量のデータを扱うため、Excelやスプレッドシートで扱うことが望ましいです。
今回の記事では、はじめにChatGPTをGoogleスプレッドシートを連携してテキストマイニングを行う方法をご紹介します。
用意するものは次の通りです。
- Googleアカウント
- ChatGPTに登録するアカウント
- 対象となるテキストデータ
①OpenAIのAPIキーを取得する
はじめに、OpenAIのAPIキーを取得します。OpenAI(https://openai.com/)にアクセスして、Log inまたはSign upをクリックします。アカウントを持っていない場合は、アカウントを作成する必要があります。
ログインしたら、画面上の“Personal”から“View API Keys”をクリックすると、APIキーに関する情報を確認することができます。
“Create new secret key”からAPIキーを作成できます。
これでChatGPT APIを利用するためのAPIキーの取得は完了です。
OpenAIのAPIキー取得方法については、こちらの記事でより詳しく解説しています。
「自社のサービスにAIを取り入れたい...」「ChatGPTを自社製品に組み込むことができるの?」そう思う方もいるのではないでしょうか。 実はChatGPTのAPIを使用することで、比較的に自社製品・サービスにChatGPTを組み込[…]
②Chromeの拡張機能「GPT for Sheets and Docs」をインストールする
次に、ChatGPTとGoogleスプレッドシートを連携するために、Chromeの拡張機能「GPT for Sheets and Docs」をインストールします。
Google Workspace Marketplace にアクセスします。
”インストール”をクリックします。次に“続行”クリックします。
スプレッドシートを起動して、拡張機能に「GPT for Sheets and Docs」が表示されていればインストール完了です。
③APIキーを設定する
続いて、OpenAIのAPIキーをGPT for Sheets and Docsに適用します。
拡張機能>GPT for Sheets and Docs>Set API keyを順に選択します。
“Enter your OpenAI API key”のボックスに取得したAPIキーを打ち込みます。
設定が完了したら、GPT for Sheets and Docsのホーム画面が表示されます。
”LIST of GPT function”から、この拡張機能で使える関数の一覧を見ることができます。
④関数を入力してテキストマイニングを行う
ここから、実際にスプレッドシートに関数を入力して、テキストマイニングを行います。
今回は、ECサイトのレビューを想定して、ChatGPTで作成したこちらのテキストを対象とします。
D列に関数を入力して様々な分析を行っていきます。
例①感情分析
対象のテキストの内容を分析して、ユーザーの感情(ポジティブ/ネガティブ/ニュートラル)をGPTに判定してもらいます。ここでは、次にような関数を入力します。
=GPT_CLASSIFY(判定対象のセル,分類元のセル)
“判定対象のセル”には、それぞれのレビュー内容(B列)を選択します。
“分類元のセル”には、分類ルールをカンマで区切り入力(ポジティブ,ネガティブ,ニュートラル)しておきます。今回はD1に入力します。
絶対参照を使ってこのような入力になりました。
分かりやすいように、条件付き書式で塗りつぶしを設定しておきます。
オートフィルで他のセルにも適用してGPTの出力を待ちます。
出力結果:
全てのセルのテキストについて、ポジティブ/ネガティブ/ニュートラルを判定してくれました。レビュー内容を読んでみると、ほとんど妥当な結果が得られていると思います。ニュートラルの判定は少し難しいかもしれません。
例②カテゴリの分析
対象のテキストの内容を分析して、GPTにレビューのカテゴリを分類してもらいます。ここでは、カテゴリを次の6つとしました。
・配送
・品質
・デザイン
・価格
・サポート
・情報
・その他
カテゴリの分類方法は、例①と同様にGPT_CLASSIFY関数を使います。感情分析と同様に「分類元のセル」にカテゴリをカンマ区切りで入力することで、カテゴリを判定することができます。今回はE1にカテゴリを入力します。
E列に関数を入力してGPTの回答を待ちます。
出力結果:
「早く届きました(user1)」に対して配送のカテゴリを出力、「サイズが合わない(user3)」に対して、品質カテゴリを出力、「少し高い(user18)」に対して価格のカテゴリを出力するなど妥当な結果が多く出力されたことが分かります。品質というカテゴリが抽象的過ぎたため、品質カテゴリの個数が多くなってしまいました。
例③タグ付け
GPT_CLASSIFY関数のほかにも、別の関数を使ってテキストマイニングをすることができます。
GPT_TAG関数を使うことで、対象テキストのタグ付けを行うことができます。CLASSIFYが単一の出力であるのに対し、TAGは複数出力になることが特徴的です。ここでは、次のように入力します。
=GPT_TAG(判定対象のセル,分類元のセル)
ここで使う引数は、CLASSIFYと大きな違いはありません。分類元のセルはF1とし、例②と同じくカンマ区切りのカテゴリを入力します。
F列に関数を入力してGPTの回答を待ちます。
出力結果:
例②と異なり、多くのレビュー内容に対して複数のカテゴリ(タグ)が選択されました。
品質とデザインなど似たカテゴリは両方選択されている印象を受けます。ただし、user3のレビュー内容に対して価格が選択されているなど、少しクオリティには改善の余地があるように思えます。
ChatGPTのCode Interpreterを使ってテキストマイニングを行う
ChatGPTでテキストマイニングを行う方法として、GPT for Sheets and Docs以外にも、Code Interpreterの活用が挙げられます。
Code Interpreterは、ChatGPT上でPythonを実行できる拡張機能で、2023年8月現在はChatGPT Plus(有料版)の加入者のみ利用できます。
Code Interpreterの詳しい情報は、こちらの記事で解説しています。
ChatGPTのCode Interpreterというコード実行プラグインがChatGPT Plus会員(有料会員)にリリースされたことが分かりました。 これにより、ChatGPTを使用している間、データ解析やグラフ生成といった機能[…]
GPT for Sheets and Docsで扱ったものと同じテキストデータを使います。
Code interpreterxlsxでは、xlsx形式でChatGPTに読み込ませることで、テキストマイニングを行います。
ChatGPTへの入力文は次の通りです。
#命令文
xlsxファイルを読み込んでテキストマイニングを行ってください。
次の#手順に沿って処理をしてください。
#手順
1."レビュー内容"の感情を分析して、D列にポジティブ/ネガティブ/ニュートラルのいずれかを入力してください。
2."レビュー内容"のテキストを分析して、#カテゴリの中から適切なものを一つ選んでE列に入力してください。
3."レビュー内容"のテキストを分析して、#カテゴリの中から該当するものを全て選んでF列に入力してください。
4.1~3までの処理を行った後のデータをxlsx形式で出力してください。
#カテゴリ
配送,品質,デザイン,価格,サポート,情報,その他
ChatGPTの回答(Code Interpreter):
手順を示しながら、テキストマイニングを行ってくれました。感情分析については、評価が5段階で記載されていたため、この評価を基準にしてポジティブ/ネガティブ/ニュートラルを選択しました。
感情分析とカテゴリ分類を行ったあと、プロンプトの指示通りにxlsxファイルを出力してくれました。
ファイル名は特に指定していなかったため、自動的に”processed_review.xlsx”というファイル名で作成いてくれました。
ファイルをダウンロードして開くと、確かにD~F列にテキストマイニングの結果が出力されています。
カテゴリの分類については、スプレッドシートを使ったときと大きな違いが出ていました。
今回のプロンプトでは、テキストマイニングをするように直接指示していました。そのため、ChatGPTはレビュー内容のテキスト内に、6つのカテゴリ(配送,品質,デザイン,価格,サポート,情報)の単語がそのまま含めれている場合のみに、カテゴリを選択していることが分かります。
そして、レビュー内容に配送,品質,デザイン,価格,サポート,情報,のいずれも含めれていない場合は全て「その他」に分類されています。
スプレッドシートの関数とCode Interpreterでは、解釈の違いがありましたが、どちらもテキストを分析して、指定した処理を行うことができました。
まとめ
今回PROMPTYでは、ChatGPTを使ってテキストマイニングをする方法を紹介しました。
- APIキーを取得してChromeの拡張機能「GPT for Sheets and Docs」をインストールしてスプレッドシートでテキストマイニングを行うことができます。
- ChatGPT Plus加入者向けのプラグインである「Code Interpreter」を使うことで、Excelファイルをアップロードしてテキストマイニングを行うことができます。
これらの方法を利用することで、テキストデータの分析がより効率的になります。今回の例を参考に、皆さまもChatGPTを使ってたテキストマイニングに挑戦してみてはいかがでしょうか。