Bots: Qué son y cómo crearlos

bothead

Desde el nacimiento de servicios como Siri, Ok Google y Cortana hemos visto cómo los clientes y desarrolladores han empezado a interesarse por la magia de los asistentes personalizados que están llamados a ser el futuro de la interacción entre los seres humanos y los dispositivos móviles. Estos sistemas, denominados coloquialmente en la jerga informática como bots, son solo un ejemplo de las muchas posibilidades que  nos van a proporcionar en el futuro.

Y estos bots ¿Que son? y quizá lo más importante si eres desarrollador ¿cómo puedo crear uno? Durante este post espero que veas un poco de luz en tu camino hacia la construcción de bots.

¿Qué son los bots?

Nos encontramos en una época en la que grandes empresas como Google o Microsoft se encuentran muy interesadas en crear productos innovadores que permitan diferentes formas de interacción entre una persona y un dispositivo.

La inteligencia artificial y los servicios cognitivos empiezan a ver la luz y los bots son solo una pequeña muestra de lo que está por venir. Un bots es un sistema capaz de realizar tareas por medio de un canal de comunicación mucho más cercano al lenguaje natural de lo que estamos acostumbrados en las aplicaciones que existen actualmente.

Existen bots de mucho estilos y tipos, pero por lo general, son sistemas capaces de comprender cierta sintaxis y semántica del lenguaje humano. Esto es importante porque una de las grandes barreras que todavía a día de hoy existen entre un gran número de usuarios y las nuevas tecnologías es una forma de interaccionar con las mismas de una forma poco usable. Por lo tanto sistemas que puedan comprender órdenes habladas o escritas sencillas van a ayudar a que un mayor número de personas se acerquen a la tecnología.

Además todas aquellas personas que ya tienen la tecnología asimilada verán como la usabilidad de estas nuevas interfaces más ‘humanas’ les ayuden a realizar acciones de una manera más fácil y cómoda.

Aunque existen muchos tipos de bots, a lo largo de estas entradas, vamos a centrarnos en los chatbots. Bots que realizan acciones por medio de peticiones que se realizan en chats de mensajería instantánea convencionales.

¿Cómo crearlos?

A día de hoy existen un sinfín de librerías y SDKs para crear bots en la tecnología que queramos. A mi particularmente me ha llamado mucho la atención la solución que propone Microsoft a la hora de encarar el desarrollo de bots.

¿Por qué? Porque como veréis me convence mucho cómo han dividido las diferentes partes del sistema y sobre todo por la gran idea de haber creado un SDK tanto para entorno .NET (desarrollo con C# en Visual Studio) como para entorno NodeJS (desarrollo con JavaScript y tu editor de texto favorito).

Esto es un plus que a mi personalmente me gusta mucho pues en cualquier momento y dependiendo del contexto en el que me encuentre dentro de un proyecto o los desarrolladores con los que trabaje, puedo plantear una solución de un tipo u otro. Me da mucha flexibilidad.

La idea de Microsoft gira entorno a lo que ellos llaman Bot Framework. Una plataforma dividida en diferentes módulos que hacen la experiencia de desarrollo muy disfrutable.

botframework_overview_july

Su plataforma cuenta con 3 partes bien diferenciadas: Bot Builder, Developer Portal y Bot Directory:

Bot Builder

En Microsoft llaman Bot Builder a todos estos SDKs de los que hablábamos anteriormente. Estos SDK no dejan de ser unas librerías que se pueden exponer por medio de una  API REST. EL SDK permite relacionar palabras claves (endpoints) con diferentes acciones a realizar (Controladores).

O explicado de otra forma, el Bot Builder se engancha a una Web API típica de .Net y Bot Builder nos permite crear expresiones regulares a partir de las necesidades del usuario. El SDK cuenta con varias utilidades, como por ejemplo, la posibilidad de realizar varias preguntas al usuario para que podamos llevar acciones a partir de unos datos establecidos o la posibilidad de pedir datos al usuario de un tipo determinado o contestaciones estándar.

Developer Portal

Developer Portal es una herramienta web que nos permite registrar nuestro bot en la nube. Nuestro bot, creado con el SDK Bot Builder, puede ser hospedado en cualquier lugar que precisemos, un IIS propio o la nube de Azure. El Developer Portal será el encargado de registrarlo e indicar dónde se encuentra nuestro endpoint de entrada al servicio bot.

Una vez que lo tengamos registrado, el Developer Portal nos da una serie de conectores preestablecidos para enganchar nuestro bot a los principales sistemas de mensajería instantáneos que existen en la actualidad, desde Telegram hasta Slack. También nos proporciona una API REST que nos facilitará el trabajo de integración del bot en cualquier aplicación que hayamos construido nosotros.

Bot Directory

Es un repositorio de bots creados por la comunidad. Es la tienda oficial de bots creados con tecnologías Microsoft y que podrán ser usados para el disfrute de cualquier desarrollador y usuario. Si queremos que nuestro bot sea usado por millones de usuarios, esta plataforma será un buen lugar para darle presencia.

Conclusión

En el próximo articulo profundizaremos en la creación de un bot haciendo uso del Bot Builder. Crearemos un bot capaz de entendernos y de realizar una serie de acciones básicas.

Nos leemos 🙂

Imagen portada | Digital Content Next

EDIT: Si deseas saber más sobre los chatbots de Microsoft sigue leyendo estas entradas:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s