
Bots e IA: ¿Qué es exactamente una plataforma de bots?
Tiempo de lectura: 8 minutos
Los principales proveedores de bots de IA (IBM Watson, Microsoft Cognitive Services, Amazon Lex, Google API) ofrecen más o menos lo mismo, pero cada uno tiene su propia terminología. Pedí al evangelista técnico de Microsoft Martin Beeby y al CEO y cofundador de The Bot Platform Syd Lawrence que me ayudaran a ponerle tecnología a los términos.
Vea el Video de nuestra conversación aquí, o desplácese por debajo del Video para leer la transcripción completa.
Bots e IA: ¿Qué es exactamente una plataforma de bots? (Transcripción completa)
Sam Machin (Nexmo Developer Advocate & Alexa Champion): Vamos a ponernos un poco más técnicos esta vez. Así que tipo de, una de las cosas que he aprendido es que mirando, sobre todo si estoy mirando a través de diferentes plataformas, he estado haciendo cosas con IBM Watson, con los servicios cognitivos de Microsoft, con Alexa de Amazon y Lexy la API de Google, AI Google Assistance. Todo el mundo tiene diferentes ... todo el mundo está haciendo más o menos lo mismo en un conjunto de API.
Todos tienen una cosa, tienen una cosa de voz a texto. Tienen algún tipo de procesamiento de lenguaje natural, tienen algún tipo de tiempo de ejecución. Pero los llaman de diferentes maneras, con diferente terminología. Por ejemplo, si volvemos a nuestras plataformas bot, ¿qué es una plataforma bot? Syd, es tu empresa.
Syd Lawrence (CEO y cofundador de La Plataforma Bot): Antes de lanzarnos como The Bot Platform, no se llamaban plataformas de bots. Así que hemos estado construyendo nuestros sistemas desde el pasado mes de abril. Y había algunos, lo que se llamaba bot builders lanzados. Y nosotros... bueno, creíamos que lo que estábamos creando no era sólo un constructor de bots, sino toda una plataforma no sólo para bots, sino también para ampliarlos. Y hacer algunos bits y piezas que hicimos detrás de las escenas. Así que lanzamos The Bot Platform.
En los últimos tres meses, me he dado cuenta de que todo el mundo ha empezado a llamarlas plataformas bot. Y ahora parece que nosotros... bueno, no sé si es bueno porque fuimos los primeros o malo porque la gente piensa que nos llamamos Plataforma Bot porque la gente las llama plataformas bot.
Nuestro objetivo inicial era crear un sistema que permitiera a otras personas crear sus propios robots de mensajería para aplicaciones. Y ahora lo que nos hemos dado cuenta en los últimos seis meses es que la gente no tiene ni idea de qué hacer cuando se les presenta una solución técnica como esta. "people have got no idea what to do when they're presented with a technical solution like this." Quiero decir, no es técnico es, algo así, se podría describir como un CMS hasta cierto punto. Así que lo que estamos haciendo ahora es que estamos ofreciendo una solución de servicio en el que ayudamos a construir el bot para ellos o con ellos para empezar y luego entregar la solución técnica más tarde.
Pero sí, al final no se llamaron plataformas bot hasta que lanzamos The Bot Platform. Esa es mi respuesta a la pregunta.
Sam: Así que dime, quiero decir uno de los debates que he querido escuchar es a mí ... bien. Pero quiero decir, la plataforma bot tiene que tener ciertas cosas. Como Facebook Messenger por sí sola no es una plataforma bot, ¿verdad?
Martin Beeby (Evangelista técnico de Microsoft): Lo llamaríamos un... lo describiríamos como un canal en nuestra terminología. Skype, Facebook, Kik, Slack... los llamamos canales. Y luego tenemos un marco, un marco bot, que abarca todas esas cosas. Así que puedes construir para todas esas cosas con un bot. Con un marco de bots, puedes crear para todas esas plataformas.
Pero sí, para todas esas plataformas, para todos esos canales. Mira, ya nos estamos confundiendo con la terminología. Estoy tratando de ayudar con la terminología y hacer más ambigüedad. Pero sí, llamaríamos a esos canales y luego tenemos un marco bot. En realidad no lo llamamos plataforma bot porque reconocemos que Syd estaba allí primero. Así que no queríamos interrumpir esa área.
Sam: Creo que... sí, definitivamente el canal es una de las cosas que estoy viendo como terminología emergente. El canal es la forma en que el usuario accede al bot porque el bot en sí es... y la mayoría de estos canales son realmente canales de comunicación. Están diseñados originalmente para chatear de persona a persona principalmente. Slack es una forma de comunicarse con otras personas. La única diferencia es que en lugar de comunicarte con una persona, te comunicas con un bot. Así que el propio bot vive... no es más parte del canal de lo que yo soy como usuario. El canal es lo que me conecta al bot.
Y supongo que en algunos de los sistemas más estrechamente acoplados, como Alexa tal vez, es todo-en-uno. Pero como todavía tenemos la construcción de cosas en los canales de comunicación existentes, entonces sí. Entonces definitivamente hay una separación entre el bot.
Martin, ¿cuál es tu marco de trabajo? ¿Qué hace tu marco a un nivel genérico? ¿Cuáles son las características que lo componen?
Martin: A grandes rasgos, es un marco, un kit de desarrollo, un SDK que funciona en Node o C#. Y construyes este bot y... ambos lenguajes funcionan de forma ligeramente diferente. Pero en términos generales, tenemos un patrón para recibir un mensaje y luego pasar mensajes de vuelta. Abarcamos todas las plataformas. Así que podrías construir un bot usando node o C#...
Syd: Abarca todos los canales.
Martin: ¿He dicho plataformas? Estupendo. Abarco todos los canales. Y la idea es que tú construyas una de estas cosas y nosotros nos quedemos ahí como intermediarios asegurándonos de que esté disponible en todos los canales para ti. Pero construyes un bot.
Más recientemente también, puedes responder con diferentes respuestas dependiendo del canal en el que estés hablando. Así que si estoy construyendo un bot de Facebook Messenger, por ejemplo, probablemente quiero ser pesado en la interfaz de usuario. Porque las directrices de Facebook Messenger hablan de botones y carruseles y cosas así. Bueno, en algunos canales son mucho más restrictivos sobre el aspecto de la interfaz. Y tal vez sólo estás entregando texto en esos casos o botones o lo que sea. Así que construimos un bot, pero puede responder de manera diferente en función del canal y la forma en que el mensaje llega a usted.
Pero la razón, el tipo de... la propuesta que ofrece Microsoft es este ahorro de dinero. Creas un único bot y luego puedes ponerlo a disposición de Skype, Facebook Messenger y Slack. "You build one single bot and then you can make it available on Skype, Facebook Messenger, and Slack." Sam: ¿Cuál era el viejo adagio de Java? "Escribe una vez, ejecuta en todas partes".
Martin: Sí, estamos en esa... esa es la idea de tratar de hacer más y más simple. Y la esperanza es que, a medida que surjan más y más canales, puedas beneficiarte de ellos sin tener... o teniendo que hacer muy poco trabajo de desarrollo. Y eso es, cuando estamos mirando a los clientes internacionales, que es realmente un aspecto importante de eso, porque dependiendo de la geografía en la que vive, diferentes plataformas de mensajería son más importantes en diferentes geografías. Así que alguien que está construyendo estos, un bot para tal vez un público chino estaría buscando en un montón diferente de las redes sociales que alguien que está tratando de construir uno para América del Norte.
Así que ese es el concepto que intentamos ofrecer o ayudar a que los desarrolladores sean más productivos, porque en definitiva ese es nuestro juego.
Sam: Así que su marco ... por lo que en realidad dentro de eso, para mí hay probablemente algunas cosas que estás haciendo. Porque tienes algunos... tomas los mensajes entrantes del canal y ese es el punto de entrada de tu marco. Pero entonces presumiblemente hay algún tipo de lenguaje natural... bueno, ¿el lenguaje natural está cerca? Potencialmente de voz a texto y luego procesamiento de lenguaje natural.
Martin: Por supuesto que puedes, pero no tienes que hacerlo. Obviamente, si quieres, es muy, muy sencillo añadir la comprensión del lenguaje natural. O lo llamamos LUISServicio [inteligente] de comprensión del lenguaje. Se trata de un servicio de Azure con el que basta con añadir comprensión del lenguaje y luego se puede vincular a diferentes funciones basadas en la intención del usuario. Es muy fácil de usar. Pero no necesitas usar nada de eso. Depende de ti.
Sam: Usted puede simplemente tomar el canal de entrada en bruto en su código a continuación, lo que el usuario ha escrito en el Messenger o quien sea puede ser alimentado a su código, o ...
Martin: Absolutamente. Absolutamente. Puedes escribir, puedes hacer que la inteligencia de tu bot se base en Regex si realmente quieres hacerlo. Pero en términos generales, recomendaríamos, al menos en la mayoría de los casos, contar con algún tipo de servicio de comprensión del lenguaje en lugar de intentar averiguar qué está intentando hacer el usuario en tu bot. Y la mayoría de los ejemplos que generamos lo incluyen.
Pero sí, ofrecemos muchos servicios diferentes. Ofrecemos un servicio de preguntas y respuestas, por ejemplo. Así que carga todas tus preguntas y respuestas y podemos servirte eso como un bot de forma muy rápida y sencilla. Puedes hacerlo casi sin código, utilizando también funciones de Azure. Si estás familiarizado con AWS, tienen una pila llamada Lambda que es como una pila sin servidor. También tenemos esa misma cosa, se llama Azure Functions. Y usted puede simplemente, con un par de clics, implementar un bot para que, subir una pregunta y respuesta tipo de hoja de cálculo Excel. Y entonces, tu bot será capaz de responder preguntas en una especie de bot de preguntas frecuentes. Y por lo que está utilizando el aprendizaje automático para averiguar lo correcto.
Sam: Tuve un poco de juego con eso, en realidad. Sí, es una forma bastante chula de llegar a tu primer bot. Creo que tomó un documento de Word, incluso para mí. Sólo quería una pregunta clave y la respuesta.
Martin: Se tomaría una página web con un Q & A en él y convertir que en un Q & A bot. Y es sorprendentemente preciso. No se limita a emparejar patrones, sino que entiende el lenguaje natural y lo mapea. Hace clasificación de texto y todo ese tipo de cosas inteligentes de aprendizaje automático entre bastidores. Pero tú, como usuario, puedes construir un robot de preguntas y respuestas muy, muy rápidamente usando algo así.
[Nota del editor debate completo de una hora sobre el estado de la tecnología bot de IA].