Auditoría de chatbot





Los chatbots ahora se utilizan ampliamente en varias áreas comerciales. Por ejemplo, los bancos pueden usarlos para optimizar el trabajo de su centro de contacto, respondiendo instantáneamente a las preguntas populares de los clientes y brindándoles información de referencia. Para los clientes, los chatbots también son una herramienta conveniente: es mucho más fácil escribir una pregunta en el chat que esperar una respuesta llamando a un centro de contacto.



En otras áreas, los chatbots también han demostrado su eficacia: en medicina, pueden entrevistar a un paciente, transmitir los síntomas a un especialista y programar una cita con un médico para establecer un diagnóstico. En las empresas de logística, los bots de chat lo ayudarán a acordar la fecha de entrega, cambiar la dirección y elegir un punto de recogida conveniente. En las grandes tiendas en línea, los chat bots se han hecho cargo en parte del mantenimiento de los pedidos, y en el campo de los servicios de car sharing, los chat bots realizan hasta el 90% de las tareas del operador. Sin embargo, los bots de chat aún no pueden resolver el trabajo de reclamos. La retroalimentación negativa y las situaciones controvertidas aún recaen sobre los hombros de operadores y especialistas.



Por lo tanto, la mayoría de las empresas en crecimiento ya utilizan activamente los chatbots para trabajar con los clientes. Sin embargo, los beneficios de implementar un chatbot a menudo varían: en algunas empresas el nivel de automatización alcanza el 90%, en otras empresas es solo del 30-40%. ¿De qué depende? ¿Qué tan buena es esta métrica para una empresa? ¿Hay formas de aumentar el nivel de automatización del chatbot? Este artículo abordará preguntas que lo ayudarán a comprender esto.



Benchmarking



Hoy en día, casi todas las áreas de negocio tienen su propio entorno competitivo. Muchas empresas adoptan enfoques comerciales similares. Por lo tanto, si las empresas de la competencia utilizan bots de chat en sus actividades, es muy recomendable compararlos. La evaluación comparativa es una buena herramienta de comparación.



En nuestro caso, la evaluación comparativa del chatbot implicará una investigación encubierta para comparar la funcionalidad de los chatbots de la competencia con la funcionalidad de su propio chatbot. Consideremos un caso con un bot de chat bancario como ejemplo.



Supongamos que un banco ha desarrollado un chatbot para optimizar el funcionamiento del centro de contacto y reducir el costo de mantenimiento. Para realizar el benchmarking, es necesario analizar otros bancos e identificar los chatbots más funcionales de sus competidores.



Es necesario formar una lista de preguntas para verificación (al menos 50 preguntas divididas en varios temas):



  • Preguntas sobre los servicios bancarios , por ejemplo: "¿Cuáles son sus tasas de depósito?", "¿Cómo volver a emitir una tarjeta?" etc.
  • Información de referencia , por ejemplo: "¿Cuál es el tipo de cambio actual?", "¿Cómo obtener unas vacaciones de crédito?" etc.
  • Nivel de comprensión del cliente. (Resistencia del bot a errores tipográficos, errores, percepción del habla coloquial), por ejemplo: "Estoy haciendo estallar el mapa, ¿qué estoy haciendo?", "Recargar el móvil", etc.
  • Conversación sobre temas abstractos , por ejemplo: "Cuenta un chiste", "¿Qué hacer durante el autoaislamiento?" etc.


Nota: estos temas de preguntas se dan a modo de ejemplo y se pueden ampliar o modificar.



Estas son las preguntas que debe hacerle a su chatbot, así como a los chatbots de sus competidores. Después de escribir la pregunta, son posibles 3 opciones para el resultado (dependiendo del resultado, se anota una puntuación apropiada):



  • el bot no reconoció la pregunta del cliente (0 puntos);
  • el bot reconoció la pregunta del cliente, pero solo después de aclarar las preguntas (0.5 puntos);
  • el bot reconoció la pregunta en el primer intento (1 punto).


