Hayden Eubanks

Computer Science: Cybersecurity

Sentiment Analysis Extension for YouTube | Portfolio

Sentiment Analysis Chrome Extension for YouTube

Project Overview

This project showcases a Google Chrome extension that enhances the YouTube viewing experience by performing real-time Sentiment Analysis on comments associated with YouTube videos. By analyzing the sentiment of user comments, the extension categorizes them as Positive, Neutral, or Negative, providing users with a quick and insightful overview of the audience’s mood and reaction towards a video.

The extension also calculates a positivity percentage and displays a summary of the overall sentiment across all comments. Users can interactively improve the sentiment model by providing feedback, enabling better accuracy over time.

Key Features

  • Real-time sentiment analysis of YouTube comments directly on the video page.
  • Dynamic visualization of the overall sentiment score and percentage of positive comments.
  • Interactive model training allows users to provide feedback and improve the sentiment analysis model over time.
  • Efficient performance with minimal impact on browser resources.

APIs and Technologies Used

YouTube Data API v3: The extension uses YouTube Data API to fetch video comment threads. It allows the extension to retrieve comments in batches for processing.

Chrome Extensions API: This API is used to integrate the extension into the browser, leveraging background and content scripts for seamless communication with the YouTube page.

Machine Learning: The extension uses a trained machine learning model to analyze comment sentiments. Users can interactively adjust ratings to fine-tune the model.

IndexedDB: The model is persisted using IndexedDB to save user feedback and model updates across sessions.

MySQL Database: MySQL Database is used for storing training data and sentiments as well as user classified comments

Custom APIs: This extension uses custom APIs for sending user feedback to the MySQL Database

Web Technologies: Built using HTML, CSS, and JavaScript, leveraging asynchronous features such as fetch API for data handling.