Bot della conoscenza

Nodo di origine: 837393

All’inizio di quest’anno, avevo il compito di creare una conoscenza museruola per una piattaforma di livello aziendale. Gli utenti erano principalmente i dipendenti dell'organizzazione e l'intenzione era quella di utilizzare la conoscenza museruola condividere l'offerta e l'utilizzo della piattaforma.

Esistono molti framework sul mercato (ognuno con i propri pro e contro), quindi è molto importante selezionare il framework giusto a seconda del tipo di bot che si intende creare. In caso di creazione dei robot della conoscenza, i requisiti tipici sono:

1. Lo scopo principale della conoscenza museruola è fornire informazioni sull'offerta tramite una chat guidata. Se l'utente lo desidera, dovrebbe poter uscire dalla chat guidata e porre domande ad hoc sull'offerta e tornare alla chat guidata.

2. Il bot della conoscenza dovrebbe essere in grado di eseguire attività semplici come prenotare una demo del prodotto.

3. Il bot della conoscenza dovrebbe fornire le informazioni giuste sul dominio selezionato (in questo caso l'offerta della piattaforma) correttamente la prima volta anziché coprire un dominio molto ampio con risposte corrette al 70-80%.

4. Anche se dovrebbe fornire la capacità di eseguire NLU e comprendere le richieste dell'utente, la criticità complessiva di tali richieste è limitata. Pertanto, nel caso del bot della conoscenza, in genere non è necessaria alcuna chat contestuale.

Ho iniziato a valutare i framework di chatbot disponibili sul mercato in base ai parametri di costo, flessibilità, facilità d'uso, manutenibilità, scalabilità, facilità di sviluppo, estensibilità futura, integrazione, supporto della comunità e mi sono concentrato su 2 piattaforme inferiori:

i) Rasa: “Rasa è la principale piattaforma di intelligenza artificiale conversazionale, per conversazioni personalizzate su larga scala. Con Rasa, tutti i team possono creare interazioni personalizzate e automatizzate con i clienti, su larga scala. Rasa fornisce l’infrastruttura e gli strumenti necessari per creare i migliori assistenti, in grado di trasformare in modo significativo il modo in cui i clienti comunicano con le aziende”. - dal sito di Rasa.

— Le caratteristiche salienti includono —

  • Basato su NLU, il motore NLU predefinito fornito è open source.
  • Viene fornito con licenza open source (funzionalità limitate) e aziendale a pagamento (più funzionalità).
  • Creazione di Chatbot più orientati agli Sviluppatori.
  • Supporta funzionalità avanzate come la chiamata ad API esterne, l'identificazione dell'intento, il riempimento degli slot, ecc.
  • Può essere incorporato nel sito web. Distribuzione on-premise/cloud. La creazione di chatbot utilizzando storie e dati di formazione (orientati allo sviluppatore) non avviene tramite un framework GUI basato sul web.
  • Buon supporto comunitario.
  • La piattaforma è costruita attorno all'intelligenza artificiale e i dati di addestramento sono fondamentali per migliorare le prestazioni. Non è una scatola nera basata sul flusso.

ii) Botpress: “Botpress è una piattaforma open source che consente agli sviluppatori di creare assistenti digitali di alta qualità. Abbiamo messo insieme il codice standard e l'infrastruttura di cui hai bisogno per rendere operativo un chatbot. Ti proponiamo una piattaforma completa e intuitiva, dotata di tutti gli strumenti necessari per creare, distribuire e gestire chatbot di livello produttivo in tempi record." — dal sito Botpress.

— Le caratteristiche salienti includono: —

  • Basato su NLU, il motore NLU predefinito fornito è open source.
  • Viene fornito con licenza open source (funzionalità limitate) e aziendale a pagamento (più funzionalità).
  • Creazione basata su GUI di Chatbot.
  • Supporta funzionalità avanzate come la chiamata ad API esterne, l'identificazione di intenti ed entità, il riempimento degli slot, ecc.
  • Può essere incorporato nel sito web. Distribuzione on-premise/cloud ma fornitura di interfaccia web.
  • Buon supporto comunitario.
  • Principalmente basato sul flusso con supporto per la funzionalità NLU. Supporto e controllo del debugger.

