The unmissable GeneXus presentations at Globant Converge
Watch all the GeneXus talks from Globant Converge and see firsthand how to modernize systems, scale AI and more.
En el día a día, podemos ver cómo los chatbots van tomando fuerza, haciéndose presentes en nuevas empresas e incluso conformando nuevos modelos de negocio a través de ellas. Estas interfaces, abren nuevas posibilidades a la hora de conectar la información de los negocios, empresas e instituciones, con las necesidades de los usuarios.
En este post vamos a ver las bases de su funcionamiento y quiénes son los jugadores presentes en el ecosistema que se ha formado a través estas tecnologías.
En cuanto a su integración, los chatbots pueden ser integrados en múltiples plataformas de mensajería (messenger, wechat, telegram, etcétera). La elección de estas plataformas dependerá del público objetivo o del usuario a quien nos dirigimos. Si queremos interactuar con el mercado chino, es vital integrar el chatbot con wechat; si queremos interactuar con el mercado estadounidense debemos integrarnos a Messenger de Facebook.
Los chatbots también pueden ser integrados a nuestros propios sistemas, como sucede en el caso de Siri en Mac OS e IOS, o con Cortana en Windows.
De hecho, hace unos meses, en el Encuentro GeneXus (GX27) presentamos a nuestros chatbots Rudi y Clarita (en el caso de RUDI integrado en la propia aplicación del evento y Clarita consumiendo servicios de la misma) a quienes se podía acudir para realizar consultas sobre la agenda con más de 150 actividades, ubicaciones de diferentes actividades y servicios de los 4 pisos del edificio que durante 3 días ocupamos. Fue sorprendente la a cantidad de mensajes que se recibieron durante el evento, llegando aproximadamente a unos 4.000 entre ambos. Esto deja demostrado cómo la gente se interesa por estos chatbots y su utilidad.
Llegando a este punto, nos estaremos preguntando: “pero…¿y cómo nos entiende un chatbot?”. La respuesta es que están basados en el procesamiento del lenguaje natural (conocido popularmente como NLP, del inglés Natural Language Processing), una rama de la Inteligencia Artificial que estudia esa interacción que hay entre las personas, en el lenguaje hablado y escrito, y los sistemas computarizados. Si partimos de las oraciones escritas, éstas se estructuran en predicados, sujetos y verbos; de manera similar, el bot analiza las oraciones, pero las clasifica por contexto, intenciones y entidades reconocidas.
Acá nombramos tres conceptos bastante importantes: contexto, intenciones y entidades. Cuando hablamos de contexto en la vida cotidiana, nos referimos a lo que define el entorno en el que hacemos algo, es decir, ahora que estás leyendo este post, conoces las distintas variables de tu entorno: sabés en qué navegador estás mirando esto, en qué silla estás sentado, qué hora es, etc. Para un chatbot es lo mismo, son todas las variables del contexto de la conversación: el nombre del usuario, la hora, los parámetros que va reconociendo en la charla. En cuanto a las intenciones, podemos decir que el chatbot puede reconocer cuál es la intención del usuario: dar de alta un cliente o buscar un cliente; para hacer un ejemplo más puntual, en la App del GX27, la intención que puede reconocer el chatbot es “conocer la ubicación de una sala”. Es importante alimentar al chatbot con una buena cantidad de ejemplos para el reconocimiento de intenciones.
Por otra parte tenemos las entidades, en donde podemos definir conjuntos objetos que van a contener valores, y cada valor sus correspondientes sinónimos. Por ejemplo, puedo tener una entidad “Colores” y valores como “Rojo” y “Naranja” (que puede tener como sinónimo “Anaranjado”); o también continuando con el ejemplo de la APP del GX27, la entidad “salas” y sus valores que son los “nombres” de las salas.
Existen varias plataformas que nos permiten crear chatbots y nos brindan ese servicio de NLP. En este post voy a mencionar 3 de ellas, de las que podemos hablar con propiedad pues hemos estado integrándolas con GeneXus.
1- Watson conversation
Es la plataforma de IBM que nos da la posibilidad de definir mediante un IDE cuáles son las intenciones que nuestro bot va a saber reconocer, con cada una de esas intenciones le daremos ejemplos para que pueda entrenarse. También permite definir las entidades que el bot podrá manejar. Otro elemento importante que Watson nos permite definir fácilmente los diálogos que va a manejar nuestro chatbot una vez reconocidas las intenciones del usuario.
Watson además, nos permite desplegar nuestro chatbot a través de Slack y próximamente también ofrecerá integración con Facebook Messenger.
2- Dialogflow
Dialogflow (antes API.ai), también nos permite definir las intenciones y entidades que maneja, pero es bastante diferente a Watson en la forma de definir los diálogos, dado que estos se infieren en la misma definición de las intenciones.
Dialogflow nos permite integrar nuestro chatbots con muchas plataformas de mensajería, así como establecer en qué momento el chatbot va a nuestro servidor a recabar información.
3- Lex
Aquí es donde llega Amazon, funciona de manera muy similar a Dialogflow a la hora de definir intenciones y entidades, pero se caracteriza por estar totalmente integrado con los servicios de Amazon Web Service.
Estos tres proveedores tienen en común que identifican las intenciones y entidades presentes en una oración. Todos permiten mandar mensajes, consumir de una API donde se enviará el mensaje y será devuelto una vez procesado. En síntesis, el flujo es el siguiente: alguien realiza una consulta, el NLP interpreta de acuerdo a como fue entrenado, responde.

Al leer estas líneas se preguntarán cuál es el mejor proveedor. Esto va a depender del caso particular y de la naturaleza del proyecto. La recomendación es justamente probar y analizar cuál se ajusta mejor a nuestras necesidades.
Posterior a elegir la plataforma, y muy importante, es el entrenamiento que recibe el chatbot. Definir claramente las intenciones que reconocerá el bot, con ejemplos concretos de uso; definir de forma precisa las entidades, los valores y sinónimos que se manejan desde las entidades. La interfaz de usuario también tiene que ser lo suficientemente intuitiva como para generarnos esa cercanía de conversación, ya sea por escrito o de forma hablada. Ambos aspectos bien conjugados nos dan un complemento ideal para aprovechar al máximo la información y brindarla de manera inmediata.
Es el momento ideal para explorar oportunidades e innovaciones en la manera que interactuamos para resolver diversas actividades diarias, desde trámites, hasta transacciones o eventos multitudinarios.
Si llegaste hasta el final de este post, seguro que te gustaría saber cómo crear tu propio chatbot fácilmente con GeneXus y es por eso que te invito a que continúes tu lectura en: GeneXus Chatbots Generator.
[…] son Conversations para poder generar este tipo de interfaces. Estamos trabajando fuertemente en un generador de Chatbots, y en la Comunidad quienes tengan generador smart devices (SD) tendrán generador […]