The problem
Sentiment Analysis on E-commerce Reviews is an NLP final-year project that reads Amazon-style product reviews and classifies each as positive, negative or neutral — then goes further with aspect-level mining that tells you what customers feel about (battery life, camera quality, delivery speed). The ReviewSense Flask dashboard visualizes sentiment distribution, word clouds, aspect-wise scores and trending complaints across thousands of real reviews.
The project compares two serious approaches examiners love to quiz: the VADER lexicon-based method (fast, no training) versus a fine-tuned BERT transformer — with accuracy, precision, recall and F1 computed on a held-out test split during your build. You get genuine NLP depth (tokenization, stemming, TF-IDF, embeddings) plus a business story every reviewer understands: review overload is a real e-commerce problem, and this is its solution.
This is a built-to-order software project: the trained models, full source code and complete documentation are prepared and delivered for your final-year review.
How it works
- Raw reviews are cleaned and preprocessed — HTML stripped, lowercased, tokenized, stopwords removed, stemmed (NLTK).
- Two parallel pipelines classify each review: VADER scores it with a sentiment lexicon and rule-based heuristics, while a fine-tuned BERT model predicts from learned contextual embeddings.
- An aspect-mining module extracts product aspects (battery, camera, delivery…) and assigns sentiment per aspect using dependency-aware phrase windows.
- The ReviewSense dashboard aggregates everything: overall sentiment distribution, aspect-wise bars, word clouds and the trending-complaints leaderboard.
- The report compares VADER vs BERT on accuracy, precision, recall and F1 — with error analysis on sarcasm and mixed reviews for viva depth.
Project features
- Review sentiment classification: positive / negative / neutral with confidence scores
- Aspect-level sentiment mining (battery, camera, delivery, price, service)
- VADER (lexicon-based) vs BERT (transformer) model comparison with full metrics
- Flask dashboard with sentiment distribution charts and trend views
- Word clouds for positive and negative reviews separately
- Trending complaints panel — most-mentioned negative aspects ranked
- Batch analysis of CSV review datasets + single-review live tester
- Real e-commerce review dataset included (Amazon-style, thousands of reviews)
- Preprocessing pipeline: cleaning, tokenization, stopword removal, stemming
What is included
- Full source code (Python, well-commented, modular pipelines)
- Fine-tuned BERT model weights + training notebook
- Project report PDF (synopsis, literature survey, methodology, results, conclusion)
- PPT presentation for final review
- Viva Q&A preparation document (VADER vs BERT, NLP pipeline questions answered)
FAQs
- Why compare VADER and BERT instead of just using BERT? The comparison is the viva gold — it shows you understand the trade-off between a fast rule-based baseline and a heavy transformer, and the report quantifies it with metrics. Examiners always ask "why not a simpler method?"
- What dataset does the project use? A real Amazon-style e-commerce review dataset with thousands of labeled reviews is included and preprocessed. You can also upload your own CSV of reviews for the demo.
- What is aspect-level sentiment analysis? Instead of one label per review, the system extracts product aspects (battery, camera, delivery) and scores sentiment for each — so a review can be positive about the camera but negative about delivery. This is what businesses actually pay for.
- Can I analyze my own reviews live? Yes — the dashboard has a single-review tester where you type or paste any review and get instant sentiment + aspect breakdown, perfect for review-day demos.
- How do I explain the NLP preprocessing in my viva? The report walks through each step — cleaning, tokenization, stopword removal, stemming, TF-IDF — with before/after examples on real reviews, so you can narrate the pipeline confidently.
- Can this be extended? Easily — multilingual/code-mixed support, sarcasm detection, review summarization, or a live scraper pulling fresh reviews. Ask us and we will scope it.
Limitations & prerequisites
- The included dataset is English-only; Hinglish/code-mixed reviews are not handled.
- Sarcasm and irony ("great, another broken charger") are frequently misclassified — documented in the error analysis.
- BERT fine-tuning needs a GPU or Colab; the trained weights are included so inference runs on CPU.
- Aspect mining is rule-based and tuned for electronics-style reviews; new product categories need rule adjustments.
Components & software requirements
- Python 3.10, NLTK (tokenization, stemming, stopwords), scikit-learn (TF-IDF, metrics)
- VADER sentiment lexicon (baseline), Hugging Face Transformers (fine-tuned BERT)
- Flask dashboard, Plotly/Matplotlib charts, WordCloud
- pandas/NumPy for dataset handling; real Amazon-style review dataset included
Specifications
| Parameter | Value |
|---|---|
| Models | VADER (lexicon) vs fine-tuned BERT (transformer) |
| Classification | 3-class: positive / negative / neutral |
| Dataset | Amazon-style e-commerce reviews (thousands of labeled reviews) |
| Test performance | BERT ~85–90% accuracy; VADER ~65–70% (documented comparison) |
| Aspect mining | Rule + dependency-based aspect extraction (battery, camera, delivery, price, service) |
| Preprocessing | Cleaning, tokenization, stopword removal, Porter stemming, TF-IDF |
| Dashboard | Flask web app: charts, word clouds, trending complaints, live tester |
| Input | CSV batch upload or single-review text box |