DeepTalk

Prediciendo la satisfacción de un cliente con Deep Learning

Introducción. El año 2020 un importante Banco nos pidió ayuda. Este Banco tenía la mejor atención digital de la industria, diariamente era capaz de responder miles de requerimientos de clientes en tiempo real por chat, whatsapp y otros canales. Sin embargo tenían un problema, al terminar cada conversación le preguntaban al cliente que tan satisfecho habían quedado con la atención, pero sólo un 15% respondía la pregunta y con ello podían tomar acciones de fidelización o ventas.. Había un 85% que no respondía y por lo tanto no podían gatillar acciones concretas.. ¿Qué hicimos?, a partir de miles de conversaciones guardadas y que tenían una respuesta concreta entrenamos los modelos de “custom detection” de Deep-Talk.ai para predecir la satisfacción de los clientes utilizando cientos de variables generadas durante una conversación.. Mediante una API provista por Deep Talk, el Banco implementó en su sistema de contact center una métrica especial que predecía la satisfacción del cliente en cada una de las conversaciones atendidas por los ejecutivos aunque el cliente no contestara la encuesta.. El Dataset. Los clientes evalúan las conversaciones en una escala de estrellas que va de una a cinco, o de una a siete estrellas, donde más estrellas corresponden a una mayor satisfacción. Dividimos las conversaciones en dos grupos en función de su puntuación en estrellas. Las conversaciones con 1 o 2 estrellas reciben un valor objetivo de 0 (conversaciones con una mala calificación), las conversaciones con 4 o 5 estrellas (6 o 7 para la escala de calificación de 7 estrellas) reciben un valor objetivo de 1 (conversaciones con una buena calificación. No tenemos en cuenta las conversaciones que recibieron otros valores de calificación.. Filtramos las conversaciones en las que el cliente no ha respondido a la primera respuesta del ejecutivo, ya que en estos casos no se produjo ninguna conversación real.. Nos quedamos con unas 120.000 conversaciones, de las cuales el 80% pertenecen al grupo positivo, lo que hace que el conjunto de datos esté bastante desequilibrado. Para construir el modelo, dividimos estas conversaciones en un conjunto de entrenamiento, validación y prueba. Aquí creamos un conjunto equilibrado de validación y prueba, de forma que podamos utilizar la precisión de la predicción como una métrica fiable para evaluar nuestros modelos. Cuando equilibramos el conjunto de datos, realizamos un equilibrio por etiqueta para respetar el origen de todas las conversaciones (etiquetas de proyecto como “empresa x”, “recuperación de contraseña”, …). Así, nuestro conjunto de datos de prueba final está equilibrado por etiqueta y en su totalidad.. El desequilibrio del conjunto de datos de entrenamiento se deja como hiperparámetro: Durante el entrenamiento, construimos modelos con diferentes niveles de desequilibrio para ver cómo el desequilibrio afecta al rendimiento del modelo.. Para cada conversación calculamos varias características de metadatos (como el tiempo medio de respuesta del usuario, la duración de la conversación, el número de tokens utilizados, …) y utilizamos la API de PNL de Google para recopilar además los sentimientos de las conversaciones. Estas características se utilizan al construir el modelo, además del texto puro de la conversación. En lo sucesivo, trataremos las características de sentimiento y otras características de metadatos de la misma manera. Por lo tanto, diremos simplemente características de metadatos.. Metodología. Construimos características de texto dependientes del usuario, lo que significa que construimos características separadas para el texto procedente del usuario o del cliente. Para convertir el texto en características numéricas, utilizamos la estadística tf-idf (frecuencia de términos — frecuencia inversa de documentos), que trata de reflejar la importancia de un token dentro de su contexto. Los hiperparámetros para la tokenización (rango del ngrama, método de preprocesamiento, método de tokenización, etc.) se modifican durante el entrenamiento y se optimizan utilizando el conjunto de datos de validación.. Utilizamos la SVD (descomposición del valor singular) para reducir la dimensionalidad de las características resultantes. De nuevo, el número de componentes de la SVD se deja como un hiperparámetro que se establece con el conjunto de datos de validación.. Las características de los metadatos se escalan en un rango [0, 1], pero no se aplica ningún otro preprocesamiento. Calculamos la mediana de cada característica para sustituir los valores que faltan por ella. Durante el entrenamiento, utilizamos diferentes subconjuntos de características de metadatos para mantener el número de características limitado y evitar el sobreajuste.. Apilamos las características del texto y de los metadatos en una matriz y entrenamos un clasificador final con ella. Aquí nos hemos centrado en un clasificador de regresión logística.. Resultados. La precisión final que podemos alcanzar utilizando metadatos y características de texto combinadas es del 74,9% en el conjunto de pruebas equilibrado. Como no utilizamos características de sentimiento en la implementación (ya que tendríamos que conectarnos a la API de PNL de Google), actualmente se implementa un modelo que se basa exclusivamente en características de texto. Este modelo tiene una precisión ligeramente inferior en el conjunto de pruebas, del 74,2%. El modelo construye 200 características de texto por tipo de persona (cliente y usuario) basándose en un rango de ngramas (1, 3).. En general, encontramos que las características de texto derivadas son mucho más importantes para el modelo que las características de los metadatos. Sin embargo, las características de los metadatos ayudan a aumentar la precisión entre un 0,5 y un 1%.. Los ejemplos de tokens que más ayudan al modelo a tomar una decisión son: “muchas gracias”, “nada más”, “sólo eso”, “pero no”, “no tengo”, “no puedo”, “invitamos a comunicar a través de”, “sólo para asistencia”, “sucursales”, “acepta cargo”.. Análisis de metadatos. Aunque las características de los metadatos no tienen un fuerte impacto en la precisión final de la predicción de la satisfacción del cliente, es importante entender cómo se correlaciona la satisfacción del cliente con ellas. Para comprender mejor la importancia de las características de los metadatos, realizamos un análisis que cuantifica cuándo es más probable que una conversación reciba una evaluación negativa. De todas las conversaciones, sólo el 20% recibió una evaluación negativa. Buscamos regiones en el espacio de los metadatos en las que esta tasa aumenta al doble de su valor. Este análisis va a ser muy útil en el futuro si queremos hacer predicciones en vivo de la satisfacción del cliente durante una conversación. Resumimos rápidamente nuestros hallazgos aquí enumerando las características de metadatos más importantes que se correlacionan fuertemente con una mayor probabilidad de que una conversación reciba una calificación negativa.. - Sentimiento medio del cliente en el último tercio de la conversación. - Duración del último segmento del usuario. - Número total de segmentos. - Tiempo por mensaje. - Tiempo medio de respuesta al usuario. - Número de tokens utilizados por el cliente. - Tiempo medio de respuesta al cliente. Suponemos que, en particular, estas características contribuyen a aumentar la precisión de la predicción de la satisfacción del cliente, sin embargo, aún no hemos realizado un análisis detallado al respecto.. Resumen y perspectivas. Hemos puesto en producción un modelo que puede predecir la satisfacción del cliente cuando se cierra una conversación con una precisión del 74,2%. Esto puede ayudar al Banco a obtener un informe mejorado de la satisfacción de sus clientes a partir de conversaciones pasadas. Sólo un 28% de todas las conversaciones del Banco reciben una calificación. Este modelo puede ayudar al Banco a comprender mejor la opinión de sus usuarios sobre el otro 72% de sus conversaciones. Además de esta aplicación informativa, el modelo puede ayudar al Banco a controlar mejor la satisfacción en el futuro, ya que pueden recibir comentarios, incluso si una conversación no se evalúa.. Prediciendo la satisfacción de un cliente con Deep Learning was originally published in Deep Talk on Medium, where people are continuing the conversation by highlighting and responding to this story.
Was this article helpful?

Still puzzling over something?

The agent has read this article — and everything around it. Ask a follow-up and it answers in seconds.