Il confronto tra Dialogflow e Botpress è scoraggiante e richiede molto tempo. Entrambi gli ecosistemi per la creazione di chatbot hanno innumerevoli funzionalità e modi diversi di fare le cose che rendono il confronto testa a testa difficile, anche per gli addetti ai lavori. Se state decidendo tra i due per il vostro prossimo progetto, c'è solo un fattore che può costringervi a scegliere tra i due (Botpress non è un SaaS, mentre Dialogflow è in hosting). Nella maggior parte dei casi, entrambe le opzioni sono legittime, ma si può trovare una preferenza.
Per aiutarvi a capire cosa significa costruire un bot con Dialogflow o Botpress, ho stilato un elenco di punti importanti e ho realizzato degli screenshot per farvi visualizzare le differenze pratiche. Mi sono concentrato su: facilità generale di una piattaforma, onboarding e lavoro con nuovi membri del team, esecuzione di azioni comuni e gestione in scala.
È importante notare che, in una certa misura, quando si sceglie Dialogflow, si sta investendo in Google Cloud Platform, quindi ho raggruppato Dialogflow ES (essentials) e CX (customer experience) insieme. Inoltre, per correttezza, farò un confronto con Botpress Enterprise, per essere sicuro che il confronto sia tra soluzioni a pagamento.
TLDR
Per un bot in puro stile FAQ, Dialogflow ES farà al caso vostro! Per avere il pieno controllo sulle funzionalità e sui dati, è necessario passare a Botpress Enterprise e fare self-hosting. Per il resto, Dialogflow CX e Botpress possono gestire bene la maggior parte dei progetti e tutti e tre hanno capacità di comprensione del linguaggio simili. Dialogflow CX ha in generale un numero leggermente superiore di funzioni e presenta la migliore qualità di Google, mentre Botpress è più facile da capire e da utilizzare. I prezzi sono difficili da confrontare, poiché i Dialogflow hanno un prezzo per messaggio (CX è molto più costoso di ES), mentre il modello di prezzo di Botpressè più orientato al servizio.
Tabella comparativa delle differenze
Confronto completo
Aggiunta di pulsanti e scelte
I pulsanti, le scelte e i suggerimenti sono meravigliosi perché consentono agli utenti di sapere quali sono le opzioni e facilitano la scelta di ciò che desiderano. Anche nelle telefonate, le opzioni possono aiutare gli utenti a navigare nei menu. Su altre piattaforme testuali che non supportano i pulsanti, i tasti stenografici possono facilitare la risposta.
Dialogflow ES
- I tipi di risposta predefiniti in Dialogflow ES non contengono nulla che assomigli a pulsanti!
- Quando si seleziona una piattaforma come Slack che supporta una funzionalità simile a quella dei pulsanti, è possibile vedere i tipi di risposta incorporati. Slack ha immagini, biglietti e risposte rapide che l'opzione predefinita (senza piattaforma) non ha.
- Le risposte rapide e i biglietti sono modi semplici per aggiungere pulsanti in Slack.
- Nell'emulatore di chat, un'anteprima specifica della piattaforma mostra la differenza tra le due. È comodo averlo all'interno di Dialogflow stesso.
- È possibile aggiungere facilmente link o testo. Le risposte rapide hanno un valore uguale al testo. I valori sono utilizzati per il rilevamento dell'intento di Natural Language Understanding.
- Esistono due modi per gestire le risposte. Il primo consiste nel creare un intento con frasi di formazione simili a quelle utilizzate nella scheda/risposta rapida. Dialogflow lo cattura e invia l'utente alla risposta.
- Il secondo metodo consiste nell'utilizzare i fulfillment, un modo elegante per dire le azioni eseguite in seguito. In particolare, i webhook di fulfillment significano semplicemente: gestire la risposta con un codice.
- Purtroppo è necessario andare su un'altra pagina per gestire tutti gli adempimenti.
1 di 8
A questo punto, dovrete utilizzare le funzioni di google cloud o il vostro server per gestire la logica personalizzata. Esiste un editor di codice integrato, ma è piuttosto limitato. Può andare bene per una o due azioni, ma non si vuole avere tutto il codice qui.
Se si intende supportare più piattaforme, compresa quella web, si dovranno creare risposte per ogni tipo. L'aspetto positivo è che è meno probabile che si verifichino rotture. D'altra parte, il lavoro da fare sarà più ripetuto. Le anteprime specifiche per piattaforma sono ottime per i test. È difficile passare da un intento all'altro, per vedere cosa fa realmente un pulsante. Se la risposta gestisce il codice, è anche difficile vedere cosa succede, anche solo per avere una prospettiva generale di ciò che sta accadendo.
Dialogflow CX
Dialogflow CX gestisce i pulsanti in modo simile e diverso allo stesso tempo.
- In una pagina, è necessario modificare gli adempimenti. Si tratta di azioni che avvengono all'interno della pagina (posizione dell'utente nella conversazione).
- Il menu per l'aggiunta di opzioni di dialogo. Il testo è semplice, ma non c'è un'opzione chiara per i pulsanti.
- L'opzione "Carico utile personalizzato" è necessaria se si desidera aggiungere pulsanti. Non è molto intuitiva.
- Ad esempio, questo è il modo in cui si aggiungono pulsanti/fiches. È necessario consultare la documentazione.
- Se si fa clic sul pulsante dell'agente di prova e si prova, si ottiene qualcosa di simile a questo. Nessun pulsante, nessun modo di vedere l'aspetto del pulsante su piattaforme diverse. Non è molto utile!
- Per provare i vostri flussi, andate su Gestione, poi su Integrazioni, quindi sul pulsante Connetti di Dialogflow messenger.
- Abilitare, quindi fare clic su Fine
- Fare clic sul sottile pulsante "Prova ora", quindi aprire la finestra di chat in basso a destra e provare le proprie richieste. Sembra che per provare in modo più pratico sia necessario creare un file html e aggiungere il codice fornito.
1 di 8
Buona fortuna nel risolvere questo problema! L'interfaccia utente non lo rende evidente e la ricerca della risposta vi darà risultati per le soluzioni basate sul codice e per Dialogflow ES. Le risposte ricche sono potenti, ma per qualche motivo non sono state trattate in modo adeguato con l'interfaccia grafica. Questa è una soluzione basata sulla codifica che si è costretti a gestire in una GUI. Infine, la prova nell'emulatore non mostra l'aspetto di piattaforme diverse, come Dialogflow ES, o l'aspetto della webchat.
Botpress v12
- Dalla mano sinistra del menu, trascinare e rilasciare l'icona di scelta.
- Le domande possono essere riutilizzate, quindi c'è un selettore
- Scegliere le domande e le risposte. Si noti che il testo libero è disabilitato. Questo ovviamente funziona solo sulle piattaforme che lo consentono.
- Dopo aver creato o selezionato la coppia domanda/risposta, ecco cosa si vede.
- La sezione avanzata consente di inviare un prompt per un numero di volte prestabilito se l'utente scrive una risposta non corrispondente.
- Nell'editor di flusso, è possibile visualizzare e gestire facilmente le conseguenze della scelta. Il fallimento è previsto quando l'utente raggiunge il numero massimo di risposte errate.
- Se non si vuole imporre una scelta all'utente, ma semplicemente dargli dei suggerimenti, impostare il numero massimo di tentativi a 0 e rilevare l'input dell'utente nell'elemento "User_failed_input" che attiva "On failure".
1 di 7
Nel complesso, fare le scelte richieste è facile su Botpress una volta che si sa come fare e facile da visualizzare. Fornire suggerimenti è meno intuitivo e sembra un uso non pianificato della funzionalità di abilità di scelta. Il fatto che i pulsanti siano multipiattaforma può far risparmiare tempo se si intende supportare più piattaforme.
Confronto
Botpress è un po' poco intuitivo, in quanto è necessario utilizzare l'abilità di scelta, anche se si vogliono mostrare suggerimenti. Il vantaggio è la convalida: si può costringere l'utente a rispondere a una delle scelte. La separazione della funzionalità di suggerimento dall'abilità di scelta potrebbe rendere più semplice questa operazione. Dialogflow ES è un po' più semplice. Il problema è che non esiste una funzionalità di pulsante per tutte le piattaforme di supporto. È necessario aprire la scheda specifica della piattaforma per provarla. È moderatamente difficile da trovare. Dialogflow CX è il perdente in questo caso, non avendo un modo basato sulla GUI per aggiungere pulsanti. Non tutto è migliore con il codice ed è un po' difficile capire perché hanno scelto questa strada. Mentre Botpress e Dialogflow ES potrebbero entrambi rendere più chiaro il modo in cui aggiungere i pulsanti, Botpress offre comodi pulsanti e convalide multipiattaforma, mentre Dialogflow ES rende molto più semplice avere suggerimenti.
Visualizzazione del flusso di pressione dei pulsanti
Botpress è il migliore in questo caso. Grazie alla sua soluzione unica, è facile vedere cosa succede dopo che è stato cliccato un pulsante. I pulsanti di Dialogflow offrono una comoda funzionalità di collegamento, ma in termini di flusso di conversazione può essere difficile da visualizzare. Dialogflow ES non ha un flusso visivo come quello di Dialogflow CX o Botpress, quindi anche questo rende le cose difficili.
Prova dei pulsanti
Botpress Botpress presuppone che tutto sia simile, quindi mostra solo una vista generale, mentre Dialogflow presuppone che tutto sia diverso e mostra ogni versione separatamente. Per qualche motivo, Dialogflow CX sembra aver scelto di non mostrare nessuna delle due versioni nell'emulatore predefinito, mostrando invece i dati. Questo è piuttosto scomodo, sia quando si sviluppa per una singola piattaforma, sia per piattaforme multiple. È un esempio del fatto che CX non è solo una versione aggiornata di ES.
Capacità di comprensione del linguaggio naturale
Le soluzioni per la creazione di chatbot spesso vantano una NLU (Natural Language Understanding) all'avanguardia nel settore, ma come si traduce questo per la creazione di conversazioni? Ci sono due domande che dovreste porvi sull'NLU se intendete utilizzarlo. Supporta la lingua X e quanto bene la supporta?
Le cose che possono andare storte con l'NLU sono generalmente due. Il motore rileva qualcosa che non dovrebbe (falso positivo) o non rileva qualcosa che dovrebbe (falso negativo). In pratica, la soluzione a entrambi i problemi consiste nel fornire al motore di apprendimento automatico più esempi e controesempi. Quando entrambi i motori hanno benchmark simili, la differenza è che probabilmente il motore meno accurato dovrà aggiungere un po' più di frasi di esempio per coprire i casi limite, affinché sia altrettanto accurato. Questo potrebbe anche non essere il caso, a seconda dell'argomento che si sta cercando di analizzare.
Botpress open source offre un numero inferiore di motori linguistici rispetto a Dialogflow quando viene utilizzato localmente (12 fuori dalla scatola). Se si desidera utilizzare una lingua diversa dalle 12, è possibile utilizzare un modello FastText (Facebook Open Source con elenco di lingue disponibile qui) per la NLU e, se è necessario modificare il modello linguistico, è possibile farlo. È anche possibile utilizzare il motore di Dialogflow per la sua NLU, se vi va bene che Google ospiti i vostri dati. Non si tratta di una scelta obbligata. Entrambe le piattaforme sono in continuo miglioramento. Poiché Botpress può utilizzare Dialogflow per l'NLU, il confronto giusto è cosa può fare Botpress NLU che Dialogflow NLU non può fare.
È probabile che l'NLU in una lingua popolare sia di qualità simile su entrambe le piattaforme, mentre le lingue meno diffuse saranno più problematiche.
Detto questo, se ci si aspetta il supporto dell'ebraico o dell'arabo, si noti che al momento Dialogflow ES non supporta queste lingue.
Riconoscere gli elementi della frase
In genere, la comprensione del linguaggio naturale è suddivisa in due componenti, il rilevamento degli intenti e il riconoscimento delle entità. Gli intenti possono essere considerati come frasi e le entità come parti di una frase che si desidera comprendere. Date, orari e luoghi sono entità.
Prendiamo come esempio questa frase: "Trovare biglietti da Tokyo a New York l'11 giugno". L'intento è l'acquisto di un biglietto aereo e la frase stessa è chiamata enunciato. Un intento avrà in genere molti enunciati che alimentano il motore di apprendimento automatico. Tokyo, New York e l'11 giugno sono tutte entità. I biglietti non sono un'entità, perché questa struttura di frase non funzionerebbe con qualcosa di diverso dai biglietti aerei. Tuttavia, potrebbe essere considerato un'entità se l'intento fosse quello di "acquistare qualcosa". Sta a voi decidere cosa volete estrarre!
Dialogflow e Botpress hanno più o meno lo stesso tipo di funzionalità, con modifiche alla User Experience e opzioni già pronte.
Dialogflow ES
Per creare un'entità in Dialogflow ES è possibile assegnarla prima o aggiungerla dopo aver scritto gli enunciati.
- Per creare un'entità a partire dall'enunciato di un intento, è sufficiente evidenziare la parte desiderata (in questo caso #14147) e apparirà un popup.
- Ci sono molte opzioni predefinite.
- Quando la ricerca risulta vuota, il pulsante Crea nuovo è comodo.
- L'opzione "Consenti l'espansione automatica" consente all'utente di scrivere qualcosa come "mela, pera, banana", e la NLU potrebbe corrispondere anche a "arance".
- Una volta definite le entità e dopo la creazione di un enunciato, Dialogflow ne etichetterà automaticamente il contenuto. In questo caso, l'etichettatura automatica è stata un po' troppo zelante, ma è più facile rimuovere l'etichetta che aggiungerla, quindi tutto va bene.
1 di 5
Dialogflow CX
- È interessante notare che Dialogflow CX non segue Dialogflow ES per quanto riguarda le entità. Manca il pulsante per la creazione di nuove entità, per cui dovrete andare da qualche altra parte per aggiungerle.
- Invece, si ottiene questo in fondo alla pagina degli intenti. "Is list" consente di inserire una serie di valori (mele, pere e banane) e "Redact in log" serve agli sviluppatori per nascondere informazioni sensibili come i numeri delle carte di credito nei loro log.
- Nella pagina delle entità di Dialogflow CX è possibile creare entità. È essenzialmente la stessa di Dialogflow ES, ma con un ordine diverso. L'eccezione principale è l'opzione "Redact in log" che si trova in advanced.
- Si tratta di un'esclusiva di Dialogflow CX.
1 di 4
La corrispondenza confusa e le entità aggiunte automaticamente causano il problema dei falsi positivi. Ad esempio, se si desidera rilevare i frutti rotondi come mele, pere e meloni e si seleziona questa opzione, anche le banane corrisponderebbero, nonostante non siano rotonde. È possibile utilizzare le esclusioni di entità per tenere conto di questo problema, anche se nominare tutti i frutti non rotondi sarebbe poco pratico. Il vostro chilometraggio varierà.
Botpress v12
- La creazione di un'entità in Botpress è abbastanza semplice, ma non avviene al volo.
- Evidenziando qualcosa non si ha la possibilità di creare un nuovo tag come fa Dialogflow ES. Almeno è possibile premere il numero sulla tastiera (in questo caso 0), per etichettare rapidamente tutto.
- Se si vuole etichettare qualcosa, è necessario creare prima uno slot. Questo è diverso da Dialogflow.
1 di 3
Confronto
Le entità sono astratte per tutti e nessuna piattaforma rende il concetto intuitivo come gli intenti. Gli utenti devono cercarle da soli o scoprirle nelle documentazioni/esercitazioni. Questa è un'azione che molto spesso richiede l'intervento di sviluppatori. Questo perché molte entità personalizzate, come i numeri d'ordine, richiedono espressioni regolari.
La corrispondenza fuzzy in Dialogflow sembra un po' più potente, in quanto consente di confrontare anche le parole riordinate, ma a meno che il linguaggio non consenta di riordinare le parole, questo non sembra essere molto utile.
La vera differenza tra Dialogflow e Botpress è l'espansione automatica. È possibile fornire un elenco di sinonimi e Dialogflow sarà comunque in grado di capire. Data una lista della spesa: mele, pere, banane, come esempi di entità e la frase "Voglio comprare dei manghi", Botpress non la rileverà correttamente, mentre Dialogflow sì. È possibile risolvere il problema aggiungendo altre eccezioni, ma questo comporta un lavoro maggiore. Questo crea anche un nuovo problema, poiché ora si corre il rischio di una sovra-rilevazione. Il campo delle eccezioni in Dialogflow CX è stato progettato per gestire questo problema. Nel complesso, poiché è opzionale, la sua inclusione è un vantaggio per i Dialogflow.
Per un utente medio, Dialogflow ES vince per il maggior numero di opzioni predefinite, per l'espansione automatica e per il tagging più comodo.
Dialogflow CX, vince sugli elenchi di entità all'interno delle frasi. È possibile farlo in Botpress , ma è molto più complicato. Dialogflow CX vince anche con la sua funzione di nascondere le informazioni dai log, che può essere importante o meno, a seconda del caso d'uso, ma questo è solo un vantaggio rispetto a Dialogflow ES, in quanto si ha un controllo totale su Botpress.
In Dialogflow, le entità vengono etichettate automaticamente e l'utente può modificare il nome se vuole differenziarlo. In qualche modo questo è più e meno intuitivo allo stesso tempo, ma per chi inizia è una cosa in meno di cui preoccuparsi. In Botpress, le entità devono essere create prima che l'utente possa etichettarle negli enunciati.
Distribuzione di prodotti pronti per la produzione chatbots
Si potrebbe dire che Botpress deve essere ospitato da soli e che Dialogflow è già ospitato per voi, ma non sarebbe un quadro corretto. In pratica, Botpress Enterprise offre servizi di hosting e probabilmente avrete bisogno di una certa distribuzione con Dialogflow. Perché? Perché mentre Dialogflow può essere eseguito completamente dal sito cloud, nel momento in cui si desidera aggiungere una funzionalità personalizzata, è necessario distribuirla personalmente, sul sito Google Cloud o altrove.
Dialogflow ES
Finché non si aggiungono funzionalità personalizzate, come il recupero di informazioni sugli ordini da un database remoto, non sarà necessario distribuire il codice, ma si dovrà comunque distribuire la versione del bot (tutto in cloud).
- Una volta pronti per la distribuzione, andare alle impostazioni, quindi fare clic su "Pubblica una versione".
- Dategli un nome, come Initial release o v1.0.
- È possibile chiamare l'ambiente "Produzione". L'opzione di adempimento della funzione Cloud è uguale a Webhook, ma integrata con Google Cloud.
- Nella pagina delle integrazioni, selezionare l'integrazione desiderata, quindi selezionare l'ambiente creato. È tutto!
1 di 4
Per distribuire il codice personalizzato, si può scegliere un'altra piattaforma, ma tutta la documentazione indica l'uso della funzionalità serverless di Google Cloud. Si utilizzerà questa API per distribuire il codice.
In realtà, se il vostro bot è un po' complesso, accederà a un'API e, nel farlo, avrete bisogno di codice personalizzato. Anche se questo si può fare in modo semplice (caricando il codice con un comando), se si vuole fare qualsiasi tipo di test di usabilità prima di modificare il codice, è probabile che si debba creare una copia dell'agente in Dialogflow ES con cui fare i test. Non c'è un modo semplice per evitarlo.
Dialogflow CS
È molto simile a Dialogflow ES.
- È necessario creare prima una versione per l'ambiente.
- Dialogflow CX ha un'organizzazione quasi identica a Dialogflow ES dopo la creazione di una versione. Create un ambiente (in questo caso Production), quindi andate su Integrations.
- Nella pagina delle integrazioni, è possibile selezionare ancora una volta la produzione da distribuire. Come per Dialogflow ES, per la distribuzione del codice personalizzato si può scegliere un'altra piattaforma, ma tutta la documentazione indica l'uso della funzionalità serverless di Google Cloud.
- È così che ci si collega alle funzioni in Dialogflow CX. Non c'è una scorciatoia per le funzioni di Google Cloud come in Dialogflow ES, ma si possono usare tutte le stesse funzioni.
Botpress v12
La distribuzione di Botpress è solitamente effettuata dall'utente per mantenere la proprietà dei dati, ma Botpress può ospitare o aiutare con l'hosting a seconda delle esigenze. Al momento in cui scriviamo non esiste una funzionalità di hosting self-service. Le funzionalità personalizzate sono collegate alle istanze di Botpress , quindi questo riduce un po' la complessità della distribuzione rispetto a Dialogflow. Per una distribuzione scalabile, è necessario un ingegnere informatico esperto di software di hosting, oppure utilizzare i servizi di Botpress Enterprise.
Botpress Enterprise include pipeline che consentono di identificare e spostare un bot dalla bozza alla produzione, ma questo richiede che sia già in funzione un'istanza pronta per la produzione.
- Botpress fornisce una lista di controllo della produzione per facilitare la distribuzione.
- Poiché le funzioni vivono in Botpress, tutto può essere testato insieme e si può passare alla revisione e poi alla produzione.
Per collegarsi a un'integrazione, è necessario seguire la documentazione. La maggior parte del lavoro viene svolto nei file di configurazione, quindi è necessario uno sviluppatore che se ne occupi, oppure Botpress Enterprise Services.
Confronto
Dialogflow ES è difficile da battere se non si ha bisogno di codice personalizzato. È intuitivo e veloce. Se avete bisogno di distribuire funzioni, vi ritroverete con un passaggio in più. Dialogflow CX è leggermente più difficile da distribuire negli ambienti di produzione (un passaggio in più e messaggi di errore meno evidenti) e presenta lo stesso problema con il codice personalizzato. L'aspetto positivo dell'utilizzo di Google Cloud Platform è che è probabile che si utilizzino le funzioni di cloud . Sebbene non siano il modo più economico di ospitare il codice, sono il modo più semplice per avere funzioni altamente scalabili.
Il processo di distribuzione delle funzioni per Dialogflow consiste nel creare una nuova funzione, ospitarla, ottenere il link, aggiornarla nel webhook / fulfillment di Dialogflow, testare la nuova versione per assicurarsi che funzioni e, in caso affermativo, distribuire la nuova versione. La prima volta non dovrebbe essere un problema, ma se si pensa di dover aggiornare spesso il codice per adattarlo alla logica di conversazione, si aggiunge un ulteriore livello di complessità. In Botpress, il codice e la logica di conversazione vivono nello stesso mondo, quindi l'aggiornamento, il test e la distribuzione sono molto più semplici. L'aspetto negativo è che gli sviluppatori devono usare Nodejs, quindi se non hanno familiarità con esso, ci sarà una curva di apprendimento, a seconda di ciò che hanno usato in precedenza. Il lato positivo è che, in teoria, la documentazione dovrebbe essere più aggiornata, visto che esiste una sola libreria.
Se non fosse per il codice personalizzato, Botpress sarebbe il peggiore in questa categoria, perché si deve effettivamente ospitare qualcosa, invece di non farlo. Anche se Botpress offre servizi di distribuzione, quindi tecnicamente non si deve fare nulla, non sarà mai conveniente come il modello self-service. Il codice personalizzato annulla il vantaggio conferito a Dialogflow.
L'hosting autonomo presenta il problema della gestione della scalabilità. Naturalmente, se il vostro progetto non può includere servizi esterni, Botpress è chiaramente la strada da percorrere. Botpress ha una documentazione sulla distribuzione per la sua versione open source, ma non è un'architettura a scalabilità automatica completa, come quella che otterreste con Dialogflow.
Per questa parte è tutto. Ecco la seconda parte di Botpress vs Dialogflow ES vs Dialogflow CX.
Condividi questo articolo su:
Costruite gratuitamente il vostro chatbot AI personalizzato
Iniziate a costruire un bot GPT personalizzato con la nostra intuitiva interfaccia drag & drop.
Iniziare è gratis! 🤖Non è richiesta la carta di credito
Rimanete aggiornati sulle ultime novità in materia di IA chatbots