Actualmente estamos viviendo una auténtica revolución en el mundo de los bots. Y es que, desde que se empezó a hablar más de ellos, su número ha ido creciendo vertiginosamente. Son, cada vez más, los que se ven como una apuesta de futuro. Son algo que ha venido a definir un nuevo modelo de interacción entre las personas y las máquinas. En este artículo se van explicar las bases de las técnicas que están haciendo. También, por qué los chatbots se están convirtiendo en una plataforma conversacional tan innovadora y con tantas perspectivas de futuro.

LOS CHATBOTS Y SUS FORMAS DE ENTENDER

Lo primero es entender cómo los chatbots capturan, procesan e interpretan lo que le dice una persona. Usarán esta información para generar una respuesta. Para que un chatbot entienda lo que se le dice, existen dos técnicas:

Así, ante la siguiente frase “Me gustaría volar de Madrid a Dublín, el 14 de agosto”, y teniendo en cuenta que es un chatbot de viajes:

Coincidencia de patrones:

Con la técnica de coincidencia de patrones, sería necesaria una lista de los posibles patrones de entrada, por ejemplo: Me gustaría volar de <CIUDAD> a <CIUDAD> el <FECHA> Este tipo de técnica, más inteligible para los humanos, tiene el problema de que tiene que construirse manualmente y de forma estática. Es decir, se tienen que ir definiendo cada una de las posibilidades que se puedan dar.

Clasificación de intenciones

En la clasificación de intenciones se utilizan técnicas como el NLP (Natural Language Processing o Procesado de Lenguaje Natural) para interpretar los mensajes del usuario y detectar su intención. A la hora de trabajar con este tipo de técnica es importante tener claro que:

Teniendo en cuenta este esquema, cuando un chatbot recibe una frase del usuario, buscará el intent que mejor se ajusta a la misma y teniendo en cuenta la información contenida en la misma, las entities identificadas y si hay definido un subcontexto (depende de la plataforma que se use). Tras determinar el intent se ejecutarán una serie de acciones (“actions”) para dar una respuesta al usuario.

como-entienden-chatbots

Entonces, en base a la frase anterior: “Me gustaría volar de Madrid a Dublín, el 14 de agosto”. Un chatbot con NLP vería que habría un intent (Buscar Vuelo) y tres entities, dos de localización (Madrid y Dublín) y una de fecha (14 de agosto).  Una vez identificado el intent, se ejecutaría un proceso de búsqueda de vuelos, teniendo en cuenta la información proporcionada por las entidades.

LOS CHATBOTS Y SUS DIFERENTES FORMAS DE RESPONDER

Una vez que el chatbot ha entendido lo que le dice el usuario, generará una respuesta en base al contexto de la conversación y la información que haya identificado en la misma. Los sistemas de generación respuestas pueden ser:

Un aspecto importante a aclarar en el mundo de los bots es que:

Actualmente hay una gran cantidad de Bot Frameworks que permiten el desarrollo de chatbots con diferentes niveles de complejidad, funcionalidades y capacidad de integración. Antes de elegir una Bot Framework es muy importante tener claro el tipo de chatbot que se quiere construir:

Los Bot Frameworks se agrupan en tres familias:

PLATAFORMAS VISUALES

Son plataformas orientadas a usuarios no técnicos. En ellas se pueden construir chatbots sin tener conocimientos de programación y/o de IA (Inteligencia Artificial). La idea es que el usuario puede centrarse en el diseño sin tener que preocuparse por los detalles técnicos. Son plataformas fáciles de aprender, ideales para construir chatbots sencillos, orientados a la realización de una función concreta. No obstante, no son adecuadas para el desarrollo de chatbots complejos, ya que no permiten la implementación de sistemas conversacionales complejos. Además, la integración con APIs y otros sistemas externos que aporten de funcionalidades extra está más limitada. Dentro este grupo estarían ChatfuelManyChatOctane.ai y Motion.ai, entre otras. Todas son bastante similares, aunque hay diferencias en cuanto a madurez, usabilidad de la interfaz y potencia de las tecnologías de IA que incorporan.

