Ultimo aggiornamento
Anche se tratta da una situazione di fantasia, in questa scena del film Tarzan ritroviamo la stessa frustrazione con cui chi progetta chatbot si trova a fare i conti…
“Questo bot non capisce niente!”, “Cosa si può pretendere da un
robot…”, “L’interazione con un chatbot non è paragonabile a quella che
abbiamo tra persone”. Questi e molti altri sono i commenti di chi,
testando un bot, incappa in qualche incidente comunicativo.
« Non si impara ad essere uno di noi! »
Spesso, nonostante le migliori intenzioni, i chatbot non riescono a offrire l’esperienza utente piacevole ed efficiente ,
come la si immagina. Il gap comunicativo è un dato di fatto e questo lo
sanno bene programmatori e designer delle conversazioni, che si
prendono però a cuore le performance del proprio bot, rendendo la sua
interazione il più possibile umanizzata.
Quando clienti e prospect chiedono di introdurre un chatbot come nuovo touchpoint
della propria azienda, la loro aspettativa è quella di un assistente
virtuale smart, in grado di realizzare sistemi di dialogo naturale e
quindi basati sull’Artificial Intelligence. Applicare l’intelligenza
artificiale nell’ambito dei chatbot significa sfruttare il Natural
Language Processing (NLP) per interpretare le richieste dell’utente,
fornendo un’interazione naturale come quella tra due umani.
Ciò implica un maggiore investimento di risorse rispetto a quanto
richiederebbe la realizzazione di un basic chatbot; l’assistente smart
ha, inoltre, la necessità di appoggiarsi su una conoscenza minuziosa
degli ambiti che deve trattare, oltre a saper gestire interazioni
complesse (dal punto di vista del linguaggio) con l’utente. Per un
designer delle conversazioni e un dev questo si traduce, infatti, in decision tree diagram più articolati, oltre a un numero idealmente sempre crescente di intenti (via via che il chatbot acquisisce complessità).
In questo articolo faremo chiarezza sulla differenza tra basic e smart chatbot ,
specificando che la realizzazione di un bot efficiente non deve per
forza implicare l’applicazione dell’AI, ma a seconda delle priorità
commerciali un basic chatbot può essere la risposta idonea alle
necessità dell’azienda.
Spiegheremo inoltre come si traduce nel concreto il NLP, suddividendolo in 6 fasi e facendo emergere le implicazioni dal punto di vista linguistico .
Infine renderemo esplicite le tanto additate tortuosità linguistiche del
NLP, che mettono a dura prova la propensione ad un rapido progresso in
questo campo.
A lettura conclusa sarà chiara l’importanza di affidarsi ad un team
multidisciplinare per la realizzazione di un chatbot. La specifica
competenza dei componenti è in grado di coniugare esigenze di
programmazione, linguistiche e commerciali, facendo emergere un’adeguata
brand identity.
In una giungla sempre più popolata di chatbot, riuscire a rendere
unica l’esperienza vissuta attraverso questo affascinante touchpoint è
la chiave per portare la comunicazione aziendale ad un livello
superiore.
Come già detto precedentemente, la scelta di introdurre un chatbot
nella propria proposta di touchpoint non deve per forza implicare l’AI.
Esistono chatbot che svolgono efficientemente la funzione per cui sono
stati progettati senza avere la necessità di intrattenere conversazioni
articolate con l’utente; basti pensare ad assistenti virtuali creati per proporre offerte commerciali attraverso il marketing automation :
il bot invia all’utente sequenze automatiche di messaggi, che possono
essere impostati sulla base della propria strategia di lead generation.
Ad un input affermativo dell’utente per la proposta di offerte, il
chatbot può, ad esempio, limitarsi a proporre un carousel con le offerte attive in quel momento. L’importante è riuscire a fornire risposte il più possibile rilevanti per l’utente.
Quelli appena descritti sono
basic chatbot, semplici e basati su delle regole: ad una richiesta A
dell’utente, il chatbot fornisce una risposta B. C’è una discreta
flessibilità per quanto riguarda la comprensione di errori di battitura
ma il chatbot non è in grado di processare una richiesta sconosciuta.
Per questo, tutto ciò che il chatbot è in grado di fare deve essere chiaro all’utente fin dall’inizio.
I chatbot basati sull’Artificial Intelligence, a differenza dei precedenti, sono in grado di analizzare il linguaggio dell’utente per estrarne il significato e fornire la risposta adeguata .
Qui si cerca la rilevanza completa della risposta e della relazione
stabilita con l’utente. Questi chatbot possono comprendere un input
sconosciuto sfruttando il NLP.
La maggior parte dei chatbot in circolazione mescola i due approcci: si fondano su una complessa logica decisionale ad albero
ed utilizzano il NLP per rispondere a query sconosciute, facendo
ricadere la query in questione in uno dei rami dell’albero, quello che
ritengono coerente con la richiesta.
Questo avviene mediante i processi di matching e parsing (ossia la ricerca di una risposta o follow-up quanto più coerente possibile con il messaggio dell’utente).
Attraverso dei cosiddetti fallback (letteralmente
“alternative”) è possibile gestire questa tecnica ed evitare che il
chatbot, cercando la risposta più adatta in funzione del NLP, fornisca
una risposta sbagliata: stabilendo correttamente i contesti, l’utilizzo
dei fallback permette al chatbot di fare all’utente una
richiesta più specifica, riformulata, rimanendo quindi in quel
determinato flusso di conversazione.
Il NLP consiste nell’applicazione di algoritmi per identificare ed
estrarre le regole del linguaggio naturale. In altre parole, permette ad
una macchina di analizzare il linguaggio umano e di derivarne un significato.
Riferendoci ad un chatbot il processo di NLP consiste nello spezzare
frasi input dell’utente: agisce cioè processando la linguistica di un
enunciato in entrata, o utterance, per individuare entità ed intenti dell’utente.
Questo è possibile grazie ad alcuni step, che ora analizzeremo per
comprendere come lavora il NLP e, di conseguenza, come è strutturato il
linguaggio umano.
La tokenizzazione può essere considerata una pre-analisi, che avviene
cioè prima della vera e propria elaborazione del testo scritto. Si
tratta della segmentazione del testo in unità linguistiche minime (parole, punteggiatura, caratteri alfanumerici…), che verranno elaborate successivamente.
La definizione di token va però oltre l’individuazione di unità
delimitate su entrambi i lati da spazi o dalla punteggiatura: un token
deve infatti essere linguisticamente significativo e metodologicamente
utile. Questi due vincoli dipendono dal contesto linguistico.
È molto importante la corretta identificazione delle unità, in quanto
errori commessi in questa fase si propagheranno in quelle successive.
Partendo da una tokenizzazione corretta, l’analisi lessicale (cioè la classificazione delle parole o token in categorie grammaticali )
dovrebbe risultare semplificata. In realtà dal punto di vista
linguistico è tutto molto più complesso; per un linguista le unità
minime della lingua non sono le parole, bensì i morfemi, elementi minori
dotati di significato.
Per fare un esempio, la parola “musicali” può essere a sua volta scomposta in unità arrecanti significato: music , riferito a musica e con significato di “arte che consiste nell’ideare e nel produrre successioni strutturate di suoni” , al con funzione di aggettivo e significato di “relativo a”, i con significato di plurale.
Ciascuno di questi 3 morfemi può entrare come componente di altre parole (troviamo music in musichiere, al in internazionale, i in facili).
L’analisi sintattica serve a comprendere come si combinano fra loro
le parole e come queste si organizzano in frasi; il focus in questa fase
non è sulla categoria grammaticale (sostantivo, aggettivo,
preposizione…), ma sulla funzione (soggetto, predicato,
complemento). Avere chiara la struttura degli enunciati è un aspetto
molto importante per la fase successiva.
Questa fase è strettamente legata alla precedente, perché riguarda il
significato di un enunciato in funzione di altre frasi facenti parte
del discorso in questione. Ci riferiamo alla necessità di identificare
un soggetto e riprenderlo poi, attraverso un pronome, nella frase
successiva. Ad esempio:
Beppe è un SEO smanettone. Lo becchiamo spesso a collaborare con dev e designer.
Per comprendere il discorso è necessario sapere che Beppe è la
persona a cui ci riferiamo con il pronome “Lo” nella seconda frase.
Il fenomeno prende tecnicamente il nome di anafora, ma può anche
verificarsi di avere bisogno della frase successiva per comprendere
quella in questione (catafora).
Questo piano di analisi della lingua si focalizza sul significato dei
segni linguistici. Le difficoltà si riscontrano già a partire dalla
definizione di “significato”, concetto astratto nonchè punto d’incontro
tra lingua, mente umana e mondo esterno. L’analisi semantica esamina
alcuni aspetti del lessico (insieme di parole o “lessemi”, le unità di
analisi minime per il livello semantico). I problemi di contesto in
questo caso riguardano le occorrenze di omonimia e polisemia : lessemi con lo stesso significante (segno grafico) e diversi significati.
Studia le modalità in cui il contesto influisce sul significato, in
modo ancora più ampio della Discourse Integration. Tocca infatti
l’ambiguità legata all’enuciazione (cercata più o meno intenzionalmente
dai parlanti), che è già difficile da gestire per un essere umano,
figuriamoci per un computer.
Come risulta dalle osservazioni del paragrafo precedente, l’aspetto
più difficile del replicare una conversazione umana riguarda il
contesto; i linguisti da sempre cercano di definire un metodo efficiente
per analizzare il significato della comunicazione a partire dal
contesto e da questi studi sono emerse delle teorie, tra cui la Speech Act Theory , Teoria degli Atti Linguistici (J.L. Austin, 1962 e J.R. Searle, 1969).
Questa implica il fatto che ogni enunciato non solo presenta
informazioni, descrive una situazione o ne sostiene la veridicità, ma
comporta il compimento di azioni concrete sulla base di un influsso
comunicativo latente. Ad oggi il punto debole del NLP è infatti l’utilizzo degli elementi pragmatici della conversazione
(con conseguenze a livello pratico, concreto) per contribuire alla
comprensione del linguaggio nelle macchine: il vero problema è
identificare e modellare gli Speech Act , atti linguistici.
La teoria si inserisce nell’ambito della linguistica pragmatica, che
si fonda sull’uso contestuale della lingua come azione reale e concreta,
cioè l’uso di un determinato linguaggio in una data situazione
comunicativa: il contesto.
Qualsiasi enunciato linguistico è sempre contestualizzato e ha come
scopo la messa in atto di una determinata azione per ottenere un preciso
risultato. Approfondiamo meglio…
Austin delineò la propria teoria facendo notare che per ogni singolo
enunciato ci troviamo in presenza di tre tipi di atti linguistici, e
cioè locutorio, illocutorio e perlocutorio.
Mara è appassionata di montagna ,
rivolto al collega di lavoro che vuole farle un regalo, può essere
visto come un consiglio ad acquistare dell’abbigliamento tecnico per
escursioni.
Mara è appassionata di montagna
potrebbe quindi essere l’acquisto di una maglia termica da parte del collega in cerca del regalo perfetto per Mara.
È chiaro quindi come sia frequente dover fare riferimento al contesto
situazionale per la corretta interpretazione di un enunciato.
Noi umani ce la caviamo bene nelle conversazioni: siamo capaci di
comprendere il sarcasmo, spesso riusciamo a leggere tra le righe e
sfruttiamo costantemente le informazioni contestuali quando diamo una
risposta al nostro interlocutore. I bot non ancora del tutto. Non
possono contenere informazioni contestuali per più di alcune battute
della chat e prima o poi finiranno per perdere traccia di ciò che
l’utente stava dicendo prima di porre la domanda.
Fanno appunto eccezione quelli alimentati dalla tecnologia di
elaborazione del Linguaggio Naturale: i progressi dell’AI nel NLP sono
notevoli. Ad oggi, però, la capacità di un chatbot di situarsi, intento
dopo intento, nel contesto corretto sta principalmente nell’accuratezza di chi lo progetta e lo sviluppa , nella minuziosità che permette di isolare circostanze e risvolti conversazionali attraverso una logica decision-tree .
Logica che deve tenere chiaramente conto delle implicazioni
linguistiche che potrebbero emergere in ciascuno scenario e applicabili
solo attraverso un accurato lavoro di programmazione.
È bene tenere presente che questo lavoro non riguarda solamente la fase di progettazione. La lingua cambia costantemente e il monitoraggio delle conversazioni
risulta fondamentale per il training del chatbot. È necessario un
aggiornamento continuo di parole ed espressioni, che per il bot
risultino ancora sconosciute.
La vera sfida non è creare un chatbot, ma più che altro mantenerlo e perfezionarlo con cura e costanza, affinchè evolva nell’assistente virtuale che ogni cliente sogna.