Data obtained via web scraping using Google Scraping, totaling 50,000 review samples.
The sentiment analysis results were categorized into three main classes:
- Positive — reviews expressing satisfaction or praise.
- Negative — reviews containing complaints, dissatisfaction, or criticism.
- Neutral — reviews that are informative, ambiguous, or do not convey a strong positive or negative sentiment.
- Logistic Regression with Bag of Words (BoW) representation
- Logistic Regression with TF-IDF representation
- Support Vector Machine (SVM)
- CNN-LSTM (Convolutional Neural Network + Long Short-Term Memory)
- CNN-LSTM:
- Best performance with highest accuracy at 92.4%
- Balanced F1-score across all classes
- SVM:
- Second best with stable performance
- Accuracy of 91.5%
- Logistic Regression (BoW):
- Reliable with 90.2% accuracy
- Suitable for resource-constrained scenarios
- Logistic Regression (TF-IDF):
- Lowest accuracy at 86.8%
- Less accurate, especially on neutral class
- For new text predictions, Logistic Regression (both TF-IDF and BoW) shows better consistency in understanding neutral and ambiguous contexts.
- Recommended Model Usage:
- CNN-LSTM for maximum performance
- SVM for balance between performance and stability
- Logistic Regression (BoW) for computational efficiency
- Experiment further with advanced architectures such as transformers or attention-based models for improved understanding of context.
- Perform data augmentation or use external sentiment lexicons to enrich training data.
- Explore hyperparameter tuning and ensemble methods to boost model robustness.
- Investigate real-time deployment feasibility and model inference speed for production use.
- Incorporate user feedback loops to continually improve model accuracy and relevance.