Week 1 Project | AI & Data Analyst Internship
An end-to-end Sentiment Analysis system that automatically reads e-commerce product reviews, classifies them as Positive, Negative, or Neutral, and generates meaningful business insights through data visualization.
E-commerce platforms receive thousands of customer reviews every day. Manually reading each review to understand customer satisfaction is time-consuming and inefficient.
This project solves that by building an automated sentiment analysis pipeline that:
- Reads and cleans raw product review data
- Applies NLP-based sentiment scoring to every review
- Classifies each review into Positive / Negative / Neutral
- Presents findings through charts and a written summary report
sentiment-analysis-on-product-reviews/
│
├── Sentiment_Analysis_on_Product_Reviews.ipynb # Main Jupyter Notebook (all 5 tasks)
├── Dataset/ # Raw product reviews CSV dataset
├── Charts/ # All generated visualization charts
└── Summary.pdf # Final insights & summary report
- Loaded the CSV dataset using Pandas
- Displayed the first 10 rows to understand the structure
- Checked total number of rows and columns
- Identified the review text column for analysis
- Removed rows where review text was empty or null
- Removed duplicate reviews
- Kept only the essential columns: review text and rating/score
- Used the TextBlob library to calculate polarity score for each review
- Applied the following classification logic:
score > 0→ Positivescore < 0→ Negativescore = 0→ Neutral
- Added a new
Sentimentlabel column to the dataset
- Chart 1 — Bar Chart: Count of Positive, Negative, and Neutral reviews
- Chart 2 — Pie Chart: Percentage distribution of each sentiment category
- Chart 3 — Custom Chart: Creative visualization (e.g., rating vs sentiment comparison / most common words in negative reviews)
All charts are saved in the Charts/ folder.
Answered the following business questions inside the notebook:
- What percentage of reviews are positive?
- What do customers mostly complain about in negative reviews?
- What was surprising in the data?
- One actionable recommendation for the business
Full written summary available in Summary.pdf.
| Tool | Purpose |
|---|---|
| Python 3.x | Main programming language |
| Google Colab | Development environment |
| Pandas | Data loading and cleaning |
| TextBlob | Sentiment polarity analysis |
| Matplotlib / Seaborn | Charts and visualizations |
1. Open in Google Colab
Click the link below to open the notebook directly in Google Colab (no installation needed):
Or manually:
- Go to colab.research.google.com
- Click File → Open Notebook → GitHub
- Paste this repo URL:
https://github.com/smohan-21/sentiment-analysis-on-product-reviews - Select
Sentiment_Analysis_on_Product_Reviews.ipynb2. Install required libraries (run this cell first in Colab)
!pip install textblob3. Download TextBlob language data
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')4. Upload the dataset
Upload the CSV file from the Dataset/ folder when prompted, or mount your Google Drive:
from google.colab import drive
drive.mount('/content/drive')Run all cells from top to bottom to reproduce the full analysis.
- Cleaned dataset with sentiment labels added
- 3 visualizations saved in the
Charts/folder - Business insights written inside the notebook (Task 5)
- Summary report:
Summary.pdf
Mohan S AI & Data Analyst Intern GitHub: @smohan-21
This project is built for internship and educational purposes.