{"id":15145999,"url":"https://github.com/tarunsingh2002/youtube-comments-sentiment-analysis","last_synced_at":"2025-08-22T06:32:04.279Z","repository":{"id":254665425,"uuid":"845890071","full_name":"TarunSingh2002/Youtube-Comments-Sentiment-Analysis","owner":"TarunSingh2002","description":"This project leverages deep learning transformers to classify YouTube comments into six distinct emotions.","archived":false,"fork":false,"pushed_at":"2024-09-10T13:06:04.000Z","size":137,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-01T23:07:11.221Z","etag":null,"topics":["comments","data-science","deep-learning","flask","googletrans","html-css-javascript","huggingface-tokenizers","huggingface-transformers","huggingfacespace","keras-tensorflow","machine-learning","nlp","pycld3","sentiment-analysis","sentiment-classification","tensorflow","tflite-models","transformer","youtube"],"latest_commit_sha":null,"homepage":"https://tarun-singh-youtube-video-comments-sentiment-analysis.hf.space","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TarunSingh2002.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-22T06:00:53.000Z","updated_at":"2024-10-14T11:24:18.000Z","dependencies_parsed_at":"2024-09-26T12:00:36.152Z","dependency_job_id":null,"html_url":"https://github.com/TarunSingh2002/Youtube-Comments-Sentiment-Analysis","commit_stats":null,"previous_names":["tarunsingh2002/youtube-comments-sentiment-analysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TarunSingh2002%2FYoutube-Comments-Sentiment-Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TarunSingh2002%2FYoutube-Comments-Sentiment-Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TarunSingh2002%2FYoutube-Comments-Sentiment-Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TarunSingh2002%2FYoutube-Comments-Sentiment-Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TarunSingh2002","download_url":"https://codeload.github.com/TarunSingh2002/Youtube-Comments-Sentiment-Analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230568209,"owners_count":18246373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["comments","data-science","deep-learning","flask","googletrans","html-css-javascript","huggingface-tokenizers","huggingface-transformers","huggingfacespace","keras-tensorflow","machine-learning","nlp","pycld3","sentiment-analysis","sentiment-classification","tensorflow","tflite-models","transformer","youtube"],"created_at":"2024-09-26T12:00:31.750Z","updated_at":"2024-12-20T09:41:50.354Z","avatar_url":"https://github.com/TarunSingh2002.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Youtube Comments Sentiment Analysis\n\n**[Check out the live project here!](https://tarun-singh-youtube-video-comments-sentiment-analysis.hf.space)**\n\nWelcome to the YouTube Comment Sentiment Analyzer! This project leverages deep learning transformers to classify YouTube comments into six distinct emotions.\n\n\u003cp align=\"center\" float=\"left\"\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eApplication\u003c/td\u003e \n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/cb12247c-f07a-4650-a281-f2d13a71843a\" style=\"width:100%;\"\u003e\u003c/video\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n \u003c/table\u003e\n \u003c/p\u003e\n\n## Table of Contents\n\n1. [Project Overview](#project-overview)\n2. [Features](#features)\n3. [Project Structure](#project-structure)\n4. [License](#license)\n5. [Acknowledgments](#acknowledgments)\n\n## Project Overview\n\nThe YouTube Comment Emotion Analyzer is a deep learning application that uses the YouTube API to fetch real-time comments from any video and classify them into six emotions: Sadness, Joy, Love, Annoyed, Fear, and Surprise. It leverages a MobileBERT transformer model fine-tuned on the DAIR AI Emotion dataset, further optimized using Float16 Quantization for enhanced performance. The model is deployed in TensorFlow Lite format to ensure efficient classification. The application is built with Flask, containerized with Docker, and deployed on Hugging Face Spaces.\n\n## Features\n\n- **MobileBERT Transformer Model:** A compact, pre-trained transformer model fine-tuned on the DAIR AI Emotion dataset.\n- **TensorFlow Lite with Float16 Quantization:** The model is converted to TensorFlow Lite format with Float16 Quantization to ensure it is optimized for performance in real-time applications.\n- **Flask Web Interface:** A clean, easy-to-use web app built with Flask, using HTML, CSS, and JavaScript.\n- **Dockerized:** The entire application is containerized using Docker for consistent deployment and scalability.\n- **Deployed on Hugging Face Spaces:** Easily accessible as a web app hosted on Hugging Face Spaces for seamless user experience.\n\n## Project Structure\n\n```markdown\n├── .dvc                         \u003c- DVC configuration file for managing dataset version control.\n├── notebook                     \u003c- Jupyter Notebooks used for training and converting the model.\n│   ├── converting-model.ipynb   \u003c- Notebook for converting the model to TensorFlow Lite format.\n│   ├── model-training.ipynb     \u003c- Notebook used for training the transformer model on the emotion dataset.\n│   └── accuracy.ipynb           \u003c- Notebook for analyzing the accuracy of both the transformer and TFLite models.\n├── templates                    \u003c- HTML template for the Flask web application.\n│   └── index.html               \u003c- Main interface template for the web app.\n├── .dvcignore                   \u003c- File specifying files to ignore for dataset version control.\n├── .gitattributes               \u003c- Git configuration for handling file attributes and version control.\n├── .gitignore                   \u003c- File specifying which files and directories to ignore for version control.\n├── app.py                       \u003c- The main Flask application file that handles request routing and logic.\n├── Dockerfile                   \u003c- Docker configuration file for containerizing the app.\n├── evaluation_results1          \u003c- Contains evaluation results (accuracy, loss) of the transformer model.\n├── evaluation_results2          \u003c- Contains evaluation results for the TensorFlow Lite model.\n├── LICENSE                      \u003c- License for the project.\n├── model.dvc                    \u003c- DVC file for managing model version control.\n├── README.md                    \u003c- The main README file providing an overview and instructions for developers.\n├── requirements.txt             \u003c- List of dependencies needed to run the application.\n```\n\n## License\n\n```markdown\nMIT License\n\nCopyright (c) 2024 Tarun Singh\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n## Acknowledgments\n\nThis project owes its success to the invaluable resources provided by Hugging Face Spaces for hosting the application, and Hugging Face Transformers for the pre-trained MobileBERT model. Special thanks to the creators of the DAIR AI Emotion Dataset for supplying the essential data used for emotion classification, and to the YouTube API for enabling seamless retrieval of real-time video comments, which made the emotional analysis possible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarunsingh2002%2Fyoutube-comments-sentiment-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftarunsingh2002%2Fyoutube-comments-sentiment-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftarunsingh2002%2Fyoutube-comments-sentiment-analysis/lists"}