Construyendo Chatbots, plataformas visuales

PLATAFORMAS CONVERSACIONALES

El objetivo principal de estas plataformas es el de desarrollar chatbots conversacionales, capaces de mantener una conversación con un usuario sin que tenga que haber un objetivo específico. Así, son adecuadas para la construir chatbots de entretenimiento, publicidad, e-learning o educación. Algunas academias y universidades los usan para enseñanza e investigación. Estás plataformas usan lenguajes específicos como AIML (Artificial Intelligence Markup Language) para construir modelos de interacción, sistemas de programación y servicios cognitivos como el NLP (Natural Language Processing). 

Construyendo Chatbots, plataformas conversacionales

Un buen representante de este tipo de plataformas es Pandorabots. La plataforma de Pandorabots permite el alojamiento de bots, el procesado de lenguaje natural (NLP) y el uso de entornos de programación, tales como: JavaNode.jsPython, Ruby, PHP y Go.

PLATAFORMAS PROGRAMABLES

Su curva de aprendizaje es más lenta, porque requieren conocimientos técnicos: programación y técnicas de IA. Todas ellas se caracterizan por:

Esto hace que sirvan tanto para la construcción de chatbots sencillos como otros más complejos, capaces de ayudar a los usuarios a realizar tareas, manteniendo una conversación. Algunas de las más conocidas son Google DialogflowFacebook Bot EngineMicrosoft Bot FrameworkIBM WatsonAmazon LexGupshup y Aspect CXP.

Construyendo Chatbots, plataformas programables

Así, podemos ver que hay un buen número de posibilidades para construir Chatbots, y los mejor es ponerse con ello y ver cuál se adapta mejor a nuestras posibilidades. Como siempre he dicho, ¡todo es ponerse! ????

MÁSTER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

Tal y como vimos en un post anterior (“Construyendo Chatbots”), las plataformas de construcción de chatbots (Bot frameworks), pueden agruparse en tres grandes familias:

Cada uno de ellos, tiene sus pros y sus contras, y su mayor o menor idoneidad va depender tanto del objetivo y funcionalidad del chatbot que se quiere construir como de los recursos disponibles. En este artículo, nos vamos a centrar en las plataformas programables. Es decir, aquellas que requieren más conocimientos técnicos, pero permiten desde la construcción de chatbots sencillos hasta otros más avanzados, capaces de incorporar funcionalidades más completas. Hay bastantes plataformas programables. No obstante, aquí centraremos en las que nosotros hemos manejado desde que iniciamos nuestra andadura en el mundo del desarrollo de Chatbots. Por cierto, si tienes duda con algunos de los conceptos que mencionamos aquí, te recomendamos que, antes de seguir, te leas este otro artículo: ¿Cómo nos entienden los Chatbots?

Dialogflow (Google)

Desarrollo Avanzado Chatbots Bot Frameworks Programables

