Microsoft Bot Framework

Durante los tres días de Build 2016 uno de los temas de los que más se ha hablado es Conversation as a Platform.  Este nuevo concepto representa la capacidad de las personas de comunicarse con los sistemas utilizando el lenguaje natural, y la creación de bots que sean capaces de entendernos es uno de los primeros pasos hacia ese objetivo.

Los bots son sistemas que permiten a los usuarios interactuar con aplicaciones o servicios de la misma forma que lo harían si estuvieran hablando con otra persona. Esto permite llevar a cabo acciones como encargar comida o pedir un taxi de manera cómoda y natural. Los bots no solo pueden interactuar con las personas, sino que también pueden comunicarse entre ellos para llevar a cabo tareas.

Esto representa una revolución en la forma en la que realizamos las transacciones en internet y nuestras labores diarias. Ya no tenemos que entrar en una página web o en una aplicación y rellenar un formulario sino simplemente expresar la acción que queremos llevar a cabo en forma de conversación y el bot lo entenderá. Por ejemplo, si queremos reservar un vuelo simplemente tendremos que decir “Reservar un vuelo a Paris el día 5 de mayo” y ya el bot nos irá haciendo las preguntas necesarias para recabar toda la información para llevar a cabo la transacción.

Durante la keynote del primer día pudimos ver varias demos de bots y se anunció la disponibilidad del  Microsoft Bot Framework  que permitirá a todos los desarrolladores empezar a crear bots desde ya.  A la hora de crear un bot serán necesarios otros servicios, como servicios para alojar el bot, machine learning, reconocimiento del lenguaje natural, procesamiento de imagen etc. Por lo que el Bot Framework es solo una de las herramientas que Microsoft pone a disposición de los desarrolladores.

En la página oficial de Mircosoft Bot Framework encontraremos toda la información necesaria respecto a los bots, tanto si ya tenemos uno construido y queremos conectarlo con otras aplicaciones como si aún no lo hemos creado.

1

Este nuevo framework tiene tres componentes principales:  Bot Builder SDK, Bot Connector y Bot Directory. Vamos a ver uno a uno en qué consisten.

Un bot estará compuesto de una lógica que se corresponderá con la lógica del servicio que se quiere ofrecer y con una lógica de conversación. Esta lógica de conversación puede ser implementada por los desarrolladores si es una lógica muy sencilla o en el caso de que se necesite más complejidad está disponible el Bot Builder SDK.

Bot Builder SDK es una librería en Node.js y C# que se incorpora al proyecto del bot y se encarga de gestionar toda la conversación sin necesidad de que sea implementada por parte del desarrollador. Para incorporar comprensión del lenguaje natural el SDK se integra con el sistema LUIS (Language Understanding Intelligent Service) de forma muy sencilla.

2

Otro de los componentes del Mcirosoft Bot Framework es el Bot Connector.

3

El Bot Connector es un servicio online que permite conectar nuestro bot con una serie de servicios como Skype, Slack, SMS o Telegram a través de una interfaz de API Rest implementada en el código del bot.  Para conectarlo no es necesario que el bot esté programado en C# o en Node.js, con que siga el formato de mensajes de API Rest establecido y esté registrado es suficiente.

A parte del envío y recepción de mensajes el Bot Connector implementa otras funcionalidades como:

  • Capacidad de almacenar el estado. El Bot Connector ofrece almacenamiento para guardar el estado de la conversación.
  • Servicios de traducción. Este servicio es opcional y permite la comunicación entre un bot y un usuario a pesar de que su idioma no sea el mismo.
  • Telemetría. Se recoge información sobre el servicio, como por ejemplo el número de peticiones, los mensajes que han resultado en fallo etc.

El Bot Directory es un directorio público que estará disponible próximamente. En él estarán todos los bots registrados a través del Bot Connector, incluidos los mostrados durante Build 2016.

4

Si quieres saber más sobre el desarrollo de bots y las novedades presentadas en Build 2016 puedes encontrar los videos de todas las sesiones en Channel 9.

Beatriz García Roces
@BeRoces
Technical Evangelist Intern