code

El estado actual

Hay muchas plataformas que pueden facilitar el desarrollo de tu chatbot, pero la mayoría están orientadas a usuarios no técnicos y eso suele conllevar que tu bot viva en sus servidores. Si tenemos en cuenta que pocas startups duran más de dos años y que algunas son absorbidas por las grandes multinacionales, puede que no te interese que el funcionamiento de tu chatbot dependa de una empresa que podría no durar mucho.

Plataforma vs Framework

Para bots pequeños o que se basen principalmente en proveer contenido, utilizar una plataforma es ideal, la lógica del bot es muy sencilla de estructurar, en muchas te facilitan un motor de entendimiento y puedes publicar en varios canales con solo pulsar un botón. Si te interesa este tipo de chatbots te recomiendo Xenioo para chatbots y Voiceflow para voicebots.

Sin embargo, para todos aquellos casos más complejos, que necesitan utilizar una base de datos, utilizar ciertos servicios específicos o implementarse con otro software, nos interesa mucho más utilizar un framework de desarrollo.

Los 3 puntos que hay que analizar

Hay muchas partes involucradas en el desarrollo de un chatbot, pero podemos centrarnos en los siguientes puntos: herramientas de desarrollo, despliegue y entendimiento.

El desarrollo y el alojamiento normalmente podrás hacerlos con cualquier lenguaje de programación y usando un servidor local, aunque si una plataforma ofrece un SDK que facilite el desarrollo y alojamiento en la nube mejor que mejor.

El entendimiento de las conversaciones suele ser más problemático, sobre todo si no formas parte de una gran empresa que pueda permitirse un equipo de ingenieros de NLP/NLU y por eso será el punto clave de la plataforma.

Haciendo una búsqueda de los mejores frameworks que hay en el mercado, los que más destacan y son más competitivos son los siguientes:

1 · Microsoft Bot Framework

Desarrollado por Microsoft, Bot Framework es la solución más completa y es ideal para grandes empresas con desarrolladores que buscan personalizaciones serias y capacidades robustas. Es la solución más completa y potente, con un arsenal de conectividad detrás.

Herramientas de desarrollo

Utiliza Microsoft Bot Builder, un SDK que ofrece un conjunto de funciones y clases predefinidas en dos lenguajes: C# y Node.js. Las acciones para cada intento del usuario deben crearse desde el lado de la aplicación, lo que significa que los miembros del equipo que no sean técnicos podrían tener dificultades para colaborar. Tiene algunas herramientas muy útiles, como Bot Directory, un repositorio con un montón de ejemplos de chatbots ya creados y Bot Emulator, un emulador que hace muy fácil probar el funcionamiento del chatbot.

Requiere que los usuarios inicien sesión con una cuenta de Azure, desde ahí los desarrolladores pueden utilizar el Azure Bot Service como un recurso para construir, probar, implementar y conectar chatbots. Puedes utilizar también el IDE integrado de Microsoft directamente para escribir tu código.

Despliegue el plataformas de mensajería

Microsoft Bot Framework tiene Bot Connector, un servicio que permite desplegar tu chatbot en muchísimos canales, entre ellos Facebook Messenger, Skype, Teams, Slack y Telegram.

Entendimiento de lenguaje natural

Microsoft creó LUIS (Language Understanding Intelligent Service) para proporcionar su propio servicio de procesamiento de lenguaje natural desde Bot Builder y también para su asistente personal, Cortana. Como punto distintivo, LUIS permite que los bots que hagas se aprovechen de recursos de una biblioteca enorme de conocimientos de NLP.

2 · Dialogflow

Es el servicio de procesamiento y entendimiento de lenguaje natural de google, con menos herramientas que su competidor de Microsoft, pero eso no siempre es necesariamente malo, Dialogflow es más ligero y sencillo y te da justo lo que necesitas:

Herramientas de desarrollo

Dialogflow tiene un SDK en múltiples lenguajes de programación, soporte para varios idiomas y edición de código en línea. Ofrece dos APIs muy útiles:

  • Detect Intent API para consultar la intención del usuario en un texto desde cualquier medio externo.
  • Agent API para cambiar dinámicamente tu agente, pudiendo crear intenciones a convenniencia sin tener que utilizar la interfaz web.

Además puedes alojar tu bot en Google Cloud y ampliar su funcionalidad aprovechando todas las herramientas de esta plataforma. Por ejemplo puedes utilizar AutoML para cargar un dataset de conversaciones y hacer que tu chatbot aprenda de ellas.

