0

YouTube Sentiment Intelligence Dashboard

Real-time sentiment analysis of YouTube comments - analyzes audience reaction at scale using NLTK VADER, with 24-hour trend visualization, auto-refresh, and AI-generated insights. Deployed on Streamlit.

Context

Creators and brands need to understand audience reaction at scale - but manually reading thousands of YouTube comments is impractical. Sentiment is scattered and subjective. Without structured analysis, it's impossible to gauge overall reception, spot trends, or compare performance across videos.

Technical Approach

Why VADER Over a Trained Classifier

VADER (Valence Aware Dictionary and sEntiment Reasoner) is a rule-based sentiment analyzer specifically tuned for social media text. For this use case, it was the right choice over a trained classifier because:

  1. No training data needed - YouTube comments are diverse and domain-agnostic. Training a supervised classifier would require labeled data for every content niche.
  2. Handles social media conventions - VADER understands capitalization ("AMAZING" > "amazing"), emoji, slang, and punctuation intensity ("great!!!" > "great").
  3. Speed - VADER processes ~10K comments/second. A transformer-based classifier would be 100x slower and unnecessary for this granularity.
  4. Interpretability - The compound score (-1 to +1) is directly interpretable. No black-box calibration needed.

The tradeoff: VADER misses sarcasm and context-dependent sentiment. For production use at scale, I'd add a fine-tuned DistilBERT layer for ambiguous cases (compound score between -0.2 and 0.2).

Pipeline

YouTube Data API v3

Fetch trending videos OR custom URL → video metadata + comments

VADER Sentiment Analysis (per comment)

Aggregation: positive/neutral/negative %, avg compound score

24-hour trend bucketing (comments grouped by hour)

Streamlit Dashboard (auto-refresh every 5 min)

Sentiment Classification Thresholds

SentimentCompound ScoreRationale
Positive 🟢≥ 0.05VADER's recommended threshold for social media
Neutral ⚪-0.05 to 0.05Ambiguous zone - could go either way
Negative 🔴≤ -0.05Symmetric threshold for balanced classification

Key Features

  • Trending + Custom URL: Analyze trending videos by region or paste any YouTube URL
  • 24-Hour Trend Visualization: Sparkline graphs showing sentiment shifts over time
  • Auto-refresh: Data refreshes every 5 minutes with manual override
  • Sorting & Filtering: Sort by sentiment, views, or comment count
  • AI-Generated Insights: Pattern detection and trend summarization

Technologies

Python · Streamlit · NLTK VADER · YouTube Data API v3 · Pandas