Comparar Dialogflow y Botpress es desalentador y una pérdida de tiempo. Ambos ecosistemas de creación de chatbot tienen innumerables funcionalidades y diferentes maneras de hacer las cosas que hacen que las comparaciones cara a cara sean complicadas, incluso para la gente de la industria. Si usted está decidiendo entre los dos para su próximo proyecto, en realidad sólo hay un factor real que puede obligar a una manera u otra en función de sus necesidades (Botpress no es un SaaS, y Dialogflow está alojado). En su mayor parte, encontrará que ambas opciones son legítimas, pero puede encontrar una preferencia.
Para ayudarte a entender cómo es crea un bot con Dialogflow o Botpress, he elaborado una lista de puntos importantes y he tomado capturas de pantalla para que puedas visualizar las diferencias prácticas. Me he centrado en: la facilidad general de una plataforma, la incorporación y el trabajo con nuevos miembros del equipo, la realización de acciones comunes y la gestión de cosas a escala.
Es importante tener en cuenta que, hasta cierto punto, cuando se opta por Dialogflow, lo que realmente se está haciendo es invertir en Google Cloud Platform, por lo que he agrupado Dialogflow ES (esencial) y CX (experiencia del cliente). Además, para ser justos, compararé con Botpress Enterprise, para asegurarme de que la comparación es para soluciones de pago.
TLDR
Para un bot de estilo FAQ puro, Dialogflow ES hará el trabajo. Para un control total sobre sus capacidades y datos, necesita ir a Botpress Enterprise y autoalojarse. Por lo demás, Dialogflow CX y Botpress pueden manejar bien la mayoría de los proyectos, y los tres tienen capacidades similares de comprensión del lenguaje. Dialogflow CX tiene, en general, un poco más de funciones y está más pulido, mientras que Botpress es más fácil de entender y de utilizar. El precio es difícil de comparar, ya que los Dialogflows tienen un precio por mensaje (CX es mucho más caro que ES), y el modelo de precios de Botpressestá más orientado al servicio.
Cuadro comparativo de diferencias
Comparación completa
Añadir botones y opciones
Los botones, las opciones y las sugerencias son maravillosos porque permiten a los usuarios saber cuáles son las opciones y les facilitan elegir lo que quieren. Incluso en las llamadas telefónicas, las opciones pueden ayudar a los usuarios a navegar por los menús. En otras plataformas basadas en texto que no admiten botones, las abreviaturas pueden facilitar la respuesta.
Dialogflow ES
- Los tipos de respuesta por defecto en Dialogflow ES no contienen nada parecido a botones.
- Cuando seleccionas una plataforma como Slack que soporta funcionalidad tipo botón, puedes ver los tipos de respuesta incorporados para ella. Slack tiene respuestas de imagen, tarjeta y rápidas que la opción predeterminada (sin plataforma) no tiene.
- Las respuestas rápidas y las tarjetas son formas sencillas de añadir botones en Slack.
- En el emulador de chat, una vista previa específica de la plataforma muestra la diferencia entre ambas. Es conveniente tener esto dentro del propio Dialogflow.
- Puedes añadir fácilmente enlaces o texto. Las respuestas rápidas tienen sus valores iguales al texto. Los valores se utilizan para la detección de intenciones de Natural Language Understanding.
- Hay dos formas de gestionar las respuestas. La primera es crear una intent con frases de entrenamiento similares a las utilizadas en la Tarjeta / Respuesta rápida. Dialogflow la captura y envía al usuario a la respuesta.
- El segundo método es utilizar fulfillments, una forma elegante de decir acciones realizadas a posteriori. En concreto, los webhooks de cumplimiento sólo significan : manejar la respuesta con código.
- Lamentablemente, tienes que ir a otra página para gestionar todos tus cumplimientos.
1 de 8
En este punto, tendrás que utilizar las funciones de google cloud , o tu propio servidor para manejar la lógica personalizada. Hay un editor de código integrado, pero es bastante limitado. Servirá en caso de apuro para una o dos acciones, pero no querrás tener todo tu código aquí.
Si tiene previsto utilizar varias plataformas, incluida la web, tendrá que crear respuestas para cada tipo. La ventaja es que es menos probable que se rompa. Por otro lado, tendrás más trabajo repetido. Las vistas previas específicas de cada plataforma son estupendas para hacer pruebas. Es difícil ir de intento en intento, para ver lo que realmente hace al pulsar un botón. Si la respuesta maneja código, también es difícil ver lo que está sucediendo, incluso sólo para tener una perspectiva general de lo que está pasando.
Dialogflow CX
Dialogflow CX maneja los botones de forma similar y diferente al mismo tiempo.
- En una página, es necesario editar el cumplimiento. Piense en ello como acciones que ocurren dentro de esta página (posición del usuario en la conversación).
- El menú para añadir Opciones de diálogo. El texto es sencillo, pero no hay una opción clara para los botones.
- La opción "Carga útil personalizada" es lo que necesitas si quieres añadir botones. No es muy intuitiva.
- Por ejemplo, así es como se añaden botones / fichas. Usted tendrá que navegar por la documentación.
- Si haces clic en el botón de agente de pruebas y lo intentas, obtienes algo como esto. No hay botones, no hay manera de ver cómo se vería el botón en diferentes plataformas. No es muy útil.
- Para probar sus flujos, vaya a gestionar, luego a integraciones y, por último, al botón de conexión de Dialogflow messenger.
- Habilitar, luego haga clic en hecho
- Haz clic en el sutil botón "Pruébalo ahora", luego abre la burbuja de chat de la parte inferior derecha y prueba tus consultas. Parece que si quieres probarlo más cómodamente, tienes que crear un archivo html y añadir el código que te dan.
1 de 8
Buena suerte con esto. La interfaz de usuario no lo hace obvio, y la búsqueda de la respuesta le dará resultados para las soluciones basadas en código y para Dialogflow ES. Las respuestas enriquecidas son potentes, pero por alguna razón no se les ha dado un tratamiento GUI adecuado. Se trata de una solución basada en código que se ve obligada a tratar en una GUI. Por último, probar esto en el emulador no muestra cómo se vería para diferentes plataformas como Dialogflow ES, o cómo se ve en webchat.
Botpress v12
- Desde el menú de la izquierda, arrastra y suelta el icono de elección.
- Las preguntas pueden reutilizarse, por lo que existe un selector
- Elegir preguntas y respuestas. Fíjate en lo de desactivar el texto libre. Esto, por supuesto, sólo funciona en plataformas que lo permiten.
- Después de crear o seleccionar el par pregunta / respuesta esto es lo que verá.
- La sección avanzada le permite dar un aviso un número determinado de veces si el usuario escribe una respuesta no coincidente.
- En el editor de flujo, puede visualizar y manejar fácilmente las consecuencias de la elección. Al fallar es para cuando el usuario llega al máximo de respuestas incorrectas.
- Si no desea forzar una elección en un usuario, sino simplemente darle sugerencias, establezca el número máximo de reintentos en 0 y luego detecte la entrada del usuario en el elemento "User_failed_input" que activa "Al fallar".
1 de 7
En general, hacer las elecciones requeridas es fácil en Botpress una vez que sabes cómo y fácil de visualizar. Proporcionar sugerencias es menos intuitivo y parece un uso no planificado de la funcionalidad de la habilidad de elección. El hecho de que los botones sean multiplataforma puede ahorrarte tiempo si estás planeando dar soporte a múltiples plataformas.
Comparación
Botpress es algo poco intuitivo aquí, en el sentido de que necesitas usar la habilidad de elección, incluso si quieres mostrar sugerencias. La ventaja es la validación; puedes forzar al usuario a responder a una de las opciones. Separar la funcionalidad de sugerencia de la habilidad de elección podría ayudar a hacer esto más fácil. Dialogflow ES es algo más sencillo. El problema es que no hay funcionalidad de botón para todas las plataformas compatibles. Es necesario abrir la pestaña específica de la plataforma para probarlo. Es moderadamente difícil de encontrar. Dialogflow CX es el perdedor aquí, sin una forma basada en GUI de añadir botones. No todo es mejor con código, y es un poco difícil de entender por qué tomaron este camino. Mientras que tanto Botpress como Dialogflow ES podrían dejar más claro cómo añadir botones, Botpress ofrece cómodos botones multiplataforma y validación, mientras que Dialogflow ES hace que sea mucho más fácil tener sugerencias.
Visualización del flujo de pulsación de botones
Botpress se lleva la palma. Su solución de ajuste único facilita la visualización de lo que sucede después de hacer clic en un botón. Los botones de Dialogflow ofrecen una práctica funcionalidad de enlace, pero en términos de flujo de conversación, esto puede ser difícil de visualizar. Dialogflow ES no tiene un flujo visual como Dialogflow CX o Botpress, por lo que también resulta difícil.
Probar los botones
Botpress y Dialogflow ES tienen estrategias opuestas en el emulador. Botpress asume que todo será similar, por lo que sólo le muestra una vista general, y Dialogflow asume que todo es diferente, y le muestra cada versión por separado. Por alguna razón, Dialogflow CX parece haber tomado el camino de que el emulador por defecto no te muestre ni lo uno ni lo otro, y en su lugar te muestre los datos. Esto es bastante inconveniente, tanto cuando se desarrolla para una sola plataforma, como para múltiples plataformas. Es un ejemplo de que CX no es sólo una versión mejorada de ES.
Capacidad de comprensión del lenguaje natural
Las soluciones de los creadores de chatbots suelen presumir de un NLU (Natural Language Understanding, comprensión del lenguaje natural) líder en el sector, pero ¿cómo se traduce esto en la creación de conversaciones? Hay dos preguntas que deberías hacerte sobre el NLU si estás pensando en utilizarlo. ¿Es compatible con X idioma y en qué medida?
En general, hay dos cosas que pueden ir mal con NLU. El motor detecta algo cuando no debería (falso positivo), o no detecta algo cuando debería (falso negativo). En la práctica, la solución a ambos problemas es dar al motor de aprendizaje automático más ejemplos y contraejemplos. Cuando ambos motores tienen puntos de referencia similares, la diferencia es que probablemente tendrás que añadir un poco más de frases de ejemplo para cubrir casos extremos al motor menos preciso para que sea igual de preciso. Puede que ni siquiera sea el caso, dependiendo del tema que estés tratando de descifrar.
Botpress open source ofrece menos motores de lenguaje que Dialogflow cuando se utiliza localmente (12 fuera de la caja). Si desea utilizar un idioma que no es uno de los 12, también puede utilizar un modelo FastText (Facebook Open Source con lista de idiomas que se encuentra aquí) para NLU, y si necesita ajustar su modelo de lenguaje, puede hacerlo. También puedes utilizar el motor Dialogflow para su NLU si te parece bien que Google aloje tus datos. No es lo uno o lo otro. Ambas plataformas están siempre mejorando. Dado que Botpress puede utilizar Dialogflow para NLU, la comparación justa es qué puede hacer Botpress NLU que Dialogflow NLU no pueda.
Es probable que el NLU en un idioma popular tenga una calidad similar en ambas plataformas, y los idiomas menos populares darán más problemas.
Dicho esto, si espera compatibilidad con el hebreo o el árabe, tenga en cuenta que, en este momento, Dialogflow ES no admite esos idiomas.
Reconocer los elementos de la oración
Normalmente, la comprensión del lenguaje natural se divide en dos componentes: la detección de intenciones y el reconocimiento de entidades. Se puede pensar en las intenciones como frases, y en las entidades como una parte de una frase que se desea comprender. Fechas, horas y lugares son entidades.
Tomemos esta frase como ejemplo: "Buscar billetes de avión de Tokio a Nueva York el 11 de junio". La intención es comprar un billete de avión, y la frase en sí se denomina enunciado. Una intención suele tener muchas expresiones para alimentar el motor de aprendizaje automático. Tokio, Nueva York y 11 de junio son entidades. Los billetes no son una entidad porque esta estructura de frase no funcionaría realmente con otra cosa que no fueran billetes de avión. Sin embargo, podría ser una entidad si tuviera la intención de "comprar algo". Tú decides qué quieres extraer.
Dialogflow y Botpress tienen más o menos el mismo tipo de funcionalidad, con cambios en la experiencia del usuario, y opciones preparadas.
Dialogflow ES
Para crear una entidad en Dialogflow ES puede asignarlas primero, o añadirlas después de haber escrito sus enunciados.
- Para crear una entidad a partir del enunciado de una intención, simplemente resalte la parte que desee (en este caso #14147) y aparecerá una ventana emergente.
- Hay muchas opciones predeterminadas.
- Si la búsqueda no da resultados, el botón "Crear nuevo" resulta muy práctico.
- "Permitir expansión automática" permite al usuario escribir algo como "manzana, peras, plátanos", y el NLU podría coincidir también con "naranjas".
- Una vez que haya definido sus entidades, y al crear una expresión, Dialogflow etiquetará automáticamente el contenido. En este caso, el etiquetado automático fue un poco entusiasta, pero es más fácil quitar la etiqueta, que añadirla, así que todo está bien.
1 de 5
Dialogflow CX
- Curiosamente, Dialogflow CX no sigue a Dialogflow ES en lo que se refiere a entidades. Falta el botón de nueva entidad, por lo que tendrá que ir a otro sitio para añadirla.
- En su lugar, aparece esto al final de la página de intención. "Is list" te permite poner una serie de valores (manzana, peras y plátanos), y "Redact in log", es para que los desarrolladores oculten información sensible como números de tarjetas de crédito en sus registros.
- En la página de entidades de Dialogflow CX, puede crear entidades. Es esencialmente lo mismo que en Dialogflow ES, pero en un orden diferente. La principal excepción es la opción "Redactar en el registro" que se encuentra en avanzado.
- Esto es algo exclusivo de Dialogflow CX.
1 de 4
La coincidencia difusa y las entidades añadidas automáticamente provocan el problema de los falsos positivos. Por ejemplo, si desea detectar frutas redondas como manzanas, peras y melones, y selecciona esa opción, los plátanos también coincidirían, a pesar de no ser redondos. Se pueden utilizar exclusiones de entidades para tener esto en cuenta, aunque nombrar todas las frutas no redondas sería poco práctico. El resultado puede variar.
Botpress v12
- Crear una entidad en Botpress es bastante sencillo, pero no se hace sobre la marcha.
- Resaltar algo no le da la opción de crear una nueva etiqueta como hace Dialogflow ES. Al menos puede pulsar el número en su teclado (en este caso 0), para etiquetar rápidamente todo.
- Si desea etiquetar algo, primero debe crear una ranura. Esto es diferente de Dialogflow.
1 de 3
Comparación
Las entidades son abstractas para todos, y ninguna plataforma hace que sea un concepto tan intuitivo como los intentos. Los usuarios tienen que buscar por sí mismos, o descubrirlo en las documentaciones / tutoriales. Esta es una acción que muy a menudo requerirá Desarrolladores. Esto se debe a que muchas entidades personalizadas como los números de pedido requerirán Expresiones Regulares.
La concordancia difusa en Dialogflow parece un poco más potente, porque también concuerda difusamente con palabras reordenadas, pero a menos que el lenguaje permita reordenar las palabras, esto no parece ser muy útil.
La verdadera diferencia entre Dialogflow y Botpress es la expansión automática. Puede proporcionar una lista de sinónimos y Dialogflow seguirá siendo capaz de entenderla. Dada una lista de la compra: manzanas, peras, plátanos, como ejemplos de entidades y la frase "Quiero comprar mangos", Botpress no la detectará correctamente, y Dialogflow sí. Se puede solucionar añadiendo más excepciones, pero eso supone más trabajo. Esto también crea un nuevo problema, ya que ahora corre el riesgo de sobredetectar. El campo de excepción en Dialogflow CX está diseñado para manejar esto. En general, dado que es opcional, su inclusión es una ventaja a favor de los flujos de diálogo.
Para un usuario medio, Dialogflow ES gana por tener el mayor número de opciones por defecto, expansión automatizada y un etiquetado más cómodo.
Dialogflow CX, gana en listas de entidades dentro de la frase. Esto se puede hacer en Botpress , pero es considerablemente más complicado. Dialogflow CX también gana con su característica de ocultar información de los registros, que puede o no ser importante, dependiendo de su caso de uso, pero esto es sólo una victoria sobre Dialogflow ES, ya que tiene un control total sobre Botpress.
En Dialogflow, las entidades se etiquetan automáticamente, y el usuario puede modificar el nombre si quiere diferenciarlo. De alguna manera, eso es más y menos intuitivo al mismo tiempo, pero para la gente que empieza, es una cosa menos de la que preocuparse. En Botpress, primero hay que crear las entidades, antes de que el usuario pueda etiquetarlas en las expresiones.
Despliegue listo para la producción chatbots
Podría decir que Botpress tiene que ser alojado por usted mismo y Dialogflow ya está alojado para usted, pero eso no pintaría la imagen correcta. En la práctica, Botpress Enterprise ofrece servicios de alojamiento, y es probable que necesite algún tipo de despliegue con Dialogflow. ¿Por qué? Porque aunque Dialogflow puede ejecutarse completamente desde cloud, en el momento en que desee añadir una funcionalidad personalizada, tendrá que desplegarla usted mismo, en el sitio sugerido de Google Cloud o en cualquier otro sitio.
Dialogflow ES
Mientras no añada funciones personalizadas, como la obtención de información de pedidos de una base de datos remota, no necesitará desplegar el código, pero aún tendrá que desplegar la versión del bot (todo en cloud).
- Una vez que esté listo para desplegar, vaya a configuración y haga clic en "Publicar una versión".
- Dale un nombre, como Lanzamiento inicial o v1.0.
- Puede llamar a su entorno "Producción". La opción Cloud Function fulfilment es la misma que Webhook, pero integrada con Google Cloud.
- En la página Integraciones, seleccione la integración que desee y, a continuación, el entorno que haya creado. Ya está.
1 de 4
Para desplegar tu código personalizado, puedes elegir otra plataforma, pero toda la documentación apuntará hacia el uso de la funcionalidad serverless de Google Cloud. Utilizarás esta API para desplegar tu código.
En realidad, si su bot es un poco complejo, accederá a una API, y si al hacerlo, necesitará código personalizado. Mientras que esto se hace simplemente (cargue su código con un comando), si desea hacer cualquier tipo de pruebas de usabilidad antes de cambiar su código, entonces es probable que tenga que crear una copia de su agente en Dialogflow ES para probar contra. No hay manera fácil de evitar esto.
Dialogflow CS
Es muy similar a Dialogflow ES.
- Primero debe crear una versión para el entorno.
- Dialogflow CX tiene una organización casi idéntica a Dialogflow ES después de crear una versión. Cree un entorno (en este caso, Producción) y, a continuación, vaya a Integraciones.
- En la página Integraciones, puede seleccionar una vez más la producción para desplegar. Al igual que para Dialogflow ES, para desplegar su código personalizado, puede elegir otra plataforma, pero toda la documentación apuntará hacia el uso de la funcionalidad sin servidor de Google Cloud.
- Así es como se enlaza con sus funciones en Dialogflow CX. No hay ningún acceso directo a Google Cloud Funciones como en Dialogflow ES, pero se puede utilizar todo lo mismo.
Botpress v12
El despliegue de Botpress suele hacerlo el usuario para mantener la propiedad de los datos, pero Botpress puede alojar o ayudar con el alojamiento en función de sus necesidades. En el momento de redactar este documento, no existe ninguna funcionalidad de autoalojamiento. La funcionalidad personalizada se adjunta a las instancias de Botpress , por lo que esto disminuye un poco la complejidad del despliegue sobre Dialogflow. Para un despliegue escalable, necesitará un ingeniero de software versado en software de alojamiento, o utilizar los servicios de Botpress Enterprise.
Botpress Enterprise incluye pipelines que permiten identificar y pasar un bot de borrador a producción, pero para ello es necesario tener ya alojada una instancia lista para producción en ejecución.
- Botpress proporciona una lista de comprobación de producción para facilitar la implantación.
- Dado que las funciones viven en Botpress, todo puede ser probado en conjunto, y usted puede mover todo a la revisión, y luego a la producción.
Para conectar con una integración, tendrás que seguir la documentación. La mayor parte del trabajo se realiza en los archivos de configuración, por lo que necesitará un desarrollador que se encargue de ello, o Botpress Enterprise Services.
Comparación
Dialogflow ES es difícil de superar si no necesita código personalizado. Es intuitivo y rápido. Si necesita desplegar funciones, tendrá que realizar un paso adicional. Dialogflow CX es ligeramente más difícil de desplegar en entornos de producción (un paso adicional y mensajes de error menos evidentes), y tiene el mismo problema con el código personalizado. La ventaja de utilizar Google Cloud Platform es que es probable que utilice funciones de cloud . Aunque no son la forma más barata de alojar código, son la forma más fácil de tener funciones altamente escalables.
El proceso para desplegar funciones para Dialogflow es crear una nueva función, alojarla, obtener el enlace, actualizarla en el webhook / cumplimiento de Dialogflow, probar la nueva versión para asegurarse de que funciona, y si es así, desplegar la nueva versión. La primera vez, no debería ser demasiado de un dolor, pero si usted piensa que va a actualizar a menudo su código para que coincida con su lógica de conversación, usted está agregando una capa extra de complejidad. En Botpress, el código y la lógica de conversación viven en el mismo mundo, por lo que actualizar, probar y desplegar es mucho más fácil. El inconveniente es que los desarrolladores deben utilizar Nodejs, por lo que si no están familiarizados con él, habrá una curva de aprendizaje, dependiendo de lo que hayan utilizado previamente. La ventaja es que, en teoría, la documentación debería estar más actualizada, ya que sólo hay una biblioteca.
Si no fuera por el código personalizado, Botpress sería el peor en esta categoría, porque realmente tienes que alojar algo, en lugar de no hacerlo. Aunque Botpress ofrece servicios de despliegue, por lo que técnicamente no tiene que hacer nada, nunca será tan cómodo como el modelo de autoservicio. El código personalizado anula la ventaja que esto confiere a Dialogflow.
Alojarse uno mismo tiene el problema de gestionar el escalado. Por supuesto, si su proyecto no puede incluir servicios externos, entonces Botpress es claramente el camino a seguir. Botpress tiene documentación sobre el despliegue para su versión de código abierto, pero no es una arquitectura completa de auto-escalado, como se obtendría de ir con Dialogflow.
Eso es todo por esta parte. Aquí está la Parte 2 de Botpress vs Dialogflow ES vs Dialogflow CX.
Comparte esto en:
Construye gratis tu propio chatbot personalizado
Empieza a crear un bot GPT personalizado con nuestra intuitiva interfaz de arrastrar y soltar.
Empieza: ¡es gratis! 🤖No se necesita tarjeta de crédito
Manténgase al día sobre lo último en IA chatbots