Comparar o Dialogflow e o Botpress é assustador e uma perda de tempo. Ambos os ecossistemas de criação de chatbots têm inúmeras funcionalidades e formas diferentes de fazer as coisas, o que torna as comparações entre eles complicadas, mesmo para as pessoas do sector. Se estiver a decidir entre os dois para o seu próximo projeto, existe apenas um fator real que o pode forçar a optar por um ou outro, dependendo dos seus requisitos (Botpress não é um SaaS e o Dialogflow é alojado). Na maior parte dos casos, verá que ambas as opções são legítimas, mas poderá ter uma preferência.
Para o ajudar a compreender como é construir um bot com o Dialogflow ou Botpress, elaborei uma lista de pontos importantes e tirei screenshots para que possa visualizar as diferenças práticas. Concentrei-me em: facilidade geral de uma plataforma, integração e trabalho com novos membros da equipa, realização de acções comuns e gestão de coisas em escala.
É importante notar que, até certo ponto, quando se opta pelo Dialogflow, o que se está realmente a fazer é investir na plataforma Google Cloud , por isso agrupei o Dialogflow ES (essencial) e o CX (experiência do cliente). Além disso, para ser justo, farei uma comparação com Botpress Enterprise, para garantir que a comparação é feita com soluções pagas.
TLDR
Para um bot de estilo puro de FAQ, o Dialogflow ES fará o trabalho! Para ter controlo total sobre as suas capacidades e dados, precisa de ir para Botpress Enterprise e auto-hospedar-se. Caso contrário, o Dialogflow CX e Botpress podem lidar bem com a maioria dos projectos e os três têm capacidades semelhantes de compreensão da linguagem. O Dialogflow CX tem, em geral, um pouco mais de funcionalidades e tem o polimento do Google, enquanto o Botpress é mais fácil de compreender e de trabalhar. É difícil comparar os preços, uma vez que os Dialogflows têm um preço por mensagem (sendo o CX muito mais caro do que o ES) e o modelo de preços do Botpressé mais orientado para o serviço.
Quadro comparativo das diferenças
Comparação completa
Adicionar botões e opções
Os botões, as escolhas e as sugestões são fantásticos porque permitem que os utilizadores saibam quais são as opções e facilitam a escolha do que pretendem. Mesmo em chamadas telefónicas, as opções podem ajudar os utilizadores a navegar pelos menus. Noutras plataformas baseadas em texto que não suportam botões, as abreviaturas podem facilitar a resposta.
Fluxo de diálogo ES
- Os tipos de resposta predefinidos no Dialogflow ES não contêm nada que se assemelhe a botões!
- Quando você seleciona uma plataforma como o Slack que suporta a funcionalidade semelhante a um botão, é possível ver os tipos de resposta incorporados a ela. O Slack tem Imagem, Cartão e Respostas rápidas que a opção padrão (sem plataforma) não tem.
- As respostas rápidas e os cartões são formas fáceis de adicionar botões no Slack.
- No emulador de conversação, uma pré-visualização específica da plataforma mostra a diferença entre os dois. É conveniente ter isto no próprio Dialogflow.
- Pode adicionar facilmente hiperligações ou texto. As respostas rápidas têm os seus valores iguais ao texto. Os valores são utilizados para a deteção de intenções de compreensão de linguagem natural.
- Existem duas formas de lidar com as respostas. A primeira é criar uma intenção com frases de treino semelhantes às utilizadas no Cartão/Resposta Rápida. O Dialogflow captura-a e envia o utilizador para a resposta.
- O segundo método consiste em utilizar fulfillments, uma forma elegante de dizer acções executadas posteriormente. Especificamente, os webhooks do fulfillment significam apenas: tratar a resposta com código.
- Infelizmente, tem de aceder a uma página diferente para tratar de todas as suas encomendas.
1 de 8
Nesta altura, terá de utilizar as funções do Google cloud ou o seu próprio servidor para gerir a lógica personalizada. Existe um editor de código integrado, mas é bastante limitado. Serve para uma ou duas acções, mas não convém ter todo o seu código aqui.
Se estiver a planear suportar várias plataformas, incluindo a Web, terá de criar respostas para cada tipo. O lado positivo é que é menos provável que haja falhas. Por outro lado, terá mais trabalho repetido. As pré-visualizações específicas da plataforma são óptimas para testes. É difícil ir de uma intenção para outra, para ver o que clicar num botão realmente faz. Se a resposta lidar com código, também é difícil ver o que está a acontecer, mesmo que seja apenas para ter uma perspetiva geral do que está a acontecer.
Fluxo de diálogo CX
O Dialogflow CX lida com os botões de forma semelhante e diferente ao mesmo tempo.
- Numa página, é necessário editar o preenchimento. Pense nisto como acções que acontecem dentro desta página (posição do utilizador na conversa).
- O menu para adicionar Opções de Diálogo. O texto é simples, mas não existe uma opção clara para os botões.
- A opção "Carga útil personalizada" é o que precisa se quiser adicionar botões. Não é muito intuitiva.
- Por exemplo, é assim que se adicionam botões / fichas. Terá de navegar na documentação.
- Se clicar no botão do agente de teste e o experimentar, obtém algo como isto. Não há botões, nem forma de ver o aspeto do botão em diferentes plataformas. Não é muito útil!
- Para testar os seus fluxos, vá a gerir, depois a integrações e, em seguida, ao botão de ligação do Dialogflow messenger.
- Ativar e, em seguida, clicar em Concluído
- Clique no botão subtil "Try it now" (Experimente agora), depois abra o balão de chat no canto inferior direito e experimente as suas consultas. Parece que, se quiser experimentar de forma mais conveniente, tem de criar um ficheiro html e adicionar o código que lhe é fornecido.
1 de 8
Boa sorte para descobrir esta questão! A interface do utilizador não torna isto óbvio, e a procura da resposta produzirá resultados para soluções baseadas em código e para o Dialogflow ES. As respostas ricas são poderosas, mas por alguma razão não receberam um tratamento GUI adequado. Esta é uma solução baseada em código com a qual é forçado a lidar numa interface gráfica. Por fim, testar isto no emulador não mostra como ficaria em plataformas diferentes, como o Dialogflow ES, ou como ficaria no webchat.
Botpress v12
- No menu do lado esquerdo, arraste e largue o ícone de escolha.
- As perguntas podem ser reutilizadas, pelo que existe um seletor
- Seleção de perguntas e respostas. Repare na opção de desativar o texto livre. Claro que isto só funciona em plataformas que o permitam.
- Depois de criar ou selecionar o par pergunta/resposta, é isto que se vê.
- A secção avançada permite-lhe apresentar uma pergunta um determinado número de vezes se o utilizador escrever uma resposta sem correspondência.
- No editor de fluxo, pode visualizar e tratar facilmente as consequências da escolha. Em caso de falha é para quando o utilizador atinge o número máximo de respostas incorrectas.
- Se não pretender forçar uma escolha a um utilizador, mas simplesmente dar-lhe sugestões, defina o número máximo de tentativas para 0 e, em seguida, detecte a entrada do utilizador no elemento "User_failed_input" que desencadeia "On failure".
1 de 7
Em geral, fazer escolhas obrigatórias é fácil em Botpress quando se sabe como e é fácil de visualizar. Dar sugestões é menos intuitivo e parece uma utilização não planeada da funcionalidade da capacidade de escolha. O facto de os botões serem multiplataforma pode poupar-lhe tempo se estiver a planear suportar várias plataformas.
Comparação
Botpress é pouco intuitivo neste caso, uma vez que é necessário utilizar a capacidade de escolha, mesmo que se pretenda mostrar sugestões. A vantagem é a validação; pode forçar o utilizador a responder a uma das opções. Separar a funcionalidade de sugestão da competência de escolha pode ajudar a tornar isto mais fácil. O Dialogflow ES é um pouco mais fácil. O problema é que não existe uma funcionalidade de botão para todas as plataformas de suporte. É necessário abrir o separador específico da plataforma para experimentar. É moderadamente difícil de encontrar. O Dialogflow CX é o perdedor aqui, sem uma forma baseada na GUI de adicionar botões. Nem tudo é melhor com código, e é um pouco difícil de entender porque é que eles optaram por esta solução. Embora o Botpress e o Dialogflow ES pudessem tornar mais claro como adicionar botões, o Botpress oferece botões e validação convenientes entre plataformas, enquanto o Dialogflow ES torna muito mais fácil ter sugestões.
Visualização do fluxo de pressão dos botões
Botpress leva a melhor aqui. Porque a sua solução de ajuste único facilita a visualização do que acontece depois de um botão ter sido clicado. Os botões do Dialogflow oferecem uma funcionalidade de ligação conveniente, mas em termos de fluxo de conversação, isto pode ser difícil de visualizar. O Dialogflow ES não tem um fluxo visual como o Dialogflow CX ou Botpress, o que também dificulta a sua visualização.
Testar os botões
Botpress O Botpress assume que tudo será semelhante e, por isso, mostra apenas uma vista geral, enquanto o Dialogflow assume que tudo é diferente e mostra cada versão separadamente. Por alguma razão, o Dialogflow CX parece ter seguido o caminho de o emulador predefinido não mostrar nenhuma das versões, mostrando em vez disso os dados. Isto é bastante inconveniente, tanto quando se desenvolve para uma única plataforma, como para várias plataformas. É um exemplo de que o CX não é apenas uma versão actualizada do ES.
Capacidades de compreensão de linguagem natural
As soluções dos criadores de chatbots costumam vangloriar-se da NLU (Natural Language Understanding), mas como é que isso se traduz na criação de conversas? Há duas perguntas que deve fazer sobre a NLU se estiver a planear utilizá-la. Suporta a linguagem X e como é que a suporta?
Geralmente, há duas coisas que podem correr mal com a NLU. O motor detecta algo quando não devia (falso positivo) ou não detecta algo quando devia (falso negativo). Na prática, a solução para ambos os problemas é dar ao motor de aprendizagem automática mais exemplos e contra-exemplos. Quando ambos os motores têm parâmetros de referência semelhantes, a diferença é que, provavelmente, terá de adicionar um pouco mais de frases de exemplo para cobrir casos extremos ao motor menos preciso para que este seja tão preciso. Isto pode nem sequer ser o caso, dependendo do tópico que está a tentar analisar.
Botpress O código-fonte aberto oferece menos motores de linguagem do que o Dialogflow quando utilizado localmente (12 prontos a utilizar). Se pretender utilizar um idioma que não seja um dos 12, também pode utilizar um modelo FastText (código aberto do Facebook com lista de idiomas encontrada aqui) para NLU e, se precisar de ajustar o seu modelo de idioma, pode fazê-lo. Também pode utilizar o motor Dialogflow para a sua NLU se não se importar que o Google aloje os seus dados. Não se trata de uma coisa ou outra. Ambas as plataformas estão sempre a melhorar neste domínio. Uma vez que o Botpress pode utilizar o Dialogflow para NLU, a comparação justa é o que é que o Botpress NLU pode fazer que o Dialogflow NLU não pode.
É provável que a NLU numa língua popular seja de qualidade igualmente boa em ambas as plataformas, e as línguas menos populares serão mais problemáticas.
Dito isto, se espera suporte hebraico ou árabe, tenha em atenção que, neste momento, o Dialogflow ES não suporta essas línguas.
Reconhecer os elementos da frase
Normalmente, a compreensão da linguagem natural divide-se em dois componentes: a deteção de intenções e o reconhecimento de entidades. Pode pensar-se nas intenções como frases e nas entidades como uma parte de uma frase que se pretende compreender. As datas, as horas e a localização são entidades.
Tomemos esta frase como exemplo para ilustrar: "Find tickets from Tokyo to New York on June 11th". A intenção é comprar um bilhete de avião e a frase em si é designada por expressão. Normalmente, uma intenção terá muitos enunciados para alimentar o motor de aprendizagem automática. Tóquio, Nova Iorque e 11 de junho são entidades. Os bilhetes não são uma entidade porque esta estrutura de frase não funcionaria com algo que não fossem bilhetes de avião. No entanto, poderia tê-lo como uma entidade se tivesse uma intenção de "comprar algo". Cabe-lhe a si decidir o que quer extrair!
O Dialogflow e o Botpress têm mais ou menos o mesmo tipo de funcionalidade, com alterações na experiência do utilizador e opções prontas a utilizar.
Fluxo de diálogo ES
Para criar uma entidade no Dialogflow ES, pode atribuí-la primeiro ou adicioná-la depois de ter escrito os seus enunciados.
- Para criar uma entidade a partir da expressão de uma intenção, basta selecionar a parte que pretende (neste caso, #14147) e aparece uma janela de contexto.
- Existem muitas opções predefinidas.
- Quando a pesquisa não dá em nada, o botão criar novo é conveniente.
- "Permitir expansão automática" permite que o utilizador escreva algo como "maçã, pera, banana", e a NLU pode fazer corresponder "laranjas" também.
- Depois de ter definido as suas entidades, e ao criar um enunciado, o Dialogflow marcará automaticamente o conteúdo. Neste caso, a etiquetagem automática foi um pouco excessiva, mas é mais fácil remover a etiqueta do que adicioná-la, por isso está tudo bem.
1 de 5
Fluxo de diálogo CX
- Curiosamente, o Dialogflow CX não segue o Dialogflow ES no que diz respeito às entidades. O botão de nova entidade está em falta, pelo que terá de ir a outro sítio para o adicionar.
- Em vez disso, aparece isto no fundo da página de intenções. "Is list" permite-lhe colocar uma série de valores (maçãs, pêras e bananas), e "Redact in log" (Reduzir no registo), é para os programadores esconderem informações sensíveis como números de cartões de crédito nos seus registos.
- Na página de entidades do Dialogflow CX, pode criar entidades. É essencialmente o mesmo que no Dialogflow ES, mas numa ordem diferente. A principal exceção é a opção "Redigir no registo" que se encontra em avançado.
- Isto é algo exclusivo do Dialogflow CX.
1 de 4
A correspondência difusa e as entidades adicionadas automaticamente causam o problema dos falsos positivos. Por exemplo, se quiser detetar frutos redondos como maçãs, pêras e melões, e selecionar essa opção, as bananas também corresponderão, apesar de não serem redondas. As exclusões de entidades podem ser utilizadas para ter em conta este facto, embora a nomeação de todos os frutos não redondos seja impraticável. A sua quilometragem pode variar.
Botpress v12
- A criação de uma entidade em Botpress é bastante simples, mas não é efectuada em tempo real.
- Destacar algo não lhe dá a opção de criar uma nova etiqueta como faz o Dialogflow ES. Pelo menos, pode premir o número no seu teclado (neste caso, 0), para marcar rapidamente tudo.
- Se quiser marcar algo, tem de criar primeiro uma ranhura. Isto é diferente do Dialogflow.
1 de 3
Comparação
As entidades são abstractas para todos, e nenhuma plataforma as torna tão intuitivas como as intenções. Os utilizadores precisam de pesquisar por si próprios ou de o descobrir nas documentações/tutoriais. Esta é uma ação que muitas vezes requer programadores. Isso deve-se ao facto de muitas entidades personalizadas, como os números de encomenda, necessitarem de expressões regulares.
A correspondência difusa no Dialogflow parece ligeiramente mais poderosa, porque também faz a correspondência difusa de palavras reordenadas, mas a menos que a língua permita que as palavras sejam reordenadas, isto não parece ser muito útil.
A verdadeira diferença entre o Dialogflow e o Botpress é a expansão automática. Pode fornecer uma lista de sinónimos e o Dialogflow continuará a ser capaz de compreender. Dada uma lista de compras: maçãs, pêras, bananas, como exemplos de entidades, e a frase "Quero comprar mangas", o Botpress não a detectará corretamente e o Dialogflow sim. É possível resolver isto adicionando mais excepções, mas isso dá mais trabalho. Isto também cria um novo problema, uma vez que agora corre o risco de detetar em excesso. O campo de exceção no Dialogflow CX foi concebido para lidar com isto. Em geral, uma vez que é opcional, a sua inclusão é uma vantagem a favor dos fluxos de diálogo.
Para um utilizador médio, o Dialogflow ES ganha por ter o maior número de opções predefinidas, expansão automática e marcação mais conveniente.
Dialogflow CX, ganha em listas de entidades na frase. Pode fazer isto em Botpress , mas é consideravelmente mais complicado. O Dialogflow CX também ganha com a sua caraterística de esconder informações dos registos, o que pode ou não ser importante, dependendo do seu caso de utilização, mas isto é apenas uma vitória sobre o Dialogflow ES, uma vez que tem controlo total sobre Botpress.
No Dialogflow, as entidades são automaticamente marcadas e o utilizador pode modificar o nome se quiser diferenciar. De alguma forma, isso é mais e menos intuitivo ao mesmo tempo, mas para as pessoas que estão a começar, é menos uma coisa com que se preocupar. Em Botpress, as entidades têm de ser criadas primeiro, antes de o utilizador as poder marcar nos enunciados.
Implantação de produção pronta chatbots
Poderia dizer que o Botpress tem de ser alojado por si e que o Dialogflow já está alojado para si, mas isso não seria a imagem correcta. Na prática, a Botpress Enterprise oferece serviços de alojamento, e é provável que necessite de alguma implementação com o Dialogflow. Porquê? Porque, embora o Dialogflow possa ser totalmente executado a partir do cloud, no momento em que pretender adicionar funcionalidades personalizadas, terá de as implementar você mesmo, no sugerido Google Cloud ou noutro local.
Fluxo de diálogo ES
Desde que não esteja a adicionar funcionalidades personalizadas, como a obtenção de informações de encomendas a partir de uma base de dados remota, não necessitará de implementação de código, mas ainda há a implementação da versão do bot para fazer (tudo em cloud).
- Quando estiver pronto para implementar, aceda às definições e clique em "Publicar uma versão".
- Dê-lhe um nome, como Initial release ou v1.0.
- Pode chamar ao seu ambiente "Produção". A opção de cumprimento da função Cloud é a mesma que o Webhook, mas integrada no Google Cloud.
- Na página Integrações, seleccione a integração que pretende e, em seguida, pode selecionar o ambiente que criou. E pronto!
1 de 4
Para implantar seu código personalizado, você pode escolher outra plataforma, mas toda a documentação apontará para o uso da funcionalidade sem servidor do Google Cloud. Você usará essa API para implantar seu código.
Na realidade, se o seu bot for um pouco complexo, vai aceder a uma API e, se o fizer, vai precisar de código personalizado. Embora isto seja feito de forma simples (carregue o seu código com um comando), se quiser fazer qualquer tipo de testes de usabilidade antes de alterar o seu código, então terá provavelmente de criar uma cópia do seu agente no Dialogflow ES para testar. Não há uma maneira fácil de contornar isso.
Dialogflow CS
Isto é muito semelhante ao Dialogflow ES.
- Primeiro, é necessário criar uma versão para o ambiente.
- O Dialogflow CX tem uma organização quase idêntica à do Dialogflow ES depois de criar uma versão. Crie um ambiente (neste caso, Produção) e, em seguida, navegue para Integrações.
- Na página Integrações, pode mais uma vez selecionar produção para implementar. Tal como no Dialogflow ES, para implementar o seu código personalizado, pode escolher outra plataforma, mas toda a documentação aponta para a utilização da funcionalidade sem servidor do Google Cloud.
- É assim que se liga às suas funções no Dialogflow CX. Não existe um atalho para as funções do Google Cloud como no Dialogflow ES, mas pode usar todas as mesmas.
Botpress v12
A implementação de Botpress é normalmente feita pelo utilizador para manter a propriedade dos dados, mas Botpress pode alojar ou ajudar com o alojamento, dependendo das suas necessidades. No momento em que este texto foi escrito, não havia nenhuma funcionalidade de hospedagem de autoatendimento. A funcionalidade personalizada é anexada às instâncias do Botpress , pelo que isto diminui um pouco a complexidade da implementação do Dialogflow. Para uma implementação escalável, vai precisar de um engenheiro de software versado em software de alojamento ou utilizar os serviços Botpress Enterprise.
Botpress O Enterprise inclui pipelines que permitem identificar e mover um bot do rascunho para a produção, mas isso requer que você já tenha hospedado uma instância pronta para produção em execução.
- Botpress fornece uma lista de verificação de produção para facilitar a implantação.
- Uma vez que as funções residem em Botpress, tudo pode ser testado em conjunto e pode passar tudo para a revisão e depois para a produção.
Para estabelecer uma ligação com uma integração, terá de seguir a documentação. A maior parte do trabalho é feita em ficheiros de configuração, pelo que será necessário um programador para tratar disso, ou o Botpress Enterprise Services.
Comparação
O Dialogflow ES é difícil de bater se não precisar de qualquer código personalizado. É intuitivo e rápido. Se precisar de implementar funções, acabará por ter um passo extra. O Dialogflow CX é ligeiramente mais difícil de implementar em ambientes de produção (um passo extra e mensagens de erro menos óbvias) e tem o mesmo problema com o código personalizado. A vantagem de utilizar a plataforma Google Cloud é que é provável que utilize funções cloud . Embora não sejam a forma mais económica de alojar código, são a forma mais fácil de ter funções altamente escaláveis.
O processo para implantar funções para o Dialogflow é criar uma nova função, hospedá-la, obter o link, atualizá-la no webhook / fulfillment do Dialogflow, testar a nova versão para ter certeza de que funciona e, em caso afirmativo, implantar a nova versão. Da primeira vez, não deve ser muito difícil, mas se pensa que vai atualizar frequentemente o seu código para corresponder à sua lógica de conversação, está a adicionar uma camada extra de complexidade. Em Botpress, o código e a lógica de conversação vivem no mesmo mundo, pelo que atualizar, testar e implementar é muito mais fácil. A desvantagem é que os programadores têm de utilizar o Nodejs, pelo que, se não estiverem familiarizados com ele, haverá uma curva de aprendizagem, dependendo do que utilizaram anteriormente. O lado positivo disso é que, em teoria, a documentação deve ser mais atualizada, já que existe apenas uma biblioteca.
Se não fosse pelo código personalizado, o Botpress seria o pior nesta categoria, porque tem mesmo de alojar algo, em vez de não o fazer. Embora o Botpress ofereça serviços de implementação, por isso, tecnicamente, não tem de fazer nada, nunca será tão conveniente como o modelo de autosserviço. O código personalizado anula a vantagem que isto confere ao Dialogflow.
Hospedar-se a si próprio tem o problema de gerir o escalonamento. É claro que, se o seu projeto não pode incluir serviços externos, então Botpress é claramente o caminho a seguir. Botpress tem documentação sobre a implementação para a sua versão de código aberto, mas não é uma arquitetura completa de escalonamento automático, como obteria com o Dialogflow.
É tudo para esta parte. Aqui está a Parte 2 de Botpress vs Dialogflow ES vs Dialogflow CX.
Partilhar isto em:
Crie o seu próprio chatbot de IA personalizado gratuitamente
Comece a criar um bot GPT personalizado com a nossa interface intuitiva de arrastar e soltar.
Começar - é grátis! 🤖Não é necessário cartão de crédito
Mantenha-se atualizado com as últimas novidades sobre IA chatbots