【プロンプト解説】ChatGPTを使って顧客の感情分析する

「顧客の情報をまとめるのが大変…」「ChatGPTで顧客の感情分析ができるの?」そう思う方もいるのではないでしょうか。

実は、ChatGPTを活用することで顧客の感情分析を効果的に行うことが可能です。

今回PROMPTYでは、ChatGPTを使って顧客の感情分析する方法について紹介していきたいと思います。

プロンプト①:顧客の心理と表現を分析する

プロンプト

#命令文
あなたは企業のマーケティング部のメンバーです。
以下の#制約条件に従って顧客の感情を分析してください。

#制約条件
*#出力形式に必ず従うこと
*#レビュー内容を基に分析すること
*「心理」「表現」2つの軸でジャッジすること
*「心理」は"ポジティブ"または"ネガティブ"で評価すること
*「表現」は"論理的"または"感情的"で評価すること
*理由を記載するときには#レビュー内容から根拠となる箇所を引用すること

#レビュー内容
{自由記述}

#出力形式
*「心理」の評価
*その理由
*「表現」の評価
*その理由

「新発売のショートケーキケーキのレビュー」を使った例

レビュー内容をもとに「心理」と「表現」の2つの軸で感情分析を行います。

今回のレビュー内容は、新発売のショートケーキについての顧客の反応です。

入力文:

#命令文
あなたは企業のマーケティング部のメンバーです。
以下の#制約条件に従って顧客の感情を分析してください。

#制約条件
*#出力形式に必ず従うこと
*#レビュー内容を基に分析すること
*「心理」「表現」2つの軸でジャッジすること
*「心理」は"ポジティブ"または"ネガティブ"で評価すること
*「表現」は"論理的"または"感情的"で評価すること
*理由を記載するときには#レビュー内容から根拠となる箇所を引用すること

#レビュー内容
新発売のショートケーキを試してみました!見た目も可愛くて、一口食べた瞬間、幸せな気分になれました。スポンジはふわふわで、クリームもちょうど良い甘さ。ただ、もう少し苺が多いと完璧だったかな。でも、全体的にはとっても満足!次回も絶対に買いたいと思います。

#出力形式
*「心理」の評価
*その理由
*「表現」の評価
*その理由

GPT-4の出力:

#レビュー内容を基にした感情分析の結果は以下の通りです。

##心理の評価: ポジティブ
理由:
顧客は新発売のショートケーキについて、「一口食べた瞬間、幸せな気分になれました」「全体的にはとっても満足!次回も絶対に買いたいと思います」と述べています。これらの表現から、顧客の感情がポジティブであると評価できます。

##表現の評価: 感情的
理由:
レビュー内容は顧客の個人的な感情と感覚に重点を置いています。「見た目も可愛くて」「幸せな気分になれました」「とっても満足」といった感情的な表現を用いていることから、顧客が感情的な表現を用いていると評価できます。ただし、「スポンジはふわふわで、クリームもちょうど良い甘さ」といった具体的な評価もしており、一部論理的な要素も含まれています。

心理と表現の2つの軸で評価を行い、それぞれの評価についてレビューから引用して根拠を出力しました。顧客の感情がポジティブであり、感情的に表現されていると評価されました。

プロンプト②:感情パラメータを設定して評価する

プロンプト

#命令文
あなたは企業のマーケティング部のメンバーです。
以下の#制約条件に従って顧客の感情を分析してください。

#制約条件
*#出力形式に必ず従うこと
*#レビュー内容を基に分析すること
*{自由記述、感情パラメータの種類}の項目をジャッジすること
*それぞれの項目について5段階で評価すること
*理由を記載するときには#レビュー内容から根拠となる箇所を引用すること

#レビュー内容
最近購入した健康サプリメントについてですが、正直なところ効果を感じられません。毎日忠実に摂取しているのですが、体調の変化は特にありません。また、パッケージに記載されている成分表記が小さく、読みにくいです。価格も高めなので、コストパフォーマンスを考えると満足度は低いです。製品の改善を期待します。

#出力形式
*各項目の評価
*その理由
*総合評価(5段階評価)

「健康サプリメントのレビュー」を使った例

顧客のレビューに基づいて感情を「驚き」「喜び」「悲しみ」「怒り」の4つの項目で分析し、各感情の評価とその理由、総合評価を出力してもらいます。今回のレビュー内容は、健康サプリメントについての顧客の反応です。

入力文:

#命令文
あなたは企業のマーケティング部のメンバーです。
以下の#制約条件に従って顧客の感情を分析してください。

#制約条件
*#出力形式に必ず従うこと
*#レビュー内容を基に分析すること
*「驚き」「喜び」「悲しみ」「怒り」の4つの項目をジャッジすること
*それぞれの項目について5段階で評価すること
*理由を記載するときには#レビュー内容から根拠となる箇所を引用すること

#レビュー内容
最近購入した健康サプリメントについてですが、正直なところ効果を感じられません。毎日忠実に摂取しているのですが、体調の変化は特にありません。また、パッケージに記載されている成分表記が小さく、読みにくいです。価格も高めなので、コストパフォーマンスを考えると満足度は低いです。製品の改善を期待します。

#出力形式
*各項目の評価
*その理由
*総合評価(5段階評価)

GPT-4の出力

驚き:1
理由:顧客は製品についての新たな発見や意外な要素を明らかにしておらず、「最近購入した健康サプリメントについてですが、正直なところ効果を感じられません。」と述べています。
喜び:1
理由:顧客は製品から喜びを感じていないことを明確にしています。「体調の変化は特にありません。」と述べており、製品が期待した効果を生み出さなかったことを示しています。
悲しみ:2
理由:顧客は製品に失望していることを示しています。「価格も高めなので、コストパフォーマンスを考えると満足度は低いです。」との表現から、製品に対する期待が満たされなかったことの悲しみを感じています。
怒り:3
理由:顧客は製品のパッケージデザインと価格に対する不満を表現しています。「パッケージに記載されている成分表記が小さく、読みにくいです。価格も高めなので、コストパフォーマンスを考えると満足度は低いです。」と述べています。
総合評価:2
理由:全体的に、顧客は製品についてネガティブな評価をしています。製品の効果が感じられず、価格に対する価値が見いだせないと感じています。

レビュー内容から適切に感情を抽出し、それぞれの感情に対して具体的な理由を引用する形で評価を出力しました。各パラメータの数値はレビュー内容から見て妥当な数字となりました。

加えて、感情分析の結果をレーダーチャートを作成するpythonのコード出力してもらいます。

#命令文
#制約条件に従って感情分析の結果をレーダーチャートに示すpythonコードを作成してください。
#制約条件
*y軸と平行な軸から始めること
*1から5までの軸ラベルと目盛り作成すること
*日本語のフォントはMSゴシック、英数字はArialとすること
*コメントで各ステップの説明をすること

GPT-4の出力

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

# MSゴシックのパスとArialのパスを設定します(要修正)
ms_gothic_path = 'C:\\Windows\\Fonts\\msgothic.ttc'
arial_path = 'C:\\Windows\\Fonts\\arial.ttf'

# フォントプロパティを設定します
jp_font = FontProperties(fname=ms_gothic_path)
en_font = FontProperties(fname=arial_path)

# 感情分析の結果(例)
values = [1, 1, 2, 3]  # 驚き, 喜び, 悲しみ, 怒り

# ラベルを設定します
labels = np.array(['驚き', '喜び', '悲しみ', '怒り'])

# 変数の数を計算します
num_vars = len(labels)

# 各変数の角度を計算します
angles = np.linspace(0, 2 * np.pi, num_vars, endpoint=False).tolist()

# 終点と始点を同じにするために、値と角度を結びます
values += values[:1]
angles += angles[:1]

# フィギュアとサブプロットを作成します
fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))

# レーダーチャートを描画します
ax.fill(angles, values, color='red', alpha=0.25)

# y軸の設定をします
ax.set_yticklabels(range(1, 6), fontproperties=en_font)
ax.set_ylim(0, 5)

# x軸の設定をします
ax.set_xticks(angles[:-1])
ax.set_xticklabels(labels, fontproperties=jp_font)

# チャートを表示します
plt.show()

出力したレーダーチャート

制約条件に従ったPythonコードが出力されました。コードを実行した結果、適切なレーダーチャートが出力されました。必要に応じて制約条件を変更することでデザインやレイアウトを変更できます。

まとめ

今回PROMPTYでは、ChatGPTを使って顧客の心理と表現する場合と感情パラメータを設定して評価する場合の二通りの感情分析の方法を紹介しました。

ChatGPTを使うことで、難しいツールを使わずに簡単に感情分析を行えることが分かりました。

是非皆さんも、今回のプロンプトを参考にして、ChatGPTを活用して顧客の感情分析に取り組んでいただければ幸いです。