Il punto di forza principale di Rasa risiede nel suo motore NLU e nell'esperienza di chat contestuale che offre. Per contestuale intendo che ogni input dell'utente viene preso nel contesto della conversazione in corso e quindi viene risposto. Tuttavia, addestrare il bot a gestire correttamente le conversazioni richiede molti sforzi, calcolo e competenze e man mano che il dominio della conversazione aumenta, il numero totale di storie necessarie da scrivere aumenta in modo esponenziale.

D'altra parte, Botpress utilizza un mix di intelligenza artificiale e motore basato su regole per creare l'esperienza di chat per l'utente. Non è molto forte nella conversazione contestuale ma ha una ricca offerta di GUI per fornire informazioni guidate.

Pur essendo un Senior Data Scientist, la mia sensazione iniziale era di scegliere Rasa (sapete che l'offerta di intelligenza artificiale contestuale sembra attraente) ma una volta valutati i pro e i contro in relazione al compito da svolgere, ho trovato Botpress più adatto per creare bot della conoscenza con una combinazione di visita guidata basata su regole e domande ad hoc basate su NLU (funzione QnA di Botpress) dati i vincoli di tempo e risorse che di solito abbiamo nei progetti IT.

Di seguito sono riportate le funzionalità che gli sviluppatori di bot di conoscenza dovrebbero esaminare nel framework dei bot. Ho anche menzionato il modo in cui Botpress li soddisfa.

1. Rapporto sulle tendenze dei chatbot 2021

2. 4 DA FARE e 3 DA NON FARE per l'addestramento di un modello di PNL Chatbot

3. Concierge Bot: gestisci più chatbot da una schermata di chat

4. Un sistema esperto: Conversational AI vs Chatbots

Facilità di sviluppo — Quanto velocemente puoi rendere operativa una versione base del tuo bot della conoscenza. Richiede competenze molto specializzate o anche i data scientist dei cittadini possono lavorarci? Quanto è facile fare un rebranding del bot?

Con Botpress, puoi mettere in funzione un bot con conoscenze di base utilizzando la sua GUI senza alcuna codifica in un paio di settimane. Offre anche un modo semplice per marchiare il bot semplicemente modificando il foglio di stile. Fornisce widget come carte e carousal per condividere le informazioni in modo ricco di GUI.

integrazione — I bot devono sempre essere integrati con il portale principale e devono supportare anche altri canali (ad esempio Microsoft Team). Durante la selezione del framework del bot dovremmo vedere se queste integrazioni sono fornite in modo nativo e possono essere eseguite con sforzi minimi.

In Botpress, l'integrazione con il sito principale è molto semplice con un solo script per aprire il bot in un iframe. Fornisce inoltre l'integrazione con altri canali come Facebook, Telegram, Microsoft Teams e Slack per citarne alcuni.

Estendibilità futura — Anche se il bot della conoscenza iniziale potrebbe iniziare con un ambito limitato, il fatto è che l’ambito continuerà ad aumentare una volta che il management ne realizzerà i vantaggi. Il bot potrebbe non limitarsi più a fornire informazioni, ma dovrebbe anche svolgere attività più semplici come prenotare una demo, ecc. Pertanto è importante che il framework del bot selezionato supporti queste funzionalità.

Botpress fornisce estensioni per scrivere codice personalizzato per chiamare API backend per eseguire attività complesse. Le funzionalità come Intento, Entità e slot vengono utilizzate per acquisire l'intenzione dell'utente di eseguire una particolare attività identificando l'entità corretta, acquisire i valori richiesti utilizzando gli slot e quindi fare in modo che il codice personalizzato chiami l'API back-end per eseguire le attività. Queste attività potrebbero variare dall'invio di un'e-mail alla prenotazione di una sala conferenze o di un biglietto aereo o all'ordinazione di una pizza.

Scalabilità — Spesso ti verrà richiesto di creare il bot della conoscenza per il traffico Internet e quindi è molto importante che il framework del bot selezionato possa essere scalato.

Botpress ha un'architettura scalabile orizzontalmente basata su cluster. È possibile sfruttare un bilanciatore del carico per distribuire il traffico tra i bot.

manutenibilità — Come per tutti i progetti IT, non si tratta mai di uno scenario di distribuzione e dimenticanza. Viviamo nel mondo di DevOps dove c'è una distribuzione continua dell'applicazione nella produzione. Pertanto è di fondamentale importanza che il framework del bot disponga di un modello che gestisca la scala e la complessità, soprattutto quando si cerca uno sviluppo basato sulla GUI.

In Botpress lo sviluppo avviene tramite la creazione di un diagramma di flusso, la struttura è modulare. Ha la capacità di creare flussi secondari con punti di ingresso e di uscita definiti per il flusso secondario. In questo modo possiamo creare robot della conoscenza utilizzando molti flussi più semplici e più piccoli anziché un unico grande flusso.

NLU — Anche se il flusso guidato è utile per fornire le informazioni, da solo non è sufficiente. L'intenzione principale di fornire un bot è che l'utente sia in grado di chattare come se ci fosse un individuo seduto dietro il bot. Ciò significa che il bot dovrebbe essere in grado di comprendere le sfumature del linguaggio e fornire una risposta adeguata.

In Botpress è presente un modulo QnA che consente di rispondere a domande casuali che l'utente potrebbe porre sul prodotto. Puoi fornire più domande a fronte di una risposta e addestrare il motore Botpress NLU a neutralizzare le domande rispetto alla semantica e alla grammatica. Sebbene il motore NLU non sia potente come quello di Rasa, ho scoperto che è adatto allo scopo. Avevamo circa 110 risposte da addestrare rispetto a circa 1100 domande. Dopo la formazione, ho scoperto che il motore NLU ha svolto un lavoro decente e ci ha fornito le risposte giuste più del 97% delle volte. I motori Botpress NLU utilizzano 2 servizi:

a) Duckling: per l'estrazione di entità di sistema che lo rendono più robusto durante l'implementazione di attività basate su entità e slot (ad esempio, ordinare una pizza o prenotare un biglietto aereo).

