本プロジェクトの目的は、「Amazon Echo 2 Reviews.csv」 のレビュー データを分析し、
- 顧客に評価されているポイントの把握
- 改善すべき課題の特定
- 得られた知見を製品改善および売上向上につなげる
ことです。
-
現状把握
- レビュー件数・評価スコアの推移を把握し、顧客満足度の全体傾向を明らかにする。
- 星評価の分布やポジティブ/ネガティブの比率などを把握する。
-
商品の強み・弱みの特定
- センチメント分類×トピック分類を通じて、顧客が好意的に受け止めている機能・特徴や、不満に感じている機能・特徴を抽出する。
-
売上向上への示唆
- 強みをマーケティングメッセージに活かす提案。
- 不満点を元に、優先的に改善すべき機能・特徴を提案。
- ファイル名: Amazon Echo 2 Reviews.csv
- 件数: 6,855 レビュー
- 出典: Kaggle(https://www.kaggle.com/datasets/PromptCloudHQ/amazon-echo-dot-2-reviews-dataset)
- カラム例:
Pageurl: 商品ページリンクTitle: レビュータイトルReview Text: レビュー本文(テキストデータ)Review Color: 購入した商品の色User Verified: 購入者レビューかどうかReview Date: レビュー投稿日Review Useful Count: 役立ち度の投票数Configuration Text: 製品の構成・モデル情報Rating: 星評価(数値)Declaration Text: 補足情報
-
探索的データ分析 (EDA)
- レビュー件数の推移を可視化(時系列折れ線グラフ)
- 星評価の分布を棒グラフで可視化
-
言語識別
- レビュー本文の前処理(正規化、ストップワード除去、ステミング/レンマ化)
- 頻出単語・フレーズ抽出
- 高評価レビューと低評価レビューでのキーワード比較
-
センチメント分類
- レビュー本文をポジティブ/ネガティブ/ニュートラルに分類
- 星評価との相関を検証
-
トピック分類
- レビュー本文をルールベースでいくつかのトピックに分類
-
ビジネス提言
- 強み → マーケティングメッセージに活用
- 課題点 → 製品改善の優先度付け
- 販売・評価の相関分析に基づく販売戦略の提案
- README.md (本書)
- 分析レポート (Jupyter Notebook)
- データの可視化(評価分布、トレンドグラフ、ワードクラウド等)
- センチメント分類・トピック分類の結果
- 商品の強み・弱みを抽出&改善策の提案
- 顧客の「高評価要因」と「不満要因」を明確化することで、 製品開発・改善の優先度を決定できる。
- マーケティングにおいて、強みを訴求する戦略を構築できる。
- レビューと売上の関連性を把握し、顧客満足度向上による売上増加を狙える。
このプロジェクトでは、以下の外部データを使用します:
- Kaggle から取得する Amazon Echo Dot 2 Reviews Dataset
- fastText の 言語識別モデル (lid.176.bin)
このプロジェクトでは、KaggleデータセットのAmazon Echo Dot 2 Reviews Datasetを使用します。 実行前にデータをダウンロードし、以下の構成で格納してください。
このプロジェクトでは、fastText が提供する 言語識別モデル を使用します。 実行前にモデルをダウンロードし、以下の構成で格納してください。
まず、Python 3.9 以上の環境で仮想環境を作成・有効化します。
# 仮想環境の作成
python -m venv venv
# 仮想環境の有効化
# Windows
venv\Scripts\activate
# macOS / Linux
source venv/bin/activateproject_root/
├── data/
│ └── raw/
│ └── 🆕 amazon_echo_dot_2nd_gen_reviews.csv: 生データ
├── docs/
│ └── report_sentiment_topic.ipynb: 分析レポート
├── models/
│ └── 🆕 lid.176.bin: fastTextの言語識別モデル
├── scripts/
│ ├── EDA.ipynb: 現状分析をするためのノートブック
├── src/
│ ├── add_review_id.py: レビューを一意に識別するためのID列を追加する
│ ├── language_detection.py: レビューが書かれている言語を識別する
│ ├── merge_processed_data.py: 言語識別とセンチメント分類の結果をマージする
│ ├── paths.py: ファイルパスが記録されている
│ ├── sentiment_classification.py: センチメント分類を実装する
│ ├── topic_classification.py: トピック分類を実装する
└── README.md