sentimental analysis for the google playstore app review
A Flask-based web application for analyzing Google Play Store app reviews using three different sentiment analysis algorithms: VADER, BERT, and LSTM.
✨ Three Sentiment Analysis Algorithms
- VADER: Fast lexicon-based sentiment analysis (Valence Aware Dictionary and sEntiment Reasoner)
- BERT: Deep learning-based NLP using DistilBERT model
- LSTM: Sequence-based learning approach using TextBlob
🚀 Flexible Analysis Options
- Quick Analysis: First 500 reviews (fast)
- Full Analysis: Entire review database (comprehensive)
📊 Comprehensive Analysis
- Overall sentiment distribution (positive, negative, neutral)
- Aspect-based sentiment analysis (usability, performance, design, features, etc.)
- Individual review sentiment breakdown
- Interactive visualizations (pie charts, bar charts, radar charts)
varunappp/
├── app.py # Flask application & sentiment analysis logic
├── requirements.txt # Python dependencies
├── templates/
│ └── index.html # Frontend UI
└── CHANGES.md # Changelog with all updates
-
Clone or navigate to the project:
cd c:\Users\varun\Desktop\varunan\varunappp
-
Create and activate virtual environment (if not done):
python -m venv .venv .venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
Note: This will install:
torch- PyTorch deep learning frameworktransformers- Hugging Face models (includes BERT)textblob- TextBlob sentiment analysis- Other required packages (Flask, spacy, nltk, etc.)
-
Start the Flask application:
python app.py
-
Open in browser:
http://localhost:5000 -
Fill in the form:
-
App URL/ID: Enter a Google Play Store app ID or full URL
- Example ID:
com.spotify.music - Example URL:
https://play.google.com/store/apps/details?id=com.spotify.music
- Example ID:
-
Analysis Type: Choose between
- Quick Analysis (500 reviews)
- Full Analysis (all reviews)
-
Algorithm: Select your preferred sentiment analysis method
- ⚙️ VADER - Fast lexicon-based
- 🧠 BERT - Deep learning NLP
- 🔄 LSTM - Sequence learning
-
-
Click "Analyze Reviews" and wait for results
- Speed: ⚡⚡⚡ (Fastest)
- Accuracy: ⭐⭐⭐ (Good)
- Memory: Low
- Best for: Quick analysis, real-time processing
- Implementation: Lexicon-based with heuristics
- Pros: Fast, no training needed, good for social media
- Cons: May miss complex sentiments
- Speed: ⚡ (Slower)
- Accuracy: ⭐⭐⭐⭐⭐ (Excellent)
- Memory: High
- Best for: Complex sentiments, production quality
- Implementation: DistilBERT fine-tuned on SST-2 dataset
- Pros: State-of-the-art accuracy, contextual understanding
- Cons: Slower, requires GPU for optimal performance
- Speed: ⚡⚡ (Moderate)
- Accuracy: ⭐⭐⭐⭐ (Very Good)
- Memory: Medium
- Best for: Nuanced sentiment understanding, sequence analysis
- Implementation: TextBlob with polarity detection
- Pros: Good balance of speed and accuracy
- Cons: May not capture all context
The application analyzes sentiment regarding specific app aspects:
- Usability: Ease of use, interface, navigation
- Performance: Speed, crashes, bugs, responsiveness
- Design: Layout, UI/UX, visual appeal
- Features: Functionality, tools, capabilities
- Reliability: Stability, consistency
- Support: Customer service, help, support
- Privacy: Data security, permissions
- Price: Cost, subscriptions, pricing
- Updates: Version updates, improvements
The application provides three types of charts:
- Sentiment Pie Chart: Overall distribution of positive, negative, and neutral reviews
- Aspect-Based Bar Chart: Sentiment breakdown for each aspect
- Aspect Radar Chart: Visual representation of sentiment scores for all aspects
Key packages:
- Flask: Web framework
- transformers: BERT models
- torch: Deep learning framework
- nltk: Natural language toolkit (VADER)
- spacy: NLP library
- textblob: Simplified sentiment analysis (LSTM)
- plotly: Interactive visualizations
- google-play-scraper: Fetch reviews from Google Play Store
See requirements.txt for complete list.
- BERT Model:
distilbert-base-uncased-finetuned-sst-2-english - Fallback: If BERT fails, system automatically falls back to VADER
- None required for this basic version
- Google Play Store access is free and anonymous
pip install transformers torchpip install textblob- First run may take time to download the BERT model (~250MB)
- Models are cached in
~/.cache/huggingface/hub/
- Right-click CMD and select "Run as Administrator"
- This enables symlink support for better model caching
Change the port in app.py:
if __name__ == '__main__':
app.run(debug=True, port=5001) # Change 5001 to any available port- For Quick Results: Use VADER algorithm
- For Best Accuracy: Use BERT algorithm (may take 1-2 minutes)
- For Balance: Use LSTM algorithm
- Quick Analysis: Select first 500 reviews instead of full
- GPU Support: If you have NVIDIA GPU, install
torchwith CUDA support for faster BERT processing
- Real LSTM model training and loading
- Multiple BERT models for different domains
- Multi-language support
- Algorithm comparison dashboard
- Results export (CSV, PDF)
- Caching of analysis results
- Real-time analysis updates
- Custom sentiment thresholds
The application provides:
- Modern dark theme UI
- Responsive design for mobile and desktop
- Real-time analysis updates
- Detailed sentiment breakdown charts
- Individual review sentiment display
- Algorithm performance information
This project is for educational purposes.
Sentiment Analysis Application - Multi-Algorithm Version
For issues or improvements, please check the CHANGES.md file for recent updates.
Happy analyzing! 🚀