b) Language Server: fornisce gli incorporamenti di parole e supporta più lingue.

Cambio di contesto — La transizione tra il porre domande ad hoc e il seguire un flusso guidato dovrebbe essere fluida. I flussi non dovrebbero essere molto lunghi, fornire punti di interruzione all'utente in cui può porre domande e poi tornare al flusso quando richiesto.

Con l'uso della funzionalità "transizioni a livello di flusso" fornita all'interno di Botpress, il passaggio di contesto da una visita guidata a domande casuali può essere implementato facilmente. Inoltre, dalla sezione domande e risposte Botpress dà la possibilità di tornare a un nodo che fa parte della visita guidata, riportando quindi l'utente alla visita guidata.

Ci sono altre funzionalità di Botpress come capacità multilingue, Dockerizzazione, Human In the loop, utilizzo di NLU di terze parti, integrazioni SSO, clustering, monitoraggio e alterazione, forte supporto della comunità che può rendere l'esperienza complessiva più solida.

Sommario — La prossima volta che desideri creare un bot della conoscenza in un breve lasso di tempo, considera un framework per bot che sfrutti sia i motori basati su regole che quelli basati su NLU. Botpress è un forte contendente per lo stesso, soprattutto se il costo e il ROI sono un fattore decisionale.

Abhinav Ajmera

Data scientist senior, Atos

Le opinioni dell'autore sono personali e l'autore non è in alcun modo associato a Botpress.

Source: https://chatbotslife.com/knowledge-bots-5536c16b8d32?source=rss—-a49517e4c30b—4

Timestamp:

Di più da Chatbot Life - Medio