A hybrid Natural Language Processing engine utilizing rule-based linguistic patterns and neural network classification to accurately identify and quantify sentiment in textual data.
Authors · Overview · Features · Structure · Results · Quick Start · Usage Guidelines · License · About · Acknowledgments
Important
Special thanks to Mega Satish for her meaningful contributions, guidance, and support that helped shape this work.
Sentiment Analyzer is a hybrid Natural Language Processing (NLP) engine designed to accurately identify and quantify sentiment in textual data utilizing rule-based linguistic patterns and neural network classification. By translating human linguistics into empirical sentiment scores, this repository provides a foundational bridge between raw text and actionable psychological insights.
The repository serves as a digital study into interactive system architecture, brought into a modern context via WebAssembly and PyScript, enabling high-performance linguistic analysis directly within the browser environment.
The classification engine is governed by strict computational design patterns ensuring fidelity and responsiveness:
- Progressive Polarity: The engine utilizes a linear sentiment multiplier, incrementally scoring lexical tokens against curated corpora to arrive at a global affective state.
- Neural Inference: Beyond rule-based logic, the system integrates a TensorFlow-based classifier that dynamically refines its accuracy over time, simulating an organic learning curve for complex semantic structures.
- Zero-Latency Pipeline: Input handling supports both continuous text streams and batch processing, ensuring real-time affective response critical for interactive linguistic study.
Tip
Semantic Precision Integration
To maximize classification clarity, the engine employs a multi-engine validation system. Lexical filters refine the input stream, and probabilistic weights visualize the sentiment's confidence vector, strictly coupling semantic flair with state changes. This ensures the user's mental model is constantly synchronized with the underlying linguistic simulation.
| Feature | Description |
|---|---|
| Dual Engine Core | Combines TextBlob Linguistic Analysis with Keras Neural Architectures for comprehensive sentiment detection. |
| Real-Time Analysis | Implements a robust terminal and web interface for immediate classification of textual affective states. |
| Structural Clarity | In-depth and detailed comments integrated throughout the codebase for transparent logic study. |
| Wasm Architecture | Efficient WebAssembly execution via PyScript and Pyodide for native web accessibility. |
| Inference Pipeline | Asynchronous architecture ensuring stability and responsiveness on web clients. |
| Visual Feedback | Interactive Sentiment Badges that trigger on analysis events for sensory reward. |
| State Feedback | Polarity-Based Indicators and screen effects for high-impact linguistic feel. |
| Social Persistence | Interactive Footer Integration bridging the analysis to the source repository. |
Note
We have engineered a Logic-Driven State Manager that calibrates affective scores across multiple vectors to simulate human-like sentiment transfer. The visual language focuses on the minimalist "Neural Slate" aesthetic, ensuring maximum focus on the interactive linguistic trajectory.
- Languages: Python 3.9+
- Logic: NLP Pipelines (Linguistic Heuristics & Neural Inference)
- Frameworks: TextBlob & TensorFlow (Keras)
- UI System: Modern Design (PyScript & Custom CSS)
- Deployment: GitHub Actions (WebAssembly Deployment Pipeline)
- Hosting: GitHub Pages
SENTIMENT-ANALYZER/
│
├── .github/ workflows/ # CI/CD Automation
│ └── deploy.yml # GitHub Pages Deployment
│
├── docs/ # Project Documentation
│ └── SPECIFICATION.md # Technical Architecture
│
├── Mega/ # Attribution Assets
│ ├── Filly.jpg # Companion (Filly)
│ └── Mega.png # Profile Image (Mega Satish)
│
├── screenshots/ # Visual Gallery
│ ├── 01-landing-page.png
│ ├── 02-input-stage.png
│ ├── 03-neutral-result.png
│ ├── 04-footer-section.png
│ ├── 05-input-example.png
│ └── 06-positive-result.png
│
├── Source Code/ # Primary Application Layer
│ ├── app.py # Terminal Sentiment Engine
│ ├── neural_sentiment.py # Neural Network Topology
│ ├── SENTIMENT_ANALYSIS.ipynb # Investigative Notebook
│ └── requirements.txt # Dependency Manifest
│
├── static/ # Web Assets
│ └── style.css # Interface Styles
│
├── index.html # Web Entrance (PyScript)
├── SECURITY.md # Security Protocols
├── CITATION.cff # Project Citation Manifest
├── codemeta.json # Metadata Standard
├── LICENSE # MIT License
└── README.md # Project EntranceInitial system state with optimized aesthetics and synchronized brand identity.
Linguistic Input: Textual Injection
Real-time textual data injection into the neural processing corridor.
Quantified Polarity: Neutral Outcome
Successful classification of neutral affective states with precise polarity detection.
Complex Logic: Neural Inference
Injecting complex linguistic patterns for deep semantic study.
Quantified Polarity: Positive Outcome
Successful classification of positive affective states with high-fidelity visual feedback.
System Attribution: Authors
Footer integration featuring verified attribution and clickable repository access.