Plataforma de desarrollo de chatbots, adquirida por Google en septiembre de 2016. En Dialogflow pueden crearse chatbots o agents con un NLP (Natural Language Processing). Este permite el uso de intents (intenciones) y entities (entidades), además de la gestión dinámica de subcontextos, en base a los intents detectados. Así, la existencia de un/os determinado/s subcontexto/s, puede/n ser clave/s para la detección de otros intents. Por ejemplo, si un usuario dice “Me gustaría encargar una hamburguesa”, el sistema detectaría el intent “Encargar”. Una vez que este indica el tipo y tamaño de la hamburguesa, acciones asociadas a este intent, se generaría el subcontexto “Hamburguesa_Seleccionada”. Si posteriormente, el usuario dijera “¿Cuál es el tiempo de entrega?”, el chatbot solo podría decirlo porque la existencia del sub-contexto “Hamburguesa_Seleccionada”, daría acceso al otro intent “Obtener_Informacion_Pedido”, que contiene dicha información. Si no existiera el subcontexto, no podría tener acceso a este intent y la información que contiene. Otro aspecto interesante de esta plataforma es que permite la definición de roles en las entidades e indicar si estás son o no obligatorias. Así en la frase “Quiero ir de Madrid a Bilbao el próximo 11 de julio”, se podría establecer que la primera ciudad es la de salida y la segunda es la de llegada. Algunos de los entornos de desarrollo disponibles en Dialogflow son: Node.js, .NET, C++, Python, Ruby, PHP, Java, Android, Xamarin e iOs. Permite el despliegue de chatbots en muchas de las aplicaciones de mensajería, VoIP, en páginas webasistentes virtuales y aplicaciones propias. Algunas de ellas son: Actions de Google, Web, Slack, Facebook Messenger, Skype, Cisco Spark, Kik, Line, Telegram, Amazon Alexa, Cortana, Twilio y Twitter. Otros aspectos importantes de esta plataforma son que:

La calidad de la documentación es muy buena y hay un buen número de ejemplos de desarrollo de Chatbots.

Facebook Bot Engine

Desarrollo Avanzado Chatbots Bot Frameworks Programables

Se creó en abril de 2016 y se integra muy bien con la plataforma Wit.ai (adquirida por Facebook a principios de 2015) para el procesamiento de lenguaje natural. En ella pueden desarrollarse chatbots con Node.js, Android, iOS, Unity PHP. Para ellos se han creado un buen número de funcionalidades, entre ellas una buena integración con los elementos de su red social. Solo permite el despliegue de chatbots en el Facebook Messenger. Permite el NLP a través del uso de intents y entities, e incorpora las llamadas stories (historias), elementos clave para definir el comportamiento del chatbot. Cada story es un ejemplo de una conversación o conjunto de intenciones (intents) relacionadas (grafo de intents). A ellas se pueden ir añadiendo ramas que se activan ante la existencia o no de una determinada información en las frases entrantes. De este modo, se puede definir un flujo de conversación. También hay habilitado un mecanismo de marcadores que sirve para saltar entre intenciones e historias. También permite definir los roles de las entidades que se van creando. La integración de chatbots con sistemas externos como: APIs, Bases de datos, servicios cognitivos, etc., puede hacerse a través de los Bots sends commands, que son básicamente, llamadas a funciones. Con Facebook Analytics para hacer un seguimiento y monitorización de la actividad del chatbot. Cuenta con una buenadocumentación y un buen número de ejemplos de desarrollo de chatbots.

Microsoft Bot Framework

Desarrollo Avanzado Chatbots Bot Frameworks Programables

La plataforma de desarrollo de Microsoft consta de tres partes:

El portal de desarrollo permite hacer desarrollos en Node.js y .Net, frameworks de programación maduros. Son de amplio uso en la actualidad y han desarrollado muchas funcionalidades para ellos. También existen implementaciones de esta plataforma con Python. El Bot Connector es una clase que permite la multicanalidad de los chatbots. Así, a través de él, se pueden desplegar los chatbots en las principales aplicaciones de mensajería: Slack, Facebook Messenger, Kik, Line, Telegram, Twilio SMS, Twitter, etc., páginas webaplicaciones de VoIP (Skype) email, asistentes virtuales (Cortana) y aplicaciones propias, a través del Direct Line. El Bot Directory es una colección de chatbots desarrollados con Microsoft Bot Framework. Esta plataforma también permite monitorizar, hacer analíticas (con Azure Application Insights) e integrar otros servicios como: bases de datos,servicios cognitivos deMicrosoft (para el procesamiento de texto, voz e imágenes) y las APIs de Bing para hacer búsquedas, entre otros. Para el NLP, usa el LUIS (Language Understanding Intelligent Service) de Microsoft. LUIS soporta intentsentities y features para analizar el contenido de los mensajes entrantes y definir el comportamiento del chatbot. Las features son diccionarios de palabras o expresiones que permiten que el modelo aprenda más rápido. Gracias a ellas, puede reconocer una entidad con el menor número de ejemplos posibles.

