BBVA AI Factory | ¿Cómo analizamos el feedback de los clientes con transformers y NLP? - BBVA AI Factory
EN
Productos de datos

¿Cómo analizamos el feedback de los clientes con transformers y NLP?

04/11/2024
Con este sistema, nuestro objetivo es comprender las razones detrás de las opiniones de los clientes, identificando sus frustraciones y expectativas para poder ofrecer una mejor experiencia.

En BBVA, la satisfacción del cliente es uno de los pilares fundamentales en la evolución de nuestros productos y servicios. Para medir esta satisfacción, muchas veces nos basamos en métricas cuantitativas como el Net Promoter Score (NPS), que mide la probabilidad de que un cliente nos recomiende a otras personas.

Aunque estas métricas ofrecen una visión general, no explican el “porqué” detrás de las respuestas de los clientes. Es aquí donde el feedback cualitativo, en forma de comentarios escritos, resulta fundamental para tener una visión más profunda y rica de la experiencia del usuario. Para aprovechar estos datos que obtenemos a través de los cuestionarios de satisfacción de nuestra app, en BBVA hemos desarrollado una solución avanzada que combina tecnologías de procesamiento del lenguaje natural (NLP, por sus siglas en inglés, Natural Language Processing) y modelos pre-entrenados basados en transformers.

Esta solución nos permite analizar grandes volúmenes de comentarios, además de identificar y agrupar automáticamente los aspectos o temáticas clave que mencionan los usuarios.

En este artículo, explicaremos cómo implementamos un modelo para el análisis de feedback en múltiples idiomas a partir de un sentence-transformer pre-entrenado de HuggingFace, el cual ajustamos mediante técnicas de fine-tuning. Así conseguimos clasificar los mensajes que recibimos, y se traduce en una aplicación práctica: un sistema que nos permite dar respuesta a los comentarios de los clientes.

Retos en la extracción de insights de los clientes

Cuando un cliente nos comparte su opinión acerca de la app de BBVA, obtenemos detalles sobre lo que le genera satisfacción o frustración y, más allá de esto, si está teniendo algún problema con alguna funcionalidad de la app, o alguna duda respecto a nuestros servicios.

Figura 1. La interfaz de usuario de nuestra aplicación móvil mostrando un cuestionario en el que un usuario deja un comentario.
Figura 1. La interfaz de usuario de nuestra aplicación móvil mostrando un cuestionario en el que un usuario deja un comentario.

Analizar este tipo de feedback cualitativo, sin embargo, no es una tarea fácil. Los comentarios varían enormemente en longitud, tono y contenido, lo que complica su análisis coherente. Algunos combinan tanto opiniones positivas como negativas en un mismo mensaje, dificultando una clasificación precisa del sentimiento general.

En este sentido, analizar el sentimiento de los comentarios también puede ser complicado cuando incluyen sarcasmo o expresiones ambiguas, como: “¡Qué bien, siempre tardan en responder!”. Este tipo de frases pueden confundir a los algoritmos si no se interpretan correctamente.

Otro reto importante es que recibimos comentarios en diferentes idiomas y, por ende, de diferentes contextos culturales. Para analizar estos comentarios correctamente, necesitamos modelos que mantengan la precisión sin perder los matices de cada lengua. Además, solo una pequeña parte de los usuarios dejan comentarios escritos, lo que incide en la representatividad de los datos.

Finalmente, los modelos basados en arquitectura transformer como los sentence-transformers, aunque son muy buenos para entender el lenguaje natural, requieren muchos recursos computacionales, lo que puede ser un reto cuando se manejan grandes volúmenes de datos o se tiene hardware limitado.

Metodología

Para abordar estos desafíos, en BBVA hemos implementado un pipeline que combina técnicas avanzadas de NLP con algoritmos de reducción de dimensionalidad y clustering. Este pipeline nos permite analizar los comentarios en profundidad, estructurando y agrupando grandes volúmenes de texto.

Todo comienza con la recopilación de los comentarios de los usuarios a través de diferentes cuestionarios dentro de la aplicación móvil de BBVA. Luego, pasamos al preprocesamiento de estos comentarios, eliminando elementos innecesarios y símbolos irrelevantes para que los modelos puedan entender el texto correctamente. Dado que recibimos comentarios en varios idiomas, utilizamos el modelo sentence-transformer basado en XLM-RoBERTa, que puede procesar diferentes lenguas sin necesidad de traducir los comentarios.

Figura 2. Nuestra metodología, paso a paso.
Figura 2. Nuestra metodología, paso a paso.

Generación de embeddings y fine-tuning

Una vez el dato está procesado, pasamos a analizar los comentarios. Primero los convertimos en datos numéricos mediante una técnica llamada embeddings, que básicamente transforma las palabras en números que los algoritmos pueden entender. Aquí destaca el modelo sentence-transformer, el cual empleamos por su excelente capacidad para capturar el significado de las frases.

