How shreychauhan02/comment_sentiment_analysis_project works
This is a YouTube-comment sentiment product combining a Chrome extension, a local FastAPI analysis service, and an MLOps training pipeline. The user opens the extension on a video; the backend retrieves comments, analyzes sentiment and spam, and returns insights for display and CSV export. The documented training stages progress from ingestion through registration, with MLflow/Dagshub tracking. Source excerpts support the API’s YouTube and Gemini calls and the pipeline modules; some stage links and the extension-to-backend relationship are documented in the README rather than shown in sampled calls.
Main entry points: main.py Analysis API · utils.py Pipeline utilities · model_building.py Sentiment training · model_evaluation.py Model evaluation
Components 14
User Experience
- Extension UI
extension/popup.js
Analysis Service
- Analysis API
fastapi-backend/main.py - Spam training
fastapi-backend/train_spam_model.py
Model Pipeline
- Data ingestion
src/data/data_ingestion.py - Text preprocessing
src/data/data_preprocessing.py - TF-IDF features
src/data/feature_extraction.py - Sentiment training
src/model/model_building.py - Model evaluation
src/model/model_evaluation.py - Pipeline utilities
src/data/utils.py
Model Operations
- Model registration
src/data/register_model.py
Other components
- YouTube viewer
- YouTube comments
- Gemini summary
- MLflow / Dagshub
Connections 21
- YouTube viewer → Extension UI: opens
README.md - Extension UI → Analysis API: requests analysis
README.md - Analysis API → YouTube comments: fetches comments
fastapi-backend/main.py - Analysis API → Gemini summary: requests summary
fastapi-backend/main.py - Analysis API → Extension UI: returns insights
README.md - Spam training → Analysis API: trains spam model
- Data ingestion → Text preprocessing: feeds pipeline
README.md - Text preprocessing → TF-IDF features: feeds pipeline
README.md - TF-IDF features → Sentiment training: feeds pipeline
README.md - Sentiment training → Model evaluation: feeds pipeline
README.md - Model evaluation → Model registration: feeds pipeline
README.md - Data ingestion → Pipeline utilities: uses
src/data/data_ingestion.py - Text preprocessing → Pipeline utilities: uses
src/data/data_preprocessing.py - TF-IDF features → Pipeline utilities: uses
src/data/feature_extraction.py - Sentiment training → Pipeline utilities: uses
src/model/model_building.py - Model evaluation → Pipeline utilities: uses
src/model/model_evaluation.py - Model registration → Pipeline utilities: uses
src/data/register_model.py - Sentiment training → MLflow / Dagshub: logs run
src/model/model_building.py - Model evaluation → MLflow / Dagshub: logs metrics
src/model/model_evaluation.py - Model registration → MLflow / Dagshub: registers models
src/data/register_model.py - Analysis API → MLflow / Dagshub: loads registered model
fastapi-backend/main.py