Desarrollo Avanzado Chatbots Bot Frameworks Programables

Mediante las phrase list features pueden definirse conjuntos de posibles valores de una entidad. Estos tienen que tratarse de manera idéntica. LUIS también admite los pattern features, útiles cuando una de nuestras entidades. Es, por ejemplo, un código de vuelo o un producto cuyo formato es representable mediante una expresión regular. La calidad de la documentación es buena y proporcionan un buen número de ejemplos de desarrollo de chatbots.

IBM Watson

Desarrollo Avanzado Chatbots Bot Frameworks Programables

En el cloud de IBM la construcción de chatbot se hace mediante los Conversation Services de Watson. Los chatbots se conocen como workshop. Se pueden construir haciendo uso de varios frameworks de desarrolloNode.js, Python, .Net, Android, iOS, etc. El NLP que usa esta basado en el uso de intentsentities y synonyms. Estos últimos son conjuntos palabras, reconocidas dentro de una misma entity. Por ejemplo: paella, pizza, bocadillo y gazpacho, estarían dentro de la entity “comida”. Otro aspecto interesante es que incluye una funcionalidad, llamada Fuzzy Matching, con la que reconocer las palabras que el usuario escribe mal. Por ejemplo: si el usuario escribe piza, el sistema sería capaz de interpretar que se refiere pizza. La herramienta de NLP de IBM también permite la creación flujos de diálogos de forma gráfica, teniendo en cuenta las intents y entities definidas, y la gestión de subcontextos, de forma similar a como se hace en Dialogflow. Permite el despliegue de chatbots en la web, dentro de aplicaciones propias (similar al Direct Line de Microsoft), SlackFacebook Messenger y Twillo. También incluye una herramienta monitorización analítica. Y permite la integración de otras APIs de Watson, bases de datos, etc. Tiene una buenadocumentación y se proporcionan bastantes ejemplos de desarrollo de chatbots.

Amazon Lex

Desarrollo Avanzado Chatbots Bot Frameworks Programables

Es un servicio de AWS (cloud de Amazon) para crear interfaces conversacionales o chatbots. El sistema de NLP se basa en el uso de intents y slots. Los slots son los parámetros que puede requerir un intent, aunque no son obligatorios. Por ejemplo, el intent OrderFly podría requerir slots como origendestino y clase, teniendo cada uno de ellos un tipo, como:

El usuario podrá responder con un valor de slot que incluya palabras adicionales, como “Quiero ir desde a Madrid a San Petesburgo” o “Prefiero la clase Business” y el sistema de Amazon Lex seguirá entendiendo el valor de slot integrado. Cuenta con los siguientes entornos de programaciónNode.js, Python, .NET, Android, iOS, Java, Javascript, PHP y Ruby. La integración con otros servicios (DynamoDB, Amazon Cognito APIs), se hace a través de los AWS Lambda. Estos están integrados dentro de Amazon Lex. Incluye herramientas para la monitorización y analítica, y también permite la integración del Amazon CloudWatch. Además, los chatbots creados con Amazon Lex pueden desplegarse en Facebook Messenger, Slack y Twillo. Tiene una buenadocumentación y se proporcionan algunos ejemplos de desarrollo de chatbots.

Aspect CXP

Desarrollo Avanzado Chatbots Bot Frameworks Programables

