Banking77
Entender el mensaje. Encontrar la intención.
Fine-tuning de un transformer para clasificar consultas bancarias en 77 intenciones, con evaluación frente a un baseline.

El problema
Una consulta bancaria breve puede expresar una intención muy específica. Distinguir entre categorías cercanas exige algo más que palabras clave: también hace falta evaluar dónde se equivoca el modelo.
Lo que construí
- Ajusté DistilRoBERTa para las 77 categorías del dataset Banking77.
- Comparé sus resultados con TF-IDF y regresión logística, separando validación y test.
- Construí una demo con FastAPI e inferencia en CPU en Modal para consultas nuevas en inglés.
Cómo funciona
- Consulta nueva en inglés
- Tokenización
- DistilRoBERTa ajustado
- Una de 77 intenciones
Decisiones de ingeniería
Un baseline antes de un modelo mayor.
TF-IDF y regresión logística ofrecen una referencia interpretable de rendimiento. El transformer debe justificar la complejidad adicional con una comparación medida.
Evaluar sin mirar el test.
La validación se separó dentro de entrenamiento. El test oficial contiene 3.080 ejemplos, 40 por categoría, y no se utilizó para elegir parámetros.
Separar investigación e inferencia.
Falcon-7B-Instruct se exploró en el notebook para analizar errores. No forma parte del servicio web: la demo ejecuta únicamente el clasificador.
Resultados y evidencia
DistilRoBERTa obtuvo 92,82 % de accuracy y 92,82 % de F1 macro en el test oficial. El baseline obtuvo 85,03 % de accuracy. Las métricas y el notebook ejecutado están disponibles en el repositorio.
Ver códigoAlcance y aprendizajes
Resultados académicos sobre Banking77, no una garantía para mensajes arbitrarios. El servicio requiere código de acceso, puede tener arranque en frío y depende del crédito disponible. No se debe enviar información bancaria personal.