AmrrSalem/Sentiment-Analysis-Tool
NLP tool for sentiment classification with model training, evaluation metrics, and REST API serving | Live: https://sentiment-analysis-tool-by-amrr-salem.streamlit.app
What's novel
NLP tool for sentiment classification with model training, evaluation metrics, and REST API serving | Live: https://sentiment-analysis-tool-by-amrr-salem.streamlit.app
Code Analysis
5 files read · 2 roundsA production-ready sentiment analysis tool combining HuggingFace transformers with rule-based fallbacks, sarcasm detection, and aspect extraction, served via a Streamlit dashboard and FastAPI.
Strengths
The project demonstrates strong separation of concerns with distinct modules for model logic, metrics, and API handling. It includes thoughtful features like multilingual support, channel-specific weighting, and robust text preprocessing (PII removal, emoji handling). The fallback mechanism to rule-based analysis ensures reliability even if transformers fail.
Weaknesses
The implementation relies heavily on simple keyword matching for sarcasm and aspect extraction rather than advanced NLP techniques. The synthetic validation data generation in metrics.py is a workaround that reduces the robustness of the evaluation pipeline. Some error handling is basic (e.g., generic exception catching without detailed logging).
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
6
Contributors
1
Files
16
Active weeks
2
Repository
Language
Python
Stars
1
Forks
0
License
MIT