Conversational chatbot: è ormai evidente l’importanza che riveste nell’ottimizzare il servizio di customer care, massimizzandone i benefici, in qualsiasi tipo di azienda. Il mercato è quindi in crescita: secondo le stime di Forbes, raggiungerà quota 1,25 miliardi di dollari entro il 2025.
Iniziamo col dire che in un progetto di chatbot che aspiri a un risultato vincente è molto rilevante il supporto umano: indipendentemente dal tipo di approccio e di piattaforma, l’intervento umano, infatti, è fondamentale per configurare, addestrare e ottimizzare il sistema.
Progettare un conversational chatbot di successo in 5 passi
Le tecnologie fondamentali di un conversational chatbot basato su AI sono l’analisi semantica e il Natural Language Processing, i quali assicurano la corretta interpretazione dei bisogni nelle interazioni scritte e vocali. Il machine learning permette invece di apprendere i comportamenti tipici dell’utente. L’analisi dei log ai sistemi, ad esempio, consente di capire come agiscono gli utenti (o i clienti) all’interno di un sito web e di identificare dei modelli di risposta automatizzati.
1. Tracciare una mappa dei principali flussi di conversazione
Si tratta del primo passo, il layout di ciò che il chatbot dovrà essere in grado di gestire autonomamente, progettando e disegnando lo schema di un automa a stati finiti.
2. Rendere il chatbot più smart e funzionale
Dopo aver creato i principali flussi, si implementano nuovi dialoghi e casistiche.
Seguono poi tre moduli, le componenti principali che caratterizzano la struttura di una chatbot:
- Natural Language Understanding (NLU)
- Dialog Manager
- Contenuto (messaggi conversazionali)
3. Natural Language Understanding (NLU)
Il modulo NLU si occupa dell’analisi e della comprensione delle richieste dell’utente, in poche parole trasforma una frase non strutturata in dati strutturati. Si suddivide in due parti fondamentali:
- Intent Classification: l’intento è la classe di operazioni o richieste che possono essere gestite dal chatbot per fornire una risposta e viene creato definendo una classe di richiesta e associandovi delle frasi di training. Gli intenti possono essere considerati come scopi o obiettivi espressi nell’input della finestra di dialogo di un cliente; dopo averli identificati, l’assistente può selezionare un’azione successiva applicabile.
- Named Entity Recognition: le entità sono tutte le informazioni rilevanti all’interno dell’input pertinenti alle intenzioni dell’utente. Se gli intenti possono essere considerati come verbi (l’azione che vuole eseguire che un utente), le entità rappresentano i nomi (città, data, ora, marchio, prodotto, ecc.). È possibile creare il componente di NLU attraverso modelli di deep learning specializzati, ma in molti contesti è possibile utilizzare un servizio offerto da terze parti.
4. Dialog Manager
Nel quarto passo, dopo aver individuato e definito uno o più use case, si realizza una rappresentazione grafica di un automa a stati finiti attraverso la quale viene creato un modello dei diversi flussi conversazionali. Questo modello viene gestito e implementato in un linguaggio di programmazione, con la possibilità di utilizzare o meno un particolare framework, oppure tramite l’ausilio di servizi terzi.
Il dialog manager decide cosa comunicare all’utente, sulla base del suo input, delle interazioni passate e dei dati che possono essere estratti da altre fonti. Un altro compito fondamentale del dialog manager è quello di tenere traccia del contesto corrente, ovvero di tutte quelle informazioni necessarie per riuscire a comprendere in quale stato del flusso conversazionale si trova l’utente e quindi quali saranno i prossimi stati a cui l’utente potrà accedere.
5. Contenuto (messaggi conversazionali)
Il quinto passo, o modulo, riguarda il testo, cioè i messaggi che vengono visualizzati dall’utente nel corso della conversazione. I messaggi conversazionali non devono essere sottovalutati, poiché il contenuto testuale di una conversazione è molto importante per ottenere un buon risultato di esperienza utente, per evitare interruzioni durante il flusso e aiutare l’utente a raggiungere l’obiettivo che l’ha spinto a servirsi del chatbot. È in questa fase che si può determinare il tone of voice del chatbot, così che l’utente abbia l’impressione di dialogare sempre con lo stesso assistente virtuale, anche quando le conversazioni hanno fonti diverse.
Molte risorse vengono impiegate per costruire la “voce” del chatbot, caratterizzandola, dandole qualità umane e avvicinandole il più possibile al target di riferimento con cui deve entrare in contatto.
Gli ultimi progressi del conversational chatbot: Natural Language Generation (NLG)
L’ultima frontiera del conversational chabot sfrutta il processo di Natural Language Generation (NLG), che grosso modo è l’opposto del Natural Language Understanding (NLU). Mentre il NLU deve strutturare e interpretare una frase di input dell’utente per produrre una rappresentazione automatica, nel NLG il sistema deve prendere decisioni su come esprimere un concetto in parole, scegliendo una rappresentazione testuale specifica e coerente. Il NLG può essere paragonato al processo mentale umano di trasformazione delle idee in parole.