En este artículo voy a explicar cómo diseñar un chatbot utilizando Dialogflow, la herramienta de Inteligencia Artificial de Google que antes se llamaba API.AI. Para ello, partiré de que ya conocemos los elementos básicos para la construcción de un bot. Sí, me refiero a conceptos como intenciones o entidades, pero para lo que no los conozcáis os recomiendo este otro artículo de conceptos básicos para crear un chatbot con Inteligencia Artificial.

[cta]

En el manual de hoy quiero enseñaros cómo configurar intenciones y entidades en esta otra herramienta de procesamiento de lenguaje natural (NLP) de Google que se encarga de entender el input del usuario y proponernos una respuesta (output).

Como en cualquier sistema de Inteligencia Artificial, y partiendo de que Google es Google pero todavía no hace magia, este sistema funcionará mejor o peor en base a cuánto lo hayamos entrenado. Es decir, si no lo hemos entrenado para que cuando nos escriba “hola, quiero saber cuánto estoy pagando ahora por mi seguro de salud” lo sepamos interpretar, difícilmente la herramienta nos dará una respuesta satisfactoria.

Así que lo primero, y por acotar qué vamos a permitir que haga el chatbot, supongamos que se trata del bot de una aseguradora, pero a diferencia de Billy Seguros, que es un bot para encontrar el seguro más barato comparando entre más de 20 aseguradoras, el chatbot de hoy va a ser un chatbot para la gestión de un cliente actual de la aseguradora. Lo vamos a llamar SEGURITO y permitirá que:

  • El cliente pregunte qué seguros tiene contratados y cuánto está pagando por su seguro actual.
  • El cliente pueda dar un parte de su seguro de hogar.

Con esta mini definición funcional, tendremos que dar de alta 3 intenciones.

  • Intención 1: I1_Seguros_Contratados
  • Intención 2: I2_Precio_Seguro_Actual
  • Intención 3: I3_Dar_Parte_Seguro

La primera intención “I1_Seguros_Contratados” es la más sencilla de todas. Tan solo tendremos que entrenar al sistema de IA de las diferentes alternativas que tiene de “despertar” dicha intención:

¿Qué seguros tengo contratados actualmente?

¿Cuáles son mis seguros?

¿Cuáles eran mis seguros?

¿Me recuerdas si tengo algún seguro?

Me gustaría que me dijeses qué seguros tengo contratados

Seguros contratados

Pero, ¿qué pasaría en este escenario si el cliente preguntase “¿tengo contratado un seguro de salud?”Como el sistema no está entrenado para ese tipo de preguntas, entenderá que preguntas por lo más parecido, que en este caso es la intención “1”. De nuevo, recordad que Google –o cualquier sistema de IA, sea Watson de IBM, wit.ai de Facebook, LUIS de Microsoft…– no hace magia e interpreta solo lo que le hayas entrenado que interprete, que no lo que te gustaría que interpretase. 😉

Sin embargo, para la segunda intención “I2_Precio_Seguro_Actual”, el cliente puede tener contratado más de un seguro, por tanto, el sistema debe ser capaz tanto de:

  • Proporcionarle el precio del seguro (si tan solo tiene contratado uno).
  • Preguntarle al cliente sobre qué seguro quiere saber el precio (siempre que tenga contratado más de uno)
  • Y una vez clarificado sobre cuál quiere el precio, proporcionarle el precio.

Ahora bien, recordemos que un sistema de Inteligencia Artificial aislado no te servirá para construir un bot como este, sino que tendrás que desarrollar un código de programación propio para que, una vez identificada la intención — gracias al uso de Dialogflow, o el sistema de NLP que quieras — , puedas responder al cliente concreto que te lo pregunta. Porque, digo yo que si se lo preguntas tú o se lo pregunto yo no tendremos los mismos productos contratados y no pagaremos lo mismo. 😜

De forma que, para dar una respuesta al cliente que te pregunta, tendremos que mantener una conexión –generalmente vía web service / API — con el resto de sistemas que te deberán dar información para que tú puedas plantear una respuesta correcta — .[TM3] Disculpa todavía el todo poderoso Google no es capaz de meterse en los sistemas de una aseguradora a saber qué seguros tiene contratados… vaya Inteligencia, a mí me parece una Inteligencia muy Natural, eh 😜

Para ello, lo primero que tendría que hace nuestro chatbot es:

  • Tener identificado quién es la persona que se comunica con el bot: no es lo mismo que le escriba mi primo, que le escribas tú o que le escriba yo.

o Si el bot está desplegado dentro de una intranet o una app móvil –es decir, un entorno donde ya le habremos hecho loguearse- ya lo tenemos resuelto, pero,

o Si el bot está desplegado dentro de nuestra web sin haberse logueado o en una app de mensajería, ¿cómo vamos a ser cuál es el usuario que nos escribe? Tic tac tic tac… ¿MAGIA? No, magia no, más programación 😜

  • Ah! Y una buena práctica de desarrollo de chatbots es que un usuario no proporcione un usuario y un password dentro de una aplicación de mensajería –por favor! eso es de primero de programación! ¿Cómo va a dejar un cliente la clave del banco ahí en el chat, y encima, dárselo a Facebook? Vaya hombre, lo que faltaba-. Así que tendremos que tener un sistema de logueo, llamando a otro servicio –p.e. web- para que el cliente haga login en un pop-up, y nos devuelva a la lógica del bot el ID del usuario en los sistemas internos. ¡Uy, parecía todo más sencillo!

Por Nutella Developer

Senior Chatbot Developer en Chatbot Chocolate. 👉🏻 “Escribiendo para que disfrutes del poder del chocolate”.

Deja una respuesta

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