PythonとAIで商品レビューを一括収集・要約しよう
消費者の声を活用したマーケティングは、現代のビジネスにおいて非常に重要な要素です。今回はPythonを使って楽天市場のレビューを収集し、それをChatGPTで要約して分析するツールを作ってみましょう。
✅ このチュートリアルで学べること
- 楽天市場の商品レビューをスクレイピング
- OpenAIのChatGPTでレビューを自動要約
- ワードクラウドで視覚化
ステップ1:必要なライブラリをインストール
pip install requests beautifulsoup4 openai wordcloud matplotlib
ステップ2:レビューの収集
import requests
from bs4 import BeautifulSoup
def get_reviews(rakuten_url, max_reviews=10):
headers = {'User-Agent': 'Mozilla/5.0'}
res = requests.get(rakuten_url, headers=headers)
soup = BeautifulSoup(res.content, 'html.parser')
review_tags = soup.select('.revRvwUserCmt span')
reviews = [tag.text.strip() for tag in review_tags if tag.text.strip()]
return reviews[:max_reviews]
# 例
url = "https://review.rakuten.co.jp/item/1/00000000/00000000/"
reviews = get_reviews(url)
for r in reviews:
print(r)
※注意:楽天市場の利用規約に反しない範囲での利用を徹底してください。
ステップ3:ChatGPTで要約
import openai
openai.api_key = "YOUR_API_KEY"
def summarize_reviews(reviews):
prompt = "以下のレビューを1〜2文で要約してください:\\n" + "\\n".join(reviews)
res = openai.ChatCompletion.create(
model="gpt-4",
messages=[{"role": "user", "content": prompt}],
temperature=0.5
)
return res.choices[0].message["content"]
summary = summarize_reviews(reviews)
print(summary)
※APIキーの漏洩に注意してください。
ステップ4:WordCloudで視覚化
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = " ".join(reviews)
wc = WordCloud(width=800, height=400, background_color="white", font_path="/System/Library/Fonts/ヒラギノ角ゴシック W3.ttc").generate(text)
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
plt.show()
まとめ
このツールを使えば、楽天市場に寄せられた大量のレビューを自動で収集・要約し、顧客の生の声をマーケティング戦略に活かすことができます。実店舗でもネットショップでも、レビューは宝の山。PythonとAIでその価値を掘り起こしましょう。
次回は他のECサイトやSNSのレビューとも連携する方法をご紹介します!
コメント