Clasificador de comunicaciones con LSTM
Modelo de deep learning que clasifica comunicaciones ciudadanas en español y las enruta al departamento responsable, sin triaje manual. Desplegado en producción para un cliente; compartido con autorización.
Problema
Las comunicaciones ciudadanas llegaban en un solo flujo — solicitudes, quejas, trámites, cancelaciones — y alguien tenía que leerlas una por una para decidir a qué departamento iba cada una. El triaje manual era lento, inconsistente y no escalaba: el cuello de botella no era resolver las solicitudes, sino clasificarlas.
Decisiones
Clasificar es el 80% del valor. El objetivo no era generar texto ni resumir: era decidir, con fiabilidad, a cuál de cinco áreas pertenece cada comunicación. Un problema de clasificación bien resuelto ahorra más que cualquier función vistosa.
Un pipeline de NLP en español, en serio. El texto entra sucio — HTML, correos, emojis, faltas de ortografía. Antes de aprender nada, se normaliza y se lematiza con Stanza y spaCy, y se vectoriza con TF-IDF sobre n-gramas, con una lista de stopwords construida analizando las frecuencias reales del corpus. El modelo es tan bueno como los datos que le llegan.
Elegir por evidencia, no por moda. Entrené y comparé el espectro completo: perceptrones multicapa de varias profundidades, y transformers preentrenados en español — BERT y BETO. El que fue a producción fue una red LSTM en PyTorch: la que dio el mejor equilibrio entre precisión y coste de inferencia para este dominio. Probar lo caro para justificar lo simple es parte del trabajo.
Entrenar para producir, no para el notebook. El modelo y su vectorizador se serializan y se sirven tras una API que el resto del sistema consume: una comunicación entra, su categoría sale, y el enrutamiento deja de depender de que alguien la lea primero.
Resultado
En producción: las comunicaciones se clasifican solas y llegan al departamento correcto sin intervención humana en el triaje. El modelo aprendió cinco categorías a partir de unas siete mil comunicaciones etiquetadas, y convirtió un cuello de botella manual en un paso automático del sistema.