- Python 3.9+: Required for runtime execution. Download Python
- Git: For version control and cloning. Download Git
Warning
Linguistic Asset Acquisition
The analysis engine relies on curated NLTK corpora. Initializing the engine for the first time will trigger a download of these assets (primarily for tokenization and part-of-speech tagging). Ensure a stable network connection during the setup phase to avoid logic synchronization errors.
Open your terminal and clone the repository:
git clone https://github.com/Amey-Thakur/SENTIMENT-ANALYZER.git
cd SENTIMENT-ANALYZERPrepare an isolated environment to manage dependencies:
Windows (Command Prompt / PowerShell):
python -m venv venv
venv\Scripts\activatemacOS / Linux (Terminal):
python3 -m venv venv
source venv/bin/activateEnsure your environment is active, then install the required libraries:
pip install -r "Source Code/requirements.txt"Synchronize the required corpora for the TextBlob engine:
python -m textblob.download_corporaLaunch the primary terminal-based sentiment engine:
python "Source Code/app.py"Tip
Experience the interactive Sentiment Analyzer simulation directly in your browser through the working GitHub Pages deployment. This platform features a Dual-Engine Core that combines rule-based heuristics with neural classification, providing a visual demonstration of linguistic polarity detection and real-time affective state quantification.
This repository is openly shared to support learning and knowledge exchange across the engineering community.
For Students
Use this project as reference material for understanding Linguistic Pattern Recognition, Neural Network Sentiment Classification (Keras), and real-time affective inference. The source code is available for study to facilitate self-paced learning and exploration of Python-based NLP pipelines and WebAssembly/PyScript integration.
For Educators
This project may serve as a practical lab example or supplementary teaching resource for Computer Engineering, Digital Signal Processing (Linguistic), and Interactive System Architecture courses. Attribution is appreciated when utilizing content.
For Researchers
The documentation and architectural approach may provide insights into systematic project structuring, cross-platform Wasm deployment, and hybrid rule-based/neural linguistic modeling.
This repository and all its creative and technical assets are made available under the MIT License. See the LICENSE file for complete terms.
Note
Summary: You are free to share and adapt this content for any purpose, even commercially, as long as you provide appropriate attribution to the original authors.
Copyright © 2021 Amey Thakur & Mega Satish
Created & Maintained by: Amey Thakur & Mega Satish
This project features Sentiment Analyzer, a dual-engine linguistic classification system. It represents a personal exploration into Python-based natural language processing and high-performance web-service architecture via WebAssembly.
Connect: GitHub · LinkedIn · ORCID
Grateful acknowledgment to Mega Satish for her exceptional collaboration and partnership during the development of this Sentiment Analyzer project. Her constant support, technical clarity, and dedication to software quality were instrumental in achieving the system's functional objectives. Learning alongside her was a transformative experience; her thoughtful approach to problem-solving and steady encouragement turned complex requirements into meaningful learning moments. This work reflects the growth and insights gained from our side-by-side journey. Thank you, Mega, for everything you shared and taught along the way.
Special thanks to the mentors and peers whose encouragement, discussions, and support contributed meaningfully to this learning experience.
Authors · Overview · Features · Structure · Results · Quick Start · Usage Guidelines · License · About · Acknowledgments
Computer Engineering (B.E.) - University of Mumbai
Semester-wise curriculum, laboratories, projects, and academic notes.

