Este proyecto tiene como objetivo automatizar el proceso de deteccion de mensajes de odio en los comentarios provenientes de un canal de Youtube en tiempo real mediante la integracion con el servicio de bots proporcionado por la API de Telegram.
Nuestra API recibe los comentarios del canal, los procesa y realiza la prediccion de contenido de odio a traves de un modelo de Machile Learning basado en un algoritmo de Ensemble.
Si dicho comentario es clasificado como de odio , envia una notificacion al Telegram del propietario del canal de Youtube
Estas instrucciones te permitirán obtener una copia del proyecto en funcionamiento en tu máquina local para propósitos de desarrollo y pruebas.
Mira Deployment para conocer como desplegar el proyecto.
Clona el proyecto
git clone https://github.com/Factoria-F5-AI-Bootcamp-1-Edicion/Equipo-Adjetivo-4-nlp.git
Instalar dependencias
pip install -r requirements.txt
Moverse a la carpeta src/ del proyecto
cd Equipo-Adjetivo-4-nlp/src
Usuario debe obtener las credenciales de autenticacion de Telegram y Youtube (tokens)
https://developers.google.com/youtube/registering_an_application?hl=es-419
https://core.telegram.org/bots
Crear un archivo .env con las siguientes dos variables de entorno correspondientes a las credenciales de Youtube y Telegram
Variable de entorno | Descripción | Ejemplo |
---|---|---|
KEY_TLG |
token de Telegram | Conversación con @BotFather y comando /newbot |
KEY_YT |
token de API Youtube | Token de Youtube Data API |
Ejecutar API desde directorio raiz
python src/main.py
Abrir cliente de Telegram (version mobile o escritorio), iniciar una conversacion con @Telgram
Ejecutar comando /start
├── img # Imagen de las métricas del modelo.
│ └── output.png
├── license # Licencia utilizada para el proyecto.
│ └── LICENSE
├── notebooks # Cuadernos de Jupyter para el EDA y pruebas de modelos.
│ ├── EDA+FeaturingEngineering
│ ├── final_model
│ ├── Limpieza_dataset
│ ├── pruebas
│ └── Toxico
├── src # Programas utilizados para el proyecto.
│ ├── ia.py # Mecánica de uso del modelo de IA.
│ ├── istoxic.py # Funciones de preparación de texto y predicción
│ ├── main.py # Programa para arrancar el Bot
│ ├── TlmBot.py # Configuraciones del Bot
│ └── youtube.py # Funciones del bot para predecir toxicidad
├── .gitignore # Extensiones ignoradas por git
├── map.txt # Mapa de la estructura de proyecto
├── README.md # Instrucciones iniciales para levantar la APP
└── requirements.txt # REquerimientos a instalar para levantar el proyecto.
Menciona las herramientas que utilizaste para crear tu proyecto
- [Lenguaje de programacion) - Python 3.10.7
- Metodología Scrum.
- IDE: Visual Studio Code
- Gestor de paquetes: pip
- Herramienta organizativa : Trello
- librerias de M.L: Scikit-learn y catboost
- Librerias NPL : Spacy, spamoji y NLTK, re, string y TextBlob
- Librerias para comunicacion con servicios externos : requests.
- Herramientas de analisis : Pandas, Seaborn y matplotlib.
Sistema de control de versiones Git
- Victor Arbiol (Product Owner-Developer)
- Mayra Espinoza (Developer)
- Nayare Soledad (Developer)
- Sebastian Degaudenci (Scrum Master)