Sistema de clasificación automática de mensajes de cyberbullying que identifica diferentes tipos de discriminación (étnica, religiosa, de género, edad u otros) usando técnicas de NLP y machine learning.
- Alejandro Joel Ore Garcia
- Iam André Salvador Cucho Jordán
- Jose Guillermo Gálvez Pacori
- Héctor Sebastian Nieto Paz
- No Cyberbullying: Mensajes sin contenido ofensivo
- Ethnicity/Race: Discriminación étnica o racial
- Religion: Ataques hacia creencias religiosas
- Gender/Sexual: Acoso relacionado con género o orientación sexual
- Age: Discriminación por edad
- Other Cyberbullying: Otras formas de acoso
TF-IDF - Características basadas en frecuencia de términos con n-gramas (1,2) y 5,000 dimensiones
BERT - Embeddings contextuales de 768 dimensiones usando bert-base-uncased con fine-tuning específico
TF-IDF: Random Forest, Regresión Logística, Naive Bayes Multinomial
BERT: Fine-tuning estándar y optimizado con técnicas de regularización avanzadas
ultima_bala/
├── datasets/ # Datos de entrenamiento y prueba
├── experiment/ # Scripts de experimentación BERT y TF-IDF
├── feature_extraction/ # Extracción de características
├── preprocessing/ # Limpieza y preparación de datos
├── plots/ # Visualizaciones generadas
├── *.slurm # Configuraciones para cluster SLURM
└── setup_*.sh # Scripts de configuración automática
git clone https://github.com/flauts/Proyecto-Machine-Learning-P3
cd ultima_bala
python3 -m venv env
source env/bin/activate
pip install -r requirements.txtEn Cluster SLURM:
# Extracción de características
bash setup_feature_extraction.sh
# Experimentación completa
bash setup_experiment.sh
# O individualmente
sbatch bert_experiment.slurm
sbatch tfidf_experiment.slurmLos modelos entrenados, resultados y métricas se generan automáticamente al ejecutar los scripts SLURM.
| Modelo | Accuracy | F1-Score Macro |
|---|---|---|
| TF-IDF (Reg. Logística) | 83.0% | 83.0% |
| BERT Optimizado | 85.9% | 86.0% |
Fortalezas de BERT:
- Discriminación étnica: F1 = 99%
- Cyberbullying religioso: F1 = 96%
- Acoso por edad: F1 = 98%
Principales desafíos:
- Distinción entre "no cyberbullying" y "otro cyberbullying"
- Casos con contexto ambiguo
Fuente: Cyberbullying Classification Dataset
- 46,017 mensajes de Twitter
- Distribución balanceada entre 6 categorías
- Preprocesamiento: eliminación de URLs, menciones y emojis
Bot de Discord implementado: BufordBot - Detección de cyberbullying en tiempo real con especificación de tipo y nivel de confianza.
Proyecto desarrollado en UTEC usando el cluster Khipu para experimentación.