La Aspect Customer Experience Platform (CXP) es una plataforma para el diseño, implementación y despliegue de aplicaciones de para el customer service, entre los que se incluyen los chatbots. Lo hace a través de canales de comunicación como; SMS, voz, web, Skype y redes sociales como Facebook y TwitterNo permite el uso de lenguajes de programación. El diseño y desarrollo de chatbots se hace a través de una herramienta propietaria, llamada Aspect CXP Designer. Es una aplicación con bastantes posibilidades que está a medio camino entre una aplicación gráfica y un lenguaje de programación. Para sacarle el máximo partido hay que tener conocimientos de lógica de programación. Sin embargo, es importante aclarar que el grado de personalización y adaptación que permite es menor que cuando usamos un lenguaje de programación. También permite la integración de otros serviciosAPIs, Bases de datos, servicios cognitivos, etc. Para el NLP usa un componente llamado Aspect NLU (Natutal Language Understanding) que permite recorrer las frases entrantes e ir identificando los elementos relevantes y su significado. Este sistema de procesamiento del lenguaje natural es diferente a los vistos anteriormente. Los anteriores se basan más en el entrenamiento de sistemas pre-entrenados y sus sistemas de interpretación se construyen a través de un sistema de reglas apoyado en una serie de bases de datos léxicas, que están alienadas entre los diferentes lenguajes y permiten a los elementos identificados funcionar en varios idiomas.  Así, un mismo sistema de identificación puede ser utilizado para diferentes idiomas. Las implementaciones de NLP hechas con Aspect NLU son más robustas, pero menos flexibles y más complejas de construir. La calidad de la documentación es aceptable, los ejemplos desarrollo de chatbots con esta plataforma son escasos y su código no es accesible.

Gupshup

Desarrollo Avanzado de Chatbots Bot Frameworks Programables

