bot

Como diría el clásico, los bots están en efervescencia. En las últimas semanas tanto Facebook como Microsoft han subido a su CEO al escenario para contar que la gran novedad, lo más cool,  (con el permiso de la realidad virtual de Zuckemberg y las hololens de Natella) son los bots.

Para el que no esté familiarizado con el término, un bot es un programa (una aplicación si queremos verlo así) que utiliza el lenguaje conversacional para interactuar con el usuario. Normalmente, este bot se puede incluir como un contacto más en una conversación (hasta en un grupo de usuarios) y se le pueden pedir cosas (desde una pizza, que organice una reunión, que nos compre una entrada de cine o simplemente que nos entretenga con un chiste) sólo con pedirlo en lenguaje natural. Nada de comandos preestablecidos tipo “COMPRAR PIZZA + ingredientes”. Simplemente decirle al bot “quiero una pizza” y que él sepa cuáles son tus gustos y te envíe una a casa sin más.

Tal es el hype que se está viendo respecto a los bots que Microsoft ha definido la nueva interfaz de usuario como la interfaz conversacional. Parece que por fin estamos atisbando el fin del paradigma de IU basado en ratón (o dedo) con menús, ventanas y botones. Incluso hay gurús que planean el fin de la era de las apps, la de una app concreta para cada cosa, y la venida de la era de los bots que se “añaden” como hacemos con los amigos en Whatsapp. Incluso bots listísimos multipropósito, que valen para hacer de todo, como propone Facebook con su “M”… cada vez estamos más cerca de que cada uno tengamos nuestro J.A.R.V.I.S. particular como lo tiene Iron Men.

¿Qué se necesita para un bot?

Para que un bot sea considerado como tal tiene que hacer dos cosas (al menos):

  1. Que entienda el lenguaje natural (más o menos). Como lo hacen los asistentes de Apple o Microsoft (Siri y Cortana). Este lenguaje puede estar expresado por voz o texto.
  2. Que sea listo y que sepa que hacer una vez que ha entendido lo que quiere el usuario. De nada le sirve que entienda que quieres una pizza si luego no la puede encargar ¿no?. Para esto necesita, evidentemente, servicios de negocio.

Un tercer punto que hay que tener en cuenta es el “enlace” entre lo que ha entendido y los servicios que hay que invocar. Esto lo hace muy bien por ejemplo wit.io, la empresa que compró Facebook, y que ha definido un framework de construcción de bots.  La idea es sencilla, aunque su implementación es enormemente compleja: extraer de toda la parrafada que suelta el usuario en lenguaje natural a una intención de lo que quiere hacer, expresada como una etiqueta que un programador puede procesar fácilmente.

Captura de pantalla 2016-04-23 a las 9.58.08

Por ejemplo, si queremos fijar la temperatura de la habitación (como se ve en la imagen ianterior) y decimos “pon la temperatura de mi habitación a 25 grados”, el motor del bot es capaz de traducir esto a un intent que expresa de manera sencilla qué s lo que se quiere hacer “controlar la temperatura”, a esto se le añade lo que podríamos llamar parámetros que son en este caso la temperatura que queremos poner y dónde lo queremos hacer.

Para un programador es tremendamente fácil procesar esto, aunque sea con un if que compruebe este intent, abstrayéndole de la enorme complejidad de entender qué diablos está diciendo el usuario y traducirlo a una acción concreta, y por lo tanto, a qué servicio de negocio hay que llamar.

La conclusión creo que está clara: podemos considerar a los bots como un nuevo canal de interacción con el usuario/cliente. Un nuevo canal que va más allá de las webs y de las apps y que toca varios palos como son  el procesamiento de lenguaje natural, el machine learning y la inteligencia artificial y que en definitiva, necesitará servicios de negocio para poder proporcionar al usuario lo que necesita. Los bots son los nuevos consumidores de servicios SOA.

 

 

Anuncios