Skip to content

Amey-Thakur/SENTIMENT-ANALYZER

Repository files navigation

Sentiment Analyzer

License: MIT Status Technology Developed by Amey Thakur and Mega Satish

A hybrid Natural Language Processing engine utilizing rule-based linguistic patterns and neural network classification to accurately identify and quantify sentiment in textual data.

Source Code  ·  Technical Specification  ·  Live Demo


Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


Important

🤝🏻 Special Acknowledgement

Special thanks to Mega Satish for her meaningful contributions, guidance, and support that helped shape this work.


Overview

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.

Analysis Heuristics

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.


Features

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

Interactive Polish: The Semantic Singularity

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.

Tech Stack

  • 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

Project Structure

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 Entrance

Results

Main Interface: Modern Design
Initial system state with optimized aesthetics and synchronized brand identity.

Landing Page


Linguistic Input: Textual Injection
Real-time textual data injection into the neural processing corridor.

Input Stage


Quantified Polarity: Neutral Outcome
Successful classification of neutral affective states with precise polarity detection.

Neutral Result


Complex Logic: Neural Inference
Injecting complex linguistic patterns for deep semantic study.

Complex Inference


Quantified Polarity: Positive Outcome
Successful classification of positive affective states with high-fidelity visual feedback.

Positive Result


System Attribution: Authors
Footer integration featuring verified attribution and clickable repository access.

Authors


Quick Start

1. Prerequisites

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.

2. Installation & Setup

Step 1: Clone the Repository

Open your terminal and clone the repository:

git clone https://github.com/Amey-Thakur/SENTIMENT-ANALYZER.git
cd SENTIMENT-ANALYZER

Step 2: Configure Virtual Environment

Prepare an isolated environment to manage dependencies:

Windows (Command Prompt / PowerShell):

python -m venv venv
venv\Scripts\activate

macOS / Linux (Terminal):

python3 -m venv venv
source venv/bin/activate

Step 3: Install Core Dependencies

Ensure your environment is active, then install the required libraries:

pip install -r "Source Code/requirements.txt"

Step 4: Linguistic Model Acquisition

Synchronize the required corpora for the TextBlob engine:

python -m textblob.download_corpora

3. Execution

Launch the primary terminal-based sentiment engine:

python "Source Code/app.py"

Tip

Interactive Sentiment Simulation | Hybrid NLP Engine

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.

Launch Live Demo on GitHub Pages


Usage Guidelines

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.


License

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


About This Repository

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

Acknowledgments

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.


↑ Back to Top

Authors  ·  Overview  ·  Features  ·  Structure  ·  Results  ·  Quick Start  ·  Usage Guidelines  ·  License  ·  About  ·  Acknowledgments


🧠 Sentiment Analyzer


Computer Engineering (B.E.) - University of Mumbai

Semester-wise curriculum, laboratories, projects, and academic notes.