Si el chatbot transfirió al cliente al operador, entonces la pregunta también se considera no reconocida (0 puntos).



A continuación, se suma el número de puntos obtenidos por cada chatbot, después de lo cual se calcula la proporción de preguntas reconocidas correctamente sobre cada tema (bajo - menos del 40%, medio - del 40 al 80%, alto - más del 80%) y se compila la calificación final. Los resultados se pueden presentar en forma de tabla:







Supongamos que, de acuerdo con los resultados de la evaluación comparativa, el chatbot del banco ocupa el segundo lugar. ¿Qué conclusiones se pueden sacar? El resultado no es el mejor, pero tampoco el peor. Basándonos en la tabla, podemos decir que no son los lados más fuertes: en primer lugar, los algoritmos deben mejorarse para reconocer correctamente las preguntas del cliente (el chatbot no siempre comprende las preguntas del cliente que contienen errores y errores tipográficos), y tampoco siempre admite el diálogo sobre temas abstractos ... Se puede ver una diferencia más detallada al comparar con el chatbot del primer lugar.



El chatbot, que ocupó el tercer lugar, tuvo un peor desempeño: en primer lugar, requiere una revisión seria de la base de conocimientos sobre servicios bancarios e información de referencia, y en segundo lugar, está mal capacitado para dialogar con un cliente sobre temas abstractos. Es obvio que el nivel de automatización de dicho chatbot está en un nivel más bajo en comparación con los competidores que ocuparon los lugares I y II.



Así, en base a los resultados de la evaluación comparativa, se identificaron las fortalezas y debilidades en el trabajo de los chat bots, así como se realizó una comparación de los chat bots competidores entre sí. El siguiente paso es identificar estas áreas problemáticas. ¿Cómo se puede lograr esto? Consideremos algunos enfoques basados ​​en el análisis de datos: AutoML, Process-mining, DE-approach.



AutoML



En la actualidad, la inteligencia artificial ya ha penetrado y sigue penetrando en muchas áreas de negocio, lo que inevitablemente conlleva una mayor demanda de competencias en el campo de la DataScience. Sin embargo, la demanda de estos especialistas crece más rápidamente que su nivel de habilidad. El hecho es que el desarrollo de modelos de aprendizaje automático requiere una gran cantidad de recursos y no solo requiere una gran cantidad de conocimiento de un especialista, sino también una cantidad significativa de tiempo dedicado a construir modelos y compararlos. Para reducir la presión creada por la escasez, así como acortar el tiempo para desarrollar modelos, muchas empresas han comenzado a crear algoritmos que pueden automatizar el trabajo de DataScientists. Estos algoritmos se denominan AutoML.



AutoML, también conocido como aprendizaje automático automatizado, ayuda al DataScientist a automatizar las tareas repetitivas y que requieren mucho tiempo de desarrollar modelos de aprendizaje automático mientras se mantiene su calidad. Si bien los modelos de AutoML pueden ahorrarle tiempo, solo serán efectivos cuando el problema que resuelvan sea persistente y repetitivo. En estas condiciones, los modelos de AutoML funcionan bien y muestran resultados aceptables.



Ahora usemos AutoML para resolver nuestro problema: identificar áreas problemáticas en el trabajo de los bots de chat. Como se mencionó anteriormente, un chatbot es un robot o un programa especializado. Sabe cómo extraer palabras clave de un mensaje y buscar una respuesta adecuada en su base de datos. Una cosa es buscar la respuesta correcta, otra es mantener un diálogo lógico, imitando la comunicación con una persona real. Este proceso depende de qué tan bien escrito esté el chatbot.