Sin embargo, los modelos pre-entrenados no están optimizados para los comentarios específicos que recibimos en BBVA. Por eso, realizamos un proceso de fine-tuning con el framework SetFit, que nos permite ajustar el modelo con datos de nuestro dominio sin necesidad de disponer de GPUs.

Reducción de dimensionalidad y clustering

Una vez que hemos transformado los comentarios en embeddings, utilizamos una técnica de reducción de dimensionalidad no lineal: UMAP. Así, podemos reducir la complejidad de los datos al comprimir los vectores de embeddings en un espacio de menor dimensionalidad. Al reducir la dimensionalidad, preservamos la estructura local y global de los datos.

Esto facilita el siguiente paso, que es agrupar los comentarios en función de su similitud utilizando un algoritmo de clustering basado en densidad, HDBSCAN. A diferencia de otros algoritmos, HDBSCAN no requiere especificar el número de grupos de antemano, sino que los identifica automáticamente basándose en la densidad de los datos. Además, HDBSCAN puede identificar comentarios que no encajan en ningún grupo, tratándolos como “ruido”, lo que nos permite manejar datos irrelevantes o ruidosos de manera efectiva.

Extracción de palabras clave y etiquetado de temas

Una vez que tenemos los grupos de comentarios formados por HDBSCAN según la similitud entre ellos, el siguiente paso es entender de qué trata cada uno de estos grupos o clusters. Para esto, utilizamos KeyBERT y TF-IDF, que nos ayudan a identificar las palabras clave que mejor describen cada tema.

KeyBERT se basa en los embeddings generados por nuestro modelo, ajustado previamente con SetFit, para extraer palabras clave relevantes dentro de cada cluster. Por otro lado, TF-IDF nos permite ponderar la importancia de las palabras según su frecuencia dentro del grupo frente a su presencia en el conjunto de comentarios completo. Por ejemplo, si un grupo de comentarios se centra en problemas con el rendimiento de la app, estas herramientas nos lo señalan de manera clara, permitiéndonos tomar medidas rápidamente y priorizar las mejoras necesarias.

Resultados e impacto

Este proceso nos permite clasificar los tipos de comentarios que recibimos y tomar acción frente a temas que son recurrentes en los mensajes de nuestros usuarios. Si bien esta metodología puede extrapolarse a diferentes proyectos y áreas del banco, la primera aplicación en la que efectivamente se aplica es en la generación de notificaciones push a través de la app de BBVA. Estas notificaciones tienen como destinatarios a aquellos clientes que nos han dejado comentarios en la app, específicamente en el área de salud financiera.

Figura 3. El detalle técnico de nuestro caso de uso.
Figura 3. El detalle técnico de nuestro caso de uso.

El sistema identifica automáticamente comentarios relacionados con temas como, por ejemplo, problemas para ver movimientos bancarios. A estos clientes se les envía una notificación explicando cómo acceder a sus movimientos y qué pasos pueden seguir para ver movimientos anteriores. Otro tema al que podemos dar respuesta tiene que ver con las solicitudes de más cuentas “metas”, en cuyo caso notificamos al cliente sobre la existencia de funcionalidades similares, como los “apartados”.

Estas notificaciones push tienen una latencia de D+1, lo que significa que el cliente recibe una respuesta personalizada dentro de las 24 horas posteriores a su comentario. Este sistema agiliza nuestra capacidad de respuesta; además, crea un feedback loop en el que evaluamos la reacción del cliente ante la notificación para mejorar continuamente el proceso.

Figura 4. Ejemplos de los mensajes que los usuarios reciben a través de la app.
Figura 4. Ejemplos de los mensajes que los usuarios reciben a través de la app.

Conclusiones

Las opiniones escritas por los clientes contienen una riqueza de información que las métricas tradicionales no pueden capturar, revelando el porqué detrás de sus percepciones.

Este enfoque basado en modelos avanzados de procesamiento de lenguaje natural nos permite desentrañar patrones y temas latentes en los comentarios, aportando claridad a una cantidad de datos que de otra manera sería imposible de procesar manualmente. A través de esta metodología, podemos pasar de una visión general a una comprensión profunda de las emociones, expectativas y frustraciones de los usuarios.

Lo más importante es que este proceso nos habilita para tomar decisiones más rápidas y alineadas con las necesidades reales de los clientes, así como darles respuesta de manera precisa.

El valor de este proceso radica en su capacidad para convertir el feedback desordenado y fragmentado en una fuente de conocimiento estructurada y accionable. Esto marca un antes y un después en la forma en que escuchamos a nuestros clientes y respondemos a sus expectativas.