Crea tu propio asistente inteligente usando API.AI

El mundo de los asistentes inteligentes crece día a día; Siri, Cortana, Alexa, Google Assistant y Facebook ‘M’ son algunos de los asistentes mas utilizados actualmente. Afortunadamente, esto a dado paso a que surgan nuevas API’s y SDK’s para que los desarrolladores puedan crear su propio asistente 100% personalizado y puedan implementar sus ideas e hacer integraciones a sus aplicaciones.

En este post nos vamos a enfocar en uno de los servicios mas utilizadas para la creación de asistentes inteligentes: Api.ia. Con Api.ia podemos desarrollar de una forma bastante simple nuestro propio asistente con tan solo una sencilla configuracion inicial.

¿Que es Api.ai?

Api.ai es un servicio que permite a los desarrolladores crear conversaciones de voz a texto, realizar procesamiento de lenguaje natural y crear sistemas artificialmente inteligentes que pueden ser entrenados y personalizados. Tiene una gran gama de bases de conocimiento existentes llamados Domains. Los Domains proporcionan una base entera del conocimiento, traducciones, tiempos y mas. En este articulo nos vamos a enfocar en entender este concepto de una forma mas profunda.

Iniciando con Api.ai

Lo primero que tenemos que hacer es ir al sitio web de Api.ai y hacer clic en el botón que dice “Sign Up Free” que se encuentra en la pantalla inicial para crear nuestra cuenta.

Sign Up for free

Al dar clic en este botón, este nos lleva a otra página para que podamos iniciar sesión utilizando nuestra cuenta de Google(1). Anteriormente se podia crear una cuenta utilizando tu email, pero a medida de que Api.ia fue comprado por Google, el inicio de sesión se migro hacia el uso exclusivo de cuentas de Google para iniciar sesión.

El siguiente paso es seleccionar nuestra cuenta de google (2), leer y aceptar las politicas/terminos de servicio:

|1 |2 |3 |

Una vez registrado, el sitio de Api.ia te manda directamente a su interfaz en donde podras crear tu asistente virtual. Cada asistente que creas y entrenas se llama “agent”. Por lo tanto, el siguiente paso es crear nuestro primer agente haciendo clic en el botón “Create new agent” que se encuentra en la parte superior izquierda:

Create new agent

En la siguiente pantalla, tenemos que poner los datos de nuestro agente:

  • Agent name: Agrega el nombre de tu agente, de esta forma puedes diferenciar cada uno de los agentes que tengas creados en Api.ia. Es recomendable que nombres a tu agente de acuerdo a las tareas que realizara, por ejemplo “English Teacher” o con un nombre propio, por ejemplo: Jorge.
  • Description: En este campo debe de agregarse la especificacion de lo que realiza tu agente. Este campo es opcional y no es necesaria si el nombre de tu agente explica por sí mismo su funcion.
  • Add sample data: Api.ia provee una serie de ejemplos de datos que puedes agregar
  • Language: El idioma en el que funciona el agente. Una vez que hayas elegido el idioma no puedes cambiarlo. Para este tutorial utilizaremos inglés. Si quieres saber en cuales idiomas esta disponible Api.ia puedes revisarlo en la tabla de lenguajes que se encuentra en la documentacion de Api.ia.
  • Timezone: La mayoria de las ocasiones esta opción se agrega automáticamente, pero si no, es importante que agregues la zona horaria que estaras utilizando en tu agente.
  • Google Project: En esta opcion puedes seleccionar un proyecto de Google Platform si ya tienes uno creado, de lo contrario Api.ia creara automaticamente un proyecto de Google Cloud Platform que sera utilizado posteriormente.

Una vez llenados estos campos, da clic en el boton de “Save” que se encuentra en la parte superior derecha de la interfaz.

La consola de prueba

Una vez que tengas tu agente creado, puedes empezar a probarlo en la consola que se encuentra del lado derecho. La consola te permite realizar consultas(queries) y enviarlas a tu agente, el agente te regresara el resultado de acuerdo a la informacion tenga disponible(1). Ingresa la pregunta: “How are you?” o cualquier otra para que pruebes esta funcionalidad(3):

The test console

Cuando realizas una consulta Api.ia te mostrara todos los detalles de los resultados. En la parte de abajo, se muestra un botón que dice “Show JSON”. Haz clic en él para ver cómo la API regresa los resultados:

|1 |2 |

Si revisas la respuesta de tu agente podrás observar que hasta ahora no sabe cómo responder, aún necesita que le agregues la lógica con la funcionalidad que necesites. El valor de input.unknown nos indica que aun no sabe cómo proceder y por default ahora esta mostrando el mensaje que dice “Sorry, can you say that again?”. La lógica de las respuestas de un “Agent” se agregan en la sección de “Intents” que se encuentra en el menu izquierdo.

Small Talk

Api.ia provee una funcionalidad que nos permite agregarle un pequeño toque de inteligencia a nuestro asistente: “Small Talk”. Con Small Talk podemos proporcionar una gama de respuestas para preguntas frecuentes, por ejemplo, para la pregunta que hicimos anteriormente: “How are you?”. Por default esta opción no se encuentra activada, para agregarle esta funcionalidad a tu agente solo necesitas hacer click en la opción de “Small Talk” que se encuentra en el menu izquierdo y seleccionar la opcion que dice: “Enable”

Small talk

Después de habilitar esta funcionalidad podras observar que se despliegan una seria de categorías con frases comunes en “Small Talk”. Encuentra la seccion que dice “Hello/Goodbye” y dale clic para expandirla. Agrega diferentes respuestas y despues haz clic en el botón “Save” que se encuentra en la parte superior para guardar tus respuestas. Cada vez que añades frases, la cifra del porcentaje que se encuentra a lado de cada categoría irá aumentando para mostrar que tanto has personalizado tu chatbot:

Small talk personalization

Si vas ahora a la consola de prueba y le preguntas a tu asistente “How are you?” nuevamente, este te responderá con las diferentes opciones que le agregaste.

Small talk responses

Si tu agente no esta respondiendo correctamente, comprueba que si hiciste clic en el botón de “Save” ya que los cambios no se guardan automáticamente.

Lo que hará diferente a tu agente de otros es que tenga una personalidad única, en otras palabras, entre mas adaptado y personalizado tu agente podrá responder mejor a sus usuarios. Con Api.ia puedes elegir el tono y la estructura de las respuestas, por ejemplo, si es un chatbot que ama los gatos tendrá que responder cosas relacionadas con los gatos o si es un chatbot de una aerolínea que ayuda a los usuarios este deberá responder cosas relacionadas a la ayuda que se espera que proporcione.

Ahora que tu asistente ya es capaz de responder conversaciones pequeñas podemos empezar a integrarlo con su propia interfaz web. Para ello, necesitamos las “API keys” para poder tener acceso al agente.

Api.ai API keys

Las “API keys” se encuentran en la página de configuraciones de tu agente, para encontrarlas solo tienes que hacer clic en el ícono que se encuentra a un lado del nombre de tu agente. Por ahora el valor que necesitamos es el de “Client access token”, este es un token único que te permite hacer consultas al servicio de Api.ia.

API keys

Let’s code!

¡Llegó el momento del código! Para empezar puedes descargar el codigo que se encuentra en este repositorio de Github: https://github.com/IsabelPalomar/demos-api-ia/tree/master/01-mi-primer-asistente. Sientanse libre de utilizarlo como base y desarrollar nuevas opciones para su asistente personal, más adelante explicaremos el código paso a paso.

Deja un comentario


*