Cuando decidimos crear un analizador de sentimiento, la petición venía de quienes necesitaban entender el tono de reseñas o mensajes de clientes con rapidez, sin depender de servicios externos. El objetivo principal era la privacidad: queríamos que cada evaluación permaneciera en el ordenador del usuario.
De la idea al prototipo
Comenzamos estudiando conjuntos de datos públicos con frases etiquetadas como positivas, neutras o negativas. No pretendíamos publicar un paper académico: buscábamos un modelo ligero, preentrenado, fácil de cargar en el navegador. TensorFlow.js fue la elección natural, porque permite aprovechar la GPU sin instalar nada.
Para reducir los errores causados por las diferencias lingüísticas construimos un pequeño flujo de limpieza del texto (eliminación de emojis duplicados, normalización de caracteres especiales, gestión de mayúsculas). Solo después de esta fase el texto pasa al modelo, que devuelve la probabilidad de cada tono.
Cómo funciona hoy la app
En el Clasificador de texto puedes centrarte solo en el sentimiento o recuperar también el idioma principal del mensaje. Todo ocurre de forma local: el navegador descarga el modelo la primera vez y lo reutiliza, de modo que los análisis siguientes son casi inmediatos.
Cuando introduces un texto, la interfaz muestra:
- una etiqueta cualitativa (positivo, neutro, negativo) basada en la probabilidad más alta;
- un puntaje de 0 a 1 que te ayuda a evaluar la confianza de la predicción;
- un gráfico de barras que compara los tres valores.
Esta información está pensada para decisiones operativas rápidas: responder a una queja, destacar testimonios entusiastas, ordenar los tickets por urgencia.
Límites a tener en cuenta
Aunque cuidemos los detalles, un modelo generalista no puede captar cada matiz. Las expresiones irónicas o las referencias culturales corren el riesgo de interpretarse al revés. Los textos muy breves (por ejemplo «ok») aportan poco contexto y pueden terminar clasificados como neutros.
Además, el modelo se entrenó con datos multilingües pero prioriza el italiano y el inglés: en idiomas menos representados en el dataset la confianza tiende a bajar. En sectores muy regulados (finanzas, salud) recomendamos igualmente una validación humana antes de fiarse de las predicciones.
Por último, utilizamos bibliotecas públicas de JavaScript que se ejecutan localmente en tu ordenador o smartphone, con todo lo que esto implica en términos de capacidad de cálculo.
Hacia dónde queremos llegar
Ya estamos probando tres evoluciones:
- Fine tuning con datos propios: permitir que las empresas carguen sus ejemplos para entrenar un perfil lingüístico coherente con la marca.
- Reconocimiento de emociones específicas: ir más allá del simple positivo/negativo para distinguir ira, alegría o frustración.
- Integración en los flujos de trabajo: exportar los resultados hacia CRM y help desk mediante webhooks o archivos CSV.
Mientras el modelo siga siendo ligero y transparente con sus límites, creemos que es una herramienta útil para quien necesite una primera fotografía del sentimiento sin depender de plataformas externas. Lo importante es usarlo como un aliado, no como el único juez.