Es una plataforma de desarrollo apta tanto para desarrolladores como para aquellos que no lo son, ya que ofrece dos herramientas: Flow Bot Builder y Bot Builder IDE. La Flow Bot Buider es un editor visual, apto para usuarios sin conocimiento de programación, que permite la construcción y despliegue de chatbots sin necesidad de escribir código de programación. Permite la construcción de chatbots sencillos. El Bot Builder IDE es una herramienta de desarrollo que permite el uso de varios entornos de programación (Node.js, Python, Ruby, PHP, Java, C#, Android e iOS). Incluye herramientas de analítica y monitorización, y el  NLP que trae por defecto (NLP on the fly) es sencillo y muy fácil de implementar, pero sólo permite el manejo de intents y entities. También permite hacer uso de otros motores de NLP (más completos), en especial los de Dialogflow y Wit.ai. Tanto una herramienta como la otra, permiten el despliegue de chatbots en varios canales: Facebook Messenger, SMS, Twitter, Telegram, Slack, Hipchat, Skype, Kik, Twillio, Line, Cisco Spark, Teamchat, etc. También permite la integración de servicios como APIs, Bases de datos, servicios cognitivos, etc. La calidad de la documentación es aceptable y no hay muchos ejemplos de desarrollo de chatbots con Gupshup.

HACIENDO BALANCE

A continuación, y para resumir todo lo visto anteriormente, se muestra una tabla comparativa con los datos relativos a cada una de las plataformas que se han visto.

Tabla comparativa - Desarrollo Avanzado de Chatbots Bot Frameworks Programables

En esta valoración se han tenido en cuenta tanto la variedad de servicios disponibles, madurez y accesibilidad, como el nivel de documentación de los mismos. Las tres plataformas de desarrollo de chatbots más recomendadas actualmente, en orden de prioridad, serían:

Mejores plataformas- Desarrollo Avanzado de Chatbots Bot Frameworks Programables

Como se puede ver, existe un gran número de posibilidades para crear chatbots avanzados. A partir de aquí, tendríamos que ir viendo y probando cada una de las plataformas disponibles, para ver cuál de ellas se ajusta mejor a los requerimientos de nuestro proyecto. En cualquier caso, una cosa sí está muy clara: la creatividad, capacidad de adaptación y ganas de aprender serán elementos clave. Buen desarrollo a tod@s! ????

La semana pasada, en la primera parte de este artículo, hicimos una primera aproximación al desarrollo y despliegue de chatbots, en un entorno productivo. En esta segunda parte seguiremos con ello, profundizando en aspectos más avanzados.

Construyendo modelos de Inteligencia Artificial propios

Como se ha visto, desde la puesta en marcha de los primeros chatbots, se irían recogiendo datos de las interacciones chatbot-usuario. Así, se irá creando un repositorio de datos de interacción, con diferentes niveles de estructuración.

El tratamiento y análisis de estos datos servirá para la construcción modelos de Inteligencia Artificial propios. Estos serán la base para la creación de Chatbots Neuronales; más adaptados al área de negocio de la empresa y más eficientes a la hora de resolver incidencias.

Figura 3.- Utilizando los datos para la construcción de Chatbots Neuronales

Figura 3.- Utilizando los datos para la construcción de Chatbots Neuronales

Puesta en producción de los Chatbots Neuronales

Tras la construcción y prueba de los Chatbots Neuronales, se incorporarían al ciclo de producción del Contact Center (siguiendo con el ejemplo anterior). Sustituyendo a los Chatbots Lógicos, y solventando un mayor tipo y número de incidencias, con lo que:

Figura 4.- Puesta en producción de los Chatbots Neuronales

Figura 4.- Puesta en producción de los Chatbots Neuronales

Los nuevos tipos de interacción, aumentaría la cantidad y tipología de datos existentes en el repositorio de datos de interacción. Estos nuevos datos, juntos con los ya existentes, se usarían para construir Chatbots Generativos. Un tipo de chatbot capaz de aprender con cada una de las interacciones que va teniendo, ya sea un humano u otra máquina. Así, podrían asumir tareas más especializadas y tener cierta capacidad de improvisación, ante situaciones que no están contempladas en su base de conocimiento.

Su construcción se haría de forma similar a como se hizo con los Chatbots Neuronales; se harían prospecciones periódicas sobre el repositorio de datos y, cuando se viera que hay suficientes datos, se iniciaría la construcción de los mismos.

Figura 5.- Construcción de los Chatbots Generativos

Figura 5.- Construcción de los Chatbots Generativos

Implementando los Chatbots Generativos

A diferencia de como se hizo con los Chatbots Neuronales, la puesta en producción de los Chatbots Generativos no implicaría la sustitución de los Chatbots Neuronales. Su despliegue se haría de forma que hicieran de intermediarios entre los operadores humanos y los Chatbots Neuronales.

Se haría así, porque sus puesta en producción y mantenimiento es más costosa, y porque  su alto grado de especialización y capacidad de improvisación, los hacen ideales para esta función de intermediación.

Figura 6.- Puesta en producción de los Chatbots Generativos

Figura 6.- Puesta en producción de los Chatbots Generativos

Hasta aquí nuestra propuesta de como hacer un despliegue de chatbots en un entorno productivo. Como ya os comentamos, la hemos elaborado en base a la experiencia que hemos adquirido en los dos últimos años. Esperamos que os resulte interesante y os sirva para todos aquellos que estéis en ello o pensando en iniciaros en este mundo tan innovador y lleno de posibilidades.

MÁSTER EXPERTO BIG DATA ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

https://datahack.es/blog/big-data/desarrollo-chatbots/En artículos anteriores hemos hablado de qué son y como nos entienden los chatbots, que plataformas pueden usarse para construirlos y cuáles de estas son las más interesantes para hacer un desarrollo avanzado de los mismos. Hecho que nos permite avanzar y adentrarnos un poco más en este mundo donde se mezcla la inteligencia artificial (IA) y la integración de sistemas.

En las siguientes líneas os haremos una propuesta, basada en la experiencia que hemos adquirido en los dos últimos años, de como realizar el desarrollo y despliegue de los chatbots en un proyecto de cierta envergadura, de forma gradual, sostenible y en mejora continua.

Mejor empezar con los Chatbots basados en reglas

Lo más óptimo es empezar con el desarrollo e implantación de chatbots de primera generación o Chatbots Lógicos. Estos funcionan con un sistema de diálogos (basado en reglas) y con una inteligencia fundamentada en la lógica, implementada en su código de programación.

Son fáciles de desarrollar, funcionales y capaces de dar servicios a través de varios canales de comunicación, lo que le hace ideales para las fases iniciales de un proyecto, en las que todavía no hay datos del comportamiento de los usuarios.

Con ellos se hará una primera aproximación a la automatización de tareas y se podrán ir recopilando datos, resultantes de la interacción estos con los usuarios, que sirvan para el desarrollo de chatbots más avanzados.

Desplegando Chatbots, una visión estratégica Figura 1.- Esquema de los Chatbots Lógicos en producción

Figura 1.- Esquema de los Chatbots Lógicos en producción

Poniendo como ejemplo un Contact Center de una empresa de comercio electrónico (Figura 1), los chatbots estarían situados en el nivel 1 del mismo, atendiendo a los usuarios por varios canales e interactuando con los sistemas internos de la empresa. También serían capaces de escalar incidencias que no puedan resolver a un nivel 2, donde serían tratadas por operadores humanos.

Los datos de las interacciones chatbot-usuario, se guardarán en un repositorio de datos, por ejemplo, un data lake.

Incorporando Servicios Cognitivos de terceros

Una vez implantados, y comprobada la eficiencia de los Chatbots Lógicos, se podría dotar a los mismos de nuevas funcionalidades (Procesado de Lenguaje Natural, Reconocimiento de Voz, Detección de Imágenes), haciendo uso de servicios cognitivos de propósito general, que son proveídos por empresas como: Google, Microsoft IBM, Amazon u Otros.

Con esto se buscaría un doble objetivo: mejorar la experiencia usuario y aumentar el número y tipo de interacciones chatbot-usuario, de modo que se vayan almacenando una mayor cantidad y tipo de datos, para su posterior análisis.

Desplegando Chatbots, una visión estratégica Figura 2.- Incorporación de Servicios Cognitivos a los Chatbots en producción

Figura 2.- Incorporación de Servicios Cognitivos a los Chatbots en producción

Y hasta aquí, la entrega de esta semana. La que viene seguiremos hablando de como seguir haciendo el despliegue de chatbots avanzados, haciendo uso de los datos recopilados y creando algoritmos de Inteligencia Artificial.

Espero que esta lectura os haya sido interesante,

MÁSTER EXPERTO EN BIG DATA & ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento

El pasado jueves, 26 de abril, estuvimos hablando de chatbots. Una charla en la que vimos cuándo y cómo han surgido los bots, cuáles han sido las condiciones y qué circunstancias que han hecho que sean una de las tecnologías más solicitadas en la actualidad y con un futuro prometedor. La charla se organizó en cuatro bloques:

Introducción a los bots

En el primer bloque se introdujo el mundo de los bots, viendo aspectos tales como el momento en el que se han convertido en una tecnología emergente, su definición, historia y los tipos que hay.

Situación actual de los bots

A continuación, vimos dónde se pueden encontrar, cuál es su grado de aceptación, tanto por los usuarios como las empresas, y los cambios recientes, tecnológicos y sociales, que los han convertido en una tecnología de alta proyección y demanda.

Tecnologías para crear bots

En la tercera parte se estuvo hablando de las herramientas y tecnologías disponibles para su construcción y despliegue, viendo también su relación con otras tecnologías como el Big Data y la Inteligencia Artificial.

Nuestros chatbots

En la recta final, se estuvo hablando de los tres Chatbots que se han desarrollado en datahack, contando su funcionalidad y las tecnologías utilizadas para su desarrollo y despliegue. También hubo tiempo para hacer una demo de uno de ellos, Tivisa: un Chatbot de reglas, creado para potenciar los contenidos de una web.

Y al final...

Tras esta demo se hizo una conclusión final, en la que se vieron y comentaron aspectos acerca de su futuro prometedor. Además de ver cuáles serían los próximos pasos a seguir, tanto para los que los quieran utilizar como para los que quieran hacerlos y convertirse en uno de sus artífices.

¡Gracias a tod@s los que estuvisteis aquí, por estar y compartir un viaje tan apasionante!


MÁSTER EXPERTO BIG DATA ANALYTICS

Gracias al Master en Big Data Analytics 100% Online tendrás amplios conocimientos sobre las herramientas y técnicas analíticas necesarias para la modelización de los principales retos de negocio, con el fin de mejorar la toma de decisiones a través de los datos y el conocimiento.

datahack en el Try IT! 2017 haciendo chatbots

Como ya sabéis, datahack nos apuntamos a un bombardeo y no podíamos dejar pasar la oportunidad de participar en Try IT! 2017 con un taller de chatbots. Que se celebró el 16 de marzo en la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid.

En esta quinta edición, se decidió profundizar un poco más en uno de los temas más actuales, que ha llegado para quedarse: los chatbots. Aunque en esta ocasión -y anticipando que la audiencia iba a querer algo de acción- nos salimos un poco del enfoque puramente teórico. Optamos por arremangarnos, organizando un pequeño taller con el claro objetivo de que al finalizarlo, los asistentes se fueran a su casa con su propio bot codificado y funcionando. Y lo más importante, con unas herramientas que les permitan construir sobre la base adquirida aquello que imaginen.

Con todo esto la tarde del 16 de marzo, junto con unos cuantos valientes, arrancamos un taller en el cual se presentó el Bot Framework de Microsoft. Que proporciona los ladrillos para materializar el diseño y desarrollo de chatbots de una manera más amigable que si se tuviera que hacer desde cero.

Como nuestra intención era dar un carácter interactivo al encuentro, se fueron intercalando conceptos básicos. Desde cómo levantar los cimientos de nuestro bot, pasando por el establecimiento de diálogos y cascadas entre usuario y bot, así como los distintos tipos de Prompts.

Los Prompts pueden dejar al bot a la espera de una respuesta con un determinado formato por parte del usuario. Por lo que en el taller, cada participante en su PC codificaba partes del bot que se correspondían con los conceptos introducidos.

Creando chatbots

Algunos de nuestros compañeros estuvieron coordinando el taller y resolviendo cualquier duda que los participantes pudieran tener. Ayudándoles a montar un chatbot funcional e introducirles en nuevas funcionalidades, ideas y posibilidades de este fascinante mundo.

Chatbots taller de datahack en Try IT! 2017 de UPM

Desde un punto de vista teórico, se introdujeron los conceptos básicos del Natural Language Understanding. Que consiste en que los chatbots sean capaces de entender lenguaje humano a distintos niveles. Por un lado, pudiendo reconocer lo que el usuario quiere y actuar en consecuencia para satisfacer sus necesidades. O, lo que todavía resulta casi imposible, que el usuario dude si se trata de un humano o un bot.

La guinda de la sesión fue la noción de LUIS (Language Understanding Intelligent Service de Microsoft). Un framework que permite, de manera sencilla y asequible, crear modelos que detectan la intención del usuario cuando se comunica con el bot. Además de identificar las partes del discurso interesantes para que el bot cumpla sus funciones. Sin duda, el complemento perfecto de la sesión. Consiguiendo que los asistentes pudiesen investigar y poner en práctica los conceptos introducidos para empezar a dotar de “entendimiento” a su bot.

La sensación fue muy positiva, los participantes se fueron a casa con lo que pueden ser las bases de nuevas y grandes ideas.

Desde datahack queremos agradecer a la Delegación de alumnos de la ETSI su amabilidad y flexibilidad. Sobre todo en cuanto al tiempo reservado para el taller. ¡Todo un placer haber participado en el Try IT! 2017!

chevron-down