Skip to content

Repository files navigation

⚡ Sentira: Parallel Sentiment Analysis Engine

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).


🚀 Key Features

  • 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.loky to 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.

🛠️ Tech Stack

  • Frontend / Dashboard: Streamlit
  • Machine Learning: Scikit-Learn (Random Forest)
  • Natural Language Processing: NLTK (VADER, WordNet, Stopwords)
  • Parallelization: Multiprocessing, Joblib

⚙️ Installation & Usage

1. Clone the repository

git clone https://github.com/your-username/Sentira.git
cd Sentira

2. Install dependencies

Ensure you have Python 3.8+ installed, then run:

pip install -r requirements.txt

3. Run the application

Start the Streamlit development server:

streamlit run app.py

Note: Make sure parallel_rf_model.pkl and tfidf_vectorizer.pkl are in the root directory before running.


📸 Overview

image image

👨‍💻 Developed By

Syed Muhammad Zeeshan
A project focusing on Parallel and Distributed Computing (PDC) and modern Natural Language Processing implementations.

About

A real-time application that predicts whether text is positive, negative, or neutral by combining a Random Forest machine learning model with NLTK VADER, using parallel CPU processing to deliver lightning-fast results.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages