Ecosistemas Conversacionales

Los chatbots son una oportunidad para innovar en la forma de interactuar y aprovechar la información de manera oportuna. Para comprender las posibilidades que nos brindan, tenemos que tener claros los conceptos que los constituyen, tales como entidades e intenciones; y quiénes son los principales proveedores de los servicios necesarios para su funcionamiento. Los invito a leer este post para acercarnos a cómo trabajar con chatbots y GeneXus.

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.

Los chatbots, como su nombre lo indica, son una combinación de chats con bots. Entonces, ¿podemos refinar un poco más estas definiciones? Sí.

Entendemos que un chat es una comunicación entre dos o más personas. Si prestamos atención, nosotros como usuarios de diversos chats, estamos constantemente hablando con otras personas, ya sea directamente o a través de grupos, como el de la familia, el del trabajo, etc. Durante estas charlas, estamos generando una cantidad de información muy grande, que en cierta forma no está siendo aprovechada por la tecnología para ayudarnos.

Por otra parte tenemos el concepto de bots. Cuando hablamos de bots, hablamos de software diseñado para automatizar acciones.  Los bots existen entre nosotros desde hace ya bastante tiempo, por ejemplo, los tenemos en sistemas de atención telefónica, o incluso en videojuegos. Justamente estos casos que nombramos tienen en común con los chatbots, que buscan imitar el comportamiento de una persona.

Entonces si juntamos los dos conceptos, tenemos la posibilidad de automatizar acciones en base a la información que se interpreta en un chat. Ahora, la idea no es que se note que está contestando una máquina, todos los que interactuamos con un chatbot esperamos un comportamiento natural de su parte, que sea lo más humano posible, que demuestre empatía, que no sea robótico y principalmente que sepa guiar la conversación entorno a lo que él sabe hacer. Es decir, nosotros como desarrolladores debemos ofrecer esa experiencia de interacción como si fuera una persona quien nos responde.

Picture2.pngEn 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.

Screenshot 2018-03-05 13.34.12

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.

1 thought on “Ecosistemas Conversacionales

Leave a Reply

%d bloggers like this:
search previous next tag category expand menu location phone mail time cart zoom edit close