--- language: es license: apache-2.0 tags: - spanish - hate-speech-detection - text-classification - beto - inclusivity datasets: - manueltonneau/spanish-hate-speech-superset metrics: - accuracy - f1 - precision - recall widget: - text: "Me encanta este país, la gente es muy amable" - text: "Todos los inmigrantes son delincuentes" --- # InclusioCheck - Detector de Lenguaje de Odio en Español ## 📋 Descripción del Modelo **InclusioCheck** es un modelo de clasificación de texto fine-tuned desde [BETO](https://huggingface.co/dccuchile/bert-base-spanish-wwm-cased) para detectar lenguaje de odio (hate speech) en textos en español. ## 🚀 Uso Rápido ```python from transformers import pipeline # Cargar el clasificador classifier = pipeline("text-classification", model="antonn-dromundo/InclusioCheck-BETO-HateSpeech") # Predecir resultado = classifier("Texto a analizar") print(resultado) ``` ## 💻 Uso Avanzado ```python from transformers import AutoTokenizer, AutoModelForSequenceClassification import torch # Cargar modelo y tokenizer tokenizer = AutoTokenizer.from_pretrained("antonn-dromundo/InclusioCheck-BETO-HateSpeech") model = AutoModelForSequenceClassification.from_pretrained("antonn-dromundo/InclusioCheck-BETO-HateSpeech") # Función de predicción def predecir(texto): inputs = tokenizer(texto, return_tensors="pt", truncation=True, max_length=128) with torch.no_grad(): outputs = model(**inputs) prediccion = outputs.logits.argmax(-1).item() probabilidad = torch.softmax(outputs.logits, dim=-1)[0][prediccion].item() label = "Hate Speech" if prediccion == 1 else "No Hate Speech" return {"label": label, "confidence": probabilidad} # Ejemplo print(predecir("Los inmigrantes son bienvenidos")) ``` ## 📊 Métricas de Rendimiento | Métrica | Valor | |---------|-------| | Accuracy | 0.816 | | F1 Score | 0.827 | | Precision | 0.777 | | Recall | 0.884 | ## 📚 Dataset de Entrenamiento - **Fuente**: [Spanish Hate Speech Superset](https://huggingface.co/datasets/manueltonneau/spanish-hate-speech-superset) - **Ejemplos de entrenamiento**: 12,350 - **Ejemplos de test**: 2,180 - **Clases**: 2 (No Hate / Hate Speech) - **Balanceo**: Sí (undersampling de clase mayoritaria) ## 🎯 Casos de Uso - ✅ Moderación automática de contenido - ✅ Filtrado de comentarios en redes sociales - ✅ Auditoría de lenguaje inclusivo - ✅ Herramienta de apoyo para redacción ## ⚠️ Limitaciones - El modelo está entrenado específicamente para **español** - Puede tener sesgos inherentes al dataset de entrenamiento - Recomendado como **herramienta de apoyo**, no como única fuente de decisión - El contexto cultural y la intención deben considerarse en casos ambiguos ## 👤 Autoría Antonio Dromundo. Creado como parte del proyecto **InclusioCheck** para promover la detección de lenguaje excluyente. De Mexico para el mundo ## 📄 Licencia Apache 2.0 ## 🔗 Enlaces - [Repositorio del proyecto](#) - [Demo en Gradio](#)