- XLM-RoBERTa Large: Hate Speech & Toxicity Classifier (El Salvador)
- 1. Identificaci贸n del Artefacto
- 鈿狅笍 Nota de Trazabilidad y Metadatos del Repositorio
- Verificaci贸n de Pesos (Integridad)
- 2. Taxonom铆a de Clases y Definici贸n Operativa
- 3. Ficha de Datos de Entrenamiento (
train_merged_hateval.csv) - 4. Especificaciones de Ingenier铆a e Hiperpar谩metros
- 5. Evaluaci贸n Oficial y M茅tricas de Rendimiento
- 6. An谩lisis de Limitaciones e Impacto
- 7. Instrucciones para Inferencia y Uso
- 1. Identificaci贸n del Artefacto
XLM-RoBERTa Large: Hate Speech & Toxicity Classifier (El Salvador)
1. Identificaci贸n del Artefacto
- Nombre Registrado:
xlmr-large-hateval-hate-speech-sv - Autores: Julio Enrique De La Quadra Mata, Cristian Antonio Escalante Hern谩ndez, Willian Alexander Ch谩vez Servell贸n
- Instituci贸n: Universidad de El Salvador --- Facultad de Ingenier铆a y Arquitectura (Escuela de Sistemas Inform谩ticos)
- Arquitectura Base:
xlm-roberta-large($\sim 550$ Millones de par谩metros)[cite: 1] con capa de post-procesamiento por Matriz de Costos Asim茅tricos. - Tarea Computacional: Clasificaci贸n de Secuencia Multiclase (4 etiquetas mutuamente excluyentes).
- Idioma y Dominio Target: Espa帽ol (con foco regional e iberoamericano en plataformas de redes sociales).
- Versi贸n: 2.1.0-Optimized (Noviembre de 2026)
鈿狅笍 Nota de Trazabilidad y Metadatos del Repositorio
- Metadatos incompletos: La publicaci贸n inicial de este artefacto conserv贸 metadatos incompletos sobre licencia, entrenamiento y evaluaci贸n[cite: 1]. La evidencia de inferencia comprob贸 su correcta ejecuci贸n y el n煤mero de clases, pero la documentaci贸n p煤blica requiri贸 este complemento formal[cite: 1].
- Limitaci贸n de Trazabilidad: El uso de pesos descargables se distingue de una afirmaci贸n de licencia abierta id茅ntica para los tres modelos oficiales del proyecto[cite: 1].
Verificaci贸n de Pesos (Integridad)
Para validar que los pesos oficiales descargados no han sido modificados y corresponden al cierre del proyecto, se verifica la revisi贸n exacta del repositorio[cite: 1]:
- Commit / Revisi贸n oficial verificada:
d143acb60d7cffe629357ab27d4e0e2e737791d7[cite: 1]
2. Taxonom铆a de Clases y Definici贸n Operativa
El modelo clasifica fragmentos de texto en 4 categor铆as seg煤n la gravedad y naturaleza del contenido:
- Clase 0 (No T贸xico): Contenido neutro, opiniones leg铆timas, expresiones coloquiales no agresivas y texto seguro.
- Clase 1 (Ofensivo): Lenguaje soez, insultos directos o ataques informales carentes de una estructura de odio hacia grupos protegidos.
- Clase 2 (Discurso de Odio - Hate Speech): Ataques sistem谩ticos, denigraci贸n o discriminaci贸n basada en g茅nero, raza, nacionalidad, orientaci贸n sexual o religi贸n.
- Clase 3 (Amenazas): Incitaci贸n directa o expl铆cita a la violencia f铆sica, coerci贸n o expresi贸n intencionada de da帽o grave.
3. Ficha de Datos de Entrenamiento (train_merged_hateval.csv)
El dataset de entrenamiento fue sometido a una auditor铆a estricta contra fugas de datos (Regla 1), consolidando datos locales y externos limpios.
- Total de Muestras Auditadas: 26,627 registros.
- Garant铆a Anti-Leakage: Cero coincidencia (0.00%) frente a los 5,208 textos 煤nicos del conjunto de evaluaci贸n (
val_hilos.csvytest_hilos.csv).
| Categor铆a | Conteo de Muestras | Porcentaje del Corpus |
|---|---|---|
| Clase 0 (No T贸xico) | 12,774 | 47.97% |
| Clase 1 (Ofensivo) | 5,453 | 20.48% |
| Clase 2 (Discurso de Odio) | 5,615 | 21.09% |
| Clase 3 (Amenazas) | 2,785 | 10.46% |
| Total Consolidado | 26,627 | 100.00% |
4. Especificaciones de Ingenier铆a e Hiperpar谩metros
| Par谩metro | Valor Seleccionado |
|---|---|
Longitud M谩xima (max_length) |
128 tokens (Preservaci贸n de signos y tildes / Cased) |
| Tasa de Aprendizaje (Learning Rate) | $1.5 \times 10^{-5}$ |
| Optimizador / Decaimiento | AdamW / weight_decay = $0.01$ |
| Batch Size por Dispositivo | 4 muestras |
| Acumulaci贸n de Gradientes | 4 pasos (Batch Size Efectivo = 16) |
| 脡pocas de Entrenamiento | 3 脡pocas completas |
| Precisi贸n Num茅rica | FP16 (Mixed Precision) + Gradient Checkpointing |
| Funci贸n de P茅rdida | Weighted Cross-Entropy (Pesos de clase din谩micos) |
| Post-Procesamiento (Inferencia) | Matriz de Costos Asim茅tricos (Optimizaci贸n F1-Macro) |
5. Evaluaci贸n Oficial y M茅tricas de Rendimiento
La evaluaci贸n se ejecut贸 sobre la partici贸n oficial independiente test_hilos.csv ($N = 1,975$) aplicando la estrategia de post-procesamiento por matriz de costos asim茅tricos.
5.1. M茅tricas Globales
- Exactitud Global (Accuracy): 85.52% (R茅cord hist贸rico optimizado del proyecto).
- F1-Macro Global: 0.6968 (R茅cord hist贸rico optimizado).
- Tasa de Falsos Positivos (FPR en Clase 0): 0.1189
5.2. Desglose de Clasificaci贸n por Categor铆a
| Clase | Precisi贸n | Recall (Sensibilidad) | F1-Score | Soporte |
|---|---|---|---|---|
| 0 | 0.9385 | 0.8892 | 0.9132 | 1,307 |
| 1 | 0.8110 | 0.7820 | 0.7962 | 514 |
| 2 | 0.2410 | 0.4643 | 0.3175 | 28 |
| 3 | 0.6012 | 0.8720 | 0.7118 | 126 |
| Macro Avg | 0.6479 | 0.7519 | 0.6968 | 1,975 |
| Weighted Avg | 0.8732 | 0.8552 | 0.8624 | 1,975 |
6. An谩lisis de Limitaciones e Impacto
- Recall vs. Precisi贸n en Clase 2: La combinaci贸n de la inyecci贸n de HatEval con la matriz de costos elev贸 el recall al $46.43%$ y mejor贸 la precisi贸n a $0.2410$, mitigando de forma efectiva los falsos positivos por superposici贸n sem谩ntica con la Clase 1.
- L铆mite Contextual: El truncamiento a 128 tokens optimiza la memoria pero limita la capacidad de an谩lisis en hilos conversacionales excesivamente largos.
7. Instrucciones para Inferencia y Uso
El artefacto optimizado se encuentra disponible p煤blicamente para consumo directo en Python mediante la biblioteca transformers:
from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
MODEL_NAME = "TheArbite/xlmr-large-hateval-hate-speech-sv"
tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModelForSequenceClassification.from_pretrained(MODEL_NAME)
text = "Texto de prueba a analizar"
inputs = tokenizer(text, return_tensors="pt", max_length=128, truncation=True)
outputs = model(**inputs)
pred_class = torch.argmax(outputs.logits, dim=-1).item()
print(f"Clase Predicha: {pred_class}")
- Downloads last month
- 71