Imagine una situación en la que un cliente tiene una pregunta y un chatbot le responde de forma extraña, no lógica o, en general, sobre un tema diferente. Como resultado, el cliente no está satisfecho con esta respuesta y, en el mejor de los casos, escribe sobre su malentendido de la respuesta, en el peor de los casos, mensajes negativos hacia el chatbot. Por lo tanto, la tarea de AutoML será identificar los diálogos negativos del número total (basado en los registros de chatbot descargados de la base de datos), luego de lo cual es necesario identificar a qué escenarios se relacionan estos diálogos. El resultado obtenido será la base para el refinamiento de estos escenarios.



Primero, marquemos los diálogos del cliente con el chatbot. En cada diálogo, dejamos solo mensajes de clientes. Si en el mensaje del cliente hay algo negativo en la dirección del chatbot, o no entiende sus respuestas, configure flag = 1, en otros casos = 0:





Marcado de mensajes de clientes



A continuación, declaramos el modelo de AutoML, lo entrenamos con los datos marcados y lo guardamos (también se pasan todos los parámetros del modelo necesarios, pero no se muestran en el ejemplo siguiente).



automl = saa.AutoML
res_df, feat_imp = automl.train('test.csv', 'test_preds.csv', 'classification', cache_dir = 'tmp_dir', use_ids = False)
automl.save('prec')


Cargamos el modelo resultante, después de lo cual hacemos una predicción de la variable objetivo para el archivo de prueba:



automl = saa.AutoML
automl.load('text_model.pkl')
preds_df, score, res_df = automl.predict('test.csv', 'test_preds.csv', cache_dir = 'tmp_dir')
preds_df.to_csv('preds.csv', sep=',', index=False)


A continuación, evaluamos el modelo resultante:



test_df = pd.read_csv('test.csv')
threshold = 0.5
am_test = preds_df['prediction'].copy()
am_test.loc[am_test>=threshold] = 1
am_test.loc[am_test<threshold] = 0
clear_output()
print_result(test_df[target_col], am_test.apply(int))


La matriz de errores resultante:







En el proceso de creación del modelo, intentamos minimizar el error del 1er tipo (asignando un buen diálogo a uno malo), por lo tanto, para el clasificador obtenido, nos detuvimos en la medida f1 igual a 0.66. Con la ayuda del modelo entrenado, se logró identificar 65 mil sesiones "malas", lo que a su vez permitió identificar 7 escenarios insuficientemente efectivos.



Minería de procesos



Para identificar escenarios problemáticos, también podemos utilizar herramientas basadas en Process Mining, el nombre general de una serie de métodos y enfoques diseñados para analizar y mejorar procesos en sistemas de información o procesos comerciales basados ​​en el estudio de registros de eventos.



Con este método, pudimos identificar 7 escenarios que están involucrados en diálogos prolongados e ineficaces: el







18% de los diálogos tienen más de 4 mensajes del chatbot.



Cada elemento en el gráfico anterior es un escenario. Como puede ver en la figura, los scripts están en bucle y las flechas en negrita indican un diálogo bastante largo entre el cliente y el chatbot.



A continuación, para encontrar malos escenarios, preparamos un conjunto de datos separado y construimos un gráfico basado en él. Para ello, solo quedaron aquellos diálogos en los que no hay acceso al operador, luego de lo cual se filtraron los diálogos con preguntas sin resolver. Como resultado, identificamos 5 escenarios de mejora, en los que el chatbot no resuelve la pregunta del cliente.







Los escenarios identificados figuran en aproximadamente el 15% de todos los diálogos



Enfoque DE (ingeniería de datos)



Asimismo, se aplicó un enfoque analítico simple para la búsqueda de escenarios problemáticos: se identificaron los diálogos, la calificación de retroalimentación en la cual (desde el lado de los clientes) varió de 1 a 7 puntos, luego se seleccionaron los escenarios más comunes en esta muestra.



Por ejemplo, utilizando los enfoques basados ​​en AutoML, Process Mining y DE de manera integral, identificamos áreas problemáticas en el chatbot de la empresa que requerían mejoras.







¡Ahora el chatbot está mejorando!



All Articles