Sentira is a high-performance, real-time sentiment analysis dashboard built with Python and Streamlit. It utilizes a hybrid Machine Learning approach, combining the predictive power of a Random Forest Classifier with the contextual nuance of NLTK's VADER.
By leveraging CPU multiprocessing and parallel execution, the engine delivers highly optimized, low-latency inference for textual data (such as news headlines).
- Hybrid NLP Engine: Combines a custom-trained Random Forest model (for baseline predictions) with VADER sentiment scores (for contextual overrides).
- Parallel Computing: Dynamically utilizes all available CPU cores via
joblib.lokyto maximize throughput and minimize latency. - UI: A sleek, modern, dark-themed interface built using Streamlit, featuring real-time metric tracking and aesthetic micro-interactions.
- Performance Metrics: Real-time calculation of system latency, overall accuracy, and F1-scores built directly into the dashboard.
- Frontend / Dashboard: Streamlit
- Machine Learning: Scikit-Learn (Random Forest)
- Natural Language Processing: NLTK (VADER, WordNet, Stopwords)
- Parallelization: Multiprocessing, Joblib
git clone https://github.com/your-username/Sentira.git
cd SentiraEnsure you have Python 3.8+ installed, then run:
pip install -r requirements.txtStart the Streamlit development server:
streamlit run app.pyNote: Make sure parallel_rf_model.pkl and tfidf_vectorizer.pkl are in the root directory before running.
Syed Muhammad Zeeshan
A project focusing on Parallel and Distributed Computing (PDC) and modern Natural Language Processing implementations.