Un punto importante a destacar aquí es Chatbase. Google ya es un experto en análisis web y de usuarios gracias a su plataforma Google Analytics y con Chatbase provee una funcionalidad y visibilidad similares pero para chatbots, proporcionando información sobre cómo, cuándo y quién está usando tu chatbot.

Despliegue en plataformas de mensajería

Con la función de integraciones puedes desplegar tu chatbot en un montón de plataformas al igual que su competidor de Microsoft, pero lo más destacable de Dialogflow en este aspecto es que te permite convertir tu chatbot en un voicebot integrándolo con Google Assistant y además puedes exportar el modelo de tu bot para que sea compatible con Alexa, y aunque esta última opción no es perfecta, puede ahorrarte mucho trabajo a la hora de hacer un chatbot multiplataforma. Solo utilizando Dialogflow puedes hacer un chatbot que funciona en las principales plataformas de mensajería, en una de las principales plataformas de voz y que además te hace más fácil el desarrollo de tu skill de Alexa.

Entendimiento de lenguaje natural

Esta es la parte principal de Dialogflow, su servicio de entendimiento de lenguaje natural es muy fácil de usar, en gran parte por lo sencilla e intuitiva que es su interfaz, crear una conversación es muy rápido y hay muchas opciones por defecto que puedes reutilizar. Un herramienta interesante que provee es el Knowledge Connector, que permite a tu chatbot escanear documentos y artículos para dar respuestas automatizadas, aunque esta opción solo funciona en bots en inglés de momento.

3 · Amazon Lex

Lex es la solución de Amazon para competir en el sector de los chatbots, a pesar de ser los líderes del mercado en voicebots con Alexa, tener un servicio para plataformas de texto es muy importante para no quedarse atrás.

Herramientas de desarrollo

Los bots creados con Lex se pueden integrar sin problemas con el Kit de habilidades de Alexa (ASK), que contiene decenas de miles de skills con cualquier cosa que los desarrolladores le enseñen a hacer más allá de su funcionalidad por defecto. Puedes exportar su esquema directamente a ASK, creando una versión de tu bot que puede comunicarse a través de la voz sin ningún paso de desarrollo adicional. Además hay un SDK en muchos lenguajes de programación diferentes y un montón de tutoriales, cursos y webinars que facilita Amazon de forma gratuita.

Los desarrolladores pueden usar la consola de administración de AWS para acceder a Lex y crear, almacenar bots y alojarlos en la nube de Amazon con Amazon Lambda de forma muy sencilla y práctica.

Despliegue en plataformas de mensajería

Amazon Lex permite desplegar un chatbot en menos plataformas que sus competidores, las dos más destacables aquí son Facebook Messeger y Slack, pero en lo que destaca más es en las capacidades de voz. Un bot creado con Lex puede integrarse fácilmente con Alexa, el asistente de voz más popular (Alexa mantiene una ventaja de cuota de mercado de tres a uno contra Google Home, el competidor líder más cercano). Esto permite a los desarrolladores crear bots que pueden procesar automáticamente la entrada de voz o texto de manera intercambiable.

Entendimiento de lenguaje natural

La interfaz de Amazon Lex para crear diálogos es más básica que que la de Dialogflow y Bot Framework y tiene menos herramientas, pero es completamente funcional y más fácil de usar para principiantes.

Conclusión

Estos tres frameworks cubren la mayoría de necesidades a la hora de desarrollar un chatbot:

  • Si perteneces a una gran corporación, necesitas una solución completa y robusta y tu target principal son las plataformas de mensajería de texto, sin duda la mejor opción es el Bot Framework de Microsoft.
  • Si prefieres un servicio más ligero pero muy funcional y tu interés está más orientado hacía un chatbot multiplataforma con texto y voz, tu mejor opción es Dialogflow.
  • Y si no quieres complicar mucho el desarrollo, necesitas solo las herramientas de entendimiento de lenguaje natural básicas y buscas las plataformas de mensajería más comerciales tanto de texto (Facebook Messenger) como de voz (Alexa), tu mejor opción es sin duda Amazon Lex.

El ecosistema de los chatbots no deja de evolucionar y está en constante cambio, cada vez hay más servicios y soluciones que facilitan su desarrollo y hay muchas más plataformas y frameworks en el mercado, sin duda alguna de ellas merecen una mención, ¡échales un vistazo!

Por Pablo Verdugo

Backend Engineer en Swapcard.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *