Skip to content

AbiramiMuthiah/sentilytics

Repository files navigation

Sentilytics

Multilingual YouTube Comment Sentiment Analysis Platform

A real-time sentiment analysis dashboard that extracts YouTube comments and classifies them using BERT and VADER — with AI-generated audience summaries and interactive analytics.


License Language


Overview

Sentilytics is a sentiment analysis platform that analyzes YouTube comments in real time. It fetches comments from any YouTube video, runs them through a BERT and VADER NLP pipeline, and visualizes audience sentiment through an interactive Streamlit dashboard.

The platform supports multilingual comments and generates AI-powered summaries of overall audience reaction, making it useful for content creators, marketers, and researchers.


Key Features

Sentiment Analysis Engine

  • BERT-based sentiment classification (Positive / Neutral / Negative)
  • VADER scoring for fast lexical sentiment estimation
  • Multilingual comment support
  • Confidence scores per classification

YouTube Comment Scraper

  • YouTube Data API integration
  • Bulk comment extraction from any public video
  • Automated text preprocessing pipeline
  • Language detection support

Interactive Dashboard

  • Real-time sentiment breakdown charts (pie + bar)
  • Searchable and filterable comment table
  • Sentiment distribution by comment volume
  • CSV export for further analysis
  • Dark-themed modern UI built with Streamlit

AI Summary

  • OpenAI-generated audience reaction summary
  • Overall tone interpretation
  • Key sentiment drivers highlighted

Screenshots

Dashboard

Dashboard

Sentiment Charts

Sentiment Charts

Comments Analysis

Comments Analysis


System Architecture

YouTube Video URL
        |
YouTube Data API
        |
Comment Extraction (sentilytics_scraper)
        |
+----------------------------------+
|  Text Preprocessing              |
|  BERT Sentiment Classification   |
|  VADER Sentiment Scoring         |
|  OpenAI Summary Generation       |
+----------------------------------+
        |
Streamlit Analytics Dashboard
        |
CSV Export

Tech Stack

Category Technologies
AI / NLP BERT, Transformers, VADER
AI Summary OpenAI API
Dashboard Streamlit
Data Processing Pandas, NumPy
Visualization Plotly, Matplotlib
APIs YouTube Data API v3
Language Python
Tools GitHub, VS Code

Getting Started

Prerequisites

  • Python 3.9+
  • YouTube Data API key (free at console.cloud.google.com)
  • OpenAI API key (optional — for AI summary feature)

1. Clone the Repository

git clone https://github.com/AbiramiMuthiah/sentilytics.git
cd sentilytics

2. Install Dependencies

pip install -r requirements.txt

3. Set Environment Variables

# Windows
set YOUTUBE_API_KEY=your_youtube_api_key
set OPENAI_API_KEY=your_openai_api_key

# Mac/Linux
export YOUTUBE_API_KEY=your_youtube_api_key
export OPENAI_API_KEY=your_openai_api_key

4. Run the Dashboard

streamlit run live_youtube_analysis.py
# Opens at http://localhost:8501

Project Structure

sentilytics/
├── sentilytics/
│   └── sentilytics_scraper/   # YouTube comment extraction
├── assets/                    # Screenshots
│   ├── Dashboard.png
│   ├── sentiment-charts.png
│   └── comments-analysis.png
├── live_youtube_analysis.py   # Main Streamlit app
├── requirements.txt
└── README.md

Future Improvements

  • Multi-platform support (Twitter/X, Reddit, Instagram)
  • Real-time live stream comment analysis
  • Emotion detection beyond positive/negative/neutral
  • Fine-tuned multilingual BERT model
  • User authentication and saved analysis history
  • Cloud deployment on Streamlit Cloud or AWS

Author

Abirami Muthiah
Applied AI Engineer | NLP | Data Science

Portfolio GitHub


License

Licensed under the MIT License.

About

Multilingual YouTube comment sentiment analysis using BERT and VADER with Streamlit dashboard

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors