C贸mo entrenar a un chatbot y el prometedor futuro para la nube y el lenguaje natural

Julio Mestre Vald茅s    12 junio, 2020
chatbot

Mi trabajo en Telef贸nica consiste en impulsar la venta de servicios TI. Es un campo extraordinariamente amplio, que abarca desde servicios cloud hasta c谩maras termogr谩ficas que detectan la temperatura de las personas, muy 煤tiles en la 鈥nueva normalidad鈥, o entrenar a un chatbot

Como hemos visto ya en este blog, su potencial es enorme. Un chatbot es un robot software que interact煤a con nosotros a trav茅s de lenguaje natural para resolver las peticiones. Puede ser a trav茅s del men煤 de una p谩gina web o mediante la voz.

Recientemente un importante organismo nos plante贸 un reto. Se trataba de montar el piloto de un chatbot que ayudara a sus empleados a resolver las dudas sobre una aplicaci贸n.

Cada vez m谩s chatbots en la nube

Era necesario tenerlo en tiempo r茅cord y conseguir un buen impacto en el cliente para pasar a la siguiente fase del proyecto. Hablamos entonces con nuestro equipo de desarrollo y seleccionamos como plataforma para 鈥渃onstruir鈥 a nuestro nuevo amigo los servicios de Google en la nube: la Google Cloud Platform. Para ello, utilizamos Dialogflow, un servicio para el procesado de lenguaje natural (NLP por sus siglas en ingl茅s: Natural Language Processing).

AWS y Azure tambi茅n son plataformas v谩lidas. Independientemente del proveedor escogido, lo que es una tendencia clara del mercado para este tipo de desarrollos es que se realiza cada vez m谩s sobre plataformas en la nube.

Ventajas de cloud

Los principales motivos son:

  • Entornos muy complejos de mantener en local, con constantes actualizaciones para mejorar los algoritmos.
  • La nube proporciona una enorme elasticidad para atender las variaciones en el volumen de interacciones con el chatbot, que puede crecer de cientos a miles. Con la infraestructura en cloud esto no resulta un problema. Se factura por el n煤mero de peticiones realizadas, no por el hardware utilizado.
  • La acumulaci贸n de inteligencia cognitiva que se produce, gracias a las m煤ltiples peticiones que recibe.

驴En qu茅 consiste entrenar a un chatbot?

El cliente nos pas贸 doscientas preguntas con sus correspondientes respuestas y, en poco tiempo, el desarrollo estaba preparado. Pero, antes de entregar la aplicaci贸n, 隆ten铆amos que entrenar al chatbot!

Y 驴en qu茅 consiste entrenar a un chatbot?, os preguntar茅is. Se trata de formular con distintas variaciones las preguntas sobre las dudas que debe resolver y comprobar que el algoritmo proporciona la respuesta adecuada siempre. Para ello es necesario plantearlas no solo de manera correcta, sino tambi茅n con fallos sint谩cticos y gramaticales porque a veces la gente por errores propios o las prisas hace b煤squedas en las que altera el orden de las letras incluso.

Chema Alonso contaba con mucha gracia en una presentaci贸n la forma en la que Aura debe 鈥渁divinar鈥 a veces el nombre de las pel铆culas que le piden o su capacidad para entender el nombre de los actores a pesar de la pronunciaci贸n que se hace de ellos.

El proceso de aprendizaje

Si este entendimiento no ocurre hay que corregirlo para que vaya aprendiendo. Se trata de asegurarnos de que, ante distintas maneras de hacer la misma pregunta, el chatbot contesta adecuadamente en todos los casos.

Por ejemplo, para la cuesti贸n 鈥淣o me funciona el certificado, 驴qu茅 puedo hacer?鈥 hay que trabajar con todas las posibles variables:

  • Si el certificado no me funciona, 驴qu茅 hago?
  • 驴Q hago cuando no funciona el certificaod?
  • El certificado va mal, qu茅 hago?

Hay que contemplar las distintas formas de plantear una duda y comprobar que el chatbot devuelve la respuesta correcta, independientemente de la forma en que se plantee la cuesti贸n.

Como eran doscientas preguntas las que abarcaba este proyecto piloto y no ten铆amos apenas tiempo, las repartimos entre el equipo. A m铆 me tocaron quince de ellas para entrenar al chatbot.

Una evoluci贸n exponencial de las interfaces hombre-m谩quina

Pues bien, me qued茅 sorprendido con la naturalidad con la que el chatbot iba respondiendo a la pregunta de forma correcta aunque 茅sta presentara variantes. En la mayor铆a de los casos las correcciones que hab铆a que hacerle eran nimias y enseguida nuestro amigo ten铆a pocos problemas para resolver la cuesti贸n. Se quedaba atascado con pocas. Ah铆 era donde el equipo de desarrollo ten铆a que hacer alg煤n ajuste.

Gracias al trabajo en equipo pudimos entregar el piloto a tiempo. El cliente no era muy partidario de la nube pero le gust贸 tanto c贸mo funcionaba nuestra propuesta que nos seleccion贸 para la siguiente fase.

Ahora estamos a la espera de seguir avanzando. El trabajo realizado nos ha hecho darnos cuenta de que el entendimiento del lenguaje humano cada vez est谩 m谩s avanzado y que las interfaces hombre-m谩quina van a evolucionar de una forma exponencial en los pr贸ximos a帽os. Me atrevo a decir que la utilizaci贸n del lenguaje natural ser谩 la forma habitual de comunicarnos con los dispositivos.

Imagen: Pixabay

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *