BETO para la Detección de Sarcasmo (Univalle PLN)
Este modelo es un ajuste fino (finetuning) de BETO (bert-base-spanish-wwm-cased) diseñado específicamente para la tarea de clasificación binaria de detección de sarcasmo en español. Fue desarrollado como parte del Taller de Procesamiento de Lenguaje Natural (PLN).
📊 Rendimiento del Modelo
El modelo fue seleccionado tras experimentar con múltiples hiperparámetros (evaluando tamaños de lote de 8, 16 y 32) combinados con Early Stopping. La configuración óptima se alcanzó utilizando un Batch Size de 32, logrando los siguientes resultados en el conjunto de validación:
- Validation Loss: 0.2499 (Mínimo global del experimento)
- Accuracy (Exactitud): 90.96%
- F1-Score: 88.16%
🛠️ Cómo usarlo en Python
Puedes cargar y probar este modelo directamente usando la librería transformers:
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
model_name = "ccamilo99/beto-spanish-sarcasm-detection-univalle-pln"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
sarcasm_detector = pipeline("text-classification", model=model, tokenizer=tokenizer)
# Prueba una frase
print(sarcasm_detector("¡Qué divertido, otro lunes de trabajo!"))
print(sarcasm_detector("Me encanta cuando llueve el día que tengo planes al aire libre"))
print(sarcasm_detector("Obvio que aprobé el examen, estudié exactamente 5 minutos"))
print(sarcasm_detector("Sí, porque claramente yo soy el experto en cocina gourme"))