I computer e gli esseri umani non hanno mai parlato la stessa lingua. Oltre al riconoscimento vocale, abbiamo anche bisogno di computer per comprendere la semantica del linguaggio umano scritto. Abbiamo bisogno di questa capacità perché stiamo costruendo i chatbot basati sull’intelligenza artificiale (AI) che ora formano i livelli di intelligenza nei sistemi RPA (Robot Process Automation) e oltre.
Conosciuto formalmente come Natural Language Understanding (NLU), i primi tentativi (fino agli anni ’80) per dare ai computer la capacità di interpretare il testo umano erano comicamente terribili. Questa è stata un’enorme frustrazione sia per gli sviluppatori che cercavano di far funzionare questi sistemi sia per gli utenti esposti a questi sistemi.
I computer sono brillanti nella divisione lunga, ma davvero pessimi nel sapere la differenza tra il fatto che gli esseri umani si riferiscano a divisioni calcistiche, lobby di divisione parlamentare o addirittura divisione lunga per la matematica. Questo perché la matematica è stereotipata, universale e immutabile, ma il linguaggio umano è ambiguo, contestuale e dinamico.
Di conseguenza, la comprensione di una frase tipica richiede la qualità non programmabile del buon senso, o almeno così pensavamo.
Ma solo negli ultimi anni, gli sviluppatori di software nel campo della comprensione del linguaggio naturale (NLU) hanno compiuto diversi decenni di progressi nel superare questo ostacolo, riducendo la barriera linguistica tra le persone e l’IA risolvendo la semantica con la matematica.
“Tali progressi sono dovuti in gran parte a passi da gigante nei modelli NLU, tra cui la storica struttura BERT e propaggini come DistilBERT, RoBERTa e ALBERT. Basato su centinaia di questi modelli, il moderno software NLU è in grado di decostruire frasi complesse per distillarne il significato essenziale “, ha affermato Vaibhav Nivargi , CTO e co-fondatore di Moveworks .
Il software di Moveworks combina l’IA con l’elaborazione del linguaggio naturale (NLP) per comprendere e interpretare le richieste, le sfide e i problemi degli utenti prima di utilizzare un ulteriore grado di intelligenza artificiale per fornire le azioni appropriate per soddisfare le esigenze dell’utente.
Nivargi spiega che, in modo cruciale qui, ora possiamo anche creare chatbot che utilizzano Machine Learning (ML) per fare un ulteriore passo avanti: rispondere in modo autonomo alle richieste degli utenti e risolvere i problemi delle domande scritte in linguaggio naturale. Quindi non solo l’IA ora può comunicare con i dipendenti alle loro condizioni, ma può anche automatizzare molte delle attività di routine che fanno sembrare il lavoro un lavoro, grazie a questa ritrovata capacità di comprensione della lettura.
Cosa pensa un chatbot quando gli parli
Nivargi fornisce un esempio illustrativo di una richiesta di supporto IT, che possiamo scomporre e analizzare. Bhavin è un nuovo dipendente dell’azienda e un utente chiede al chatbot come può essere aggiunto al gruppo di marketing dell’organizzazione per accedere al pool di informazioni e ai dati. La richiesta è la seguente (grafico riportato di seguito alla fine):
“Howdo [sic] aggiungo Bhavin al gruppo di marketing.”
In gran parte a causa dell’errore di digitazione / ortografia all’inizio (invece di “come si fa”, l’utente ha digitato “come fare”) abbiamo un problema immediato. Fino a due anni fa, non esisteva una sola applicazione al mondo in grado di comprendere (e quindi risolvere) l’infinita varietà di richieste simili a questa che i dipendenti pongono ai loro team IT.
“Naturalmente, potremmo programmare un’applicazione in modo che attivi il flusso di lavoro automatizzato corretto quando riceve questa richiesta esatta. Ma inutile dire che questo approccio non è affatto scalabile. I problemi difficili richiedono soluzioni difficili. Quindi, qui, qualsiasi soluzione degna di questo nome deve affrontare le sfide fondamentali del linguaggio naturale, che è ambiguo, contestuale e dinamico “, ha affermato Nivargi.
La prima sfida è sempre l’ambiguità
Una singola parola può avere molti possibili significati; per esempio, la parola “run” ha circa 645 definizioni diverse . Aggiungi l’inevitabile errore umano – come l’errore di battitura in questa richiesta della frase “come si fa” – e possiamo vedere che scomporre una singola frase diventa abbastanza scoraggiante, abbastanza rapidamente. Nivargi di Movework spiega che il passo iniziale, quindi, è utilizzare l’apprendimento automatico per identificare strutture sintattiche che possono aiutarci a correggere errori di ortografia o grammaticali.
Ma, dice, per chiarire ciò che vuole il dipendente, dobbiamo anche considerare il contesto che circonda la sua richiesta, compreso il dipartimento, l’ubicazione e il ruolo di quel dipendente, nonché altre entità rilevanti. Una tecnica chiave per farlo è il “meta learning”, che implica l’analisi dei cosiddetti “metadati” (informazioni sulle informazioni).
“Valutando probabilisticamente il fatto che Alex (un altro dipendente) e Bhavin si trovano in Nord America, i modelli di Machine Learning possono” selezionare in modo approssimativo “il gruppo di posta elettronica marketingna@company.abc, senza che Alex debba specificare il suo nome esatto. In questo modo, possiamo potenzialmente ottenere l’aiuto di Alex e coinvolgerlo nel flusso di lavoro “, ha affermato Nivargi.
Come spiega TechTarget qui , “La logica fuzzy è un approccio al calcolo basato su” gradi di verità “piuttosto che sulla solita logica booleana ” vero o falso “(1 o 0) su cui si basa il computer moderno”.
Gli agenti del service desk umano tengono già conto del contesto attingendo alla loro esperienza, quindi il segreto per un chatbot AI è imitare questa intuizione con modelli matematici.
Linguaggio dinamico, chatbot dinamici
Ricordiamo infine che la lingua, in particolare quella utilizzata in azienda, è dinamica. Ogni mese nascono nuove parole ed espressioni, mentre i sistemi IT e le applicazioni di una data azienda cambiano ancora più spesso. Per affrontare così tanti cambiamenti, un chatbot efficace deve essere radicato nel Machine Learning avanzato, poiché ha bisogno di riqualificarsi costantemente sulla base di informazioni in tempo reale.
Nonostante la complessità nascosta, tuttavia, il criterio numero uno per un chatbot di successo è un’esperienza utente senza interruzioni. Nivargi afferma che ciò che la sua azienda ha imparato durante lo sviluppo di tecnologie NLU è che a tutti i dipendenti interessa risolvere le loro richieste, istantaneamente, tramite conversazioni naturali su uno strumento di messaggistica.
All’inizio del decennio, noi umani probabilmente non siamo ancora a nostro agio al 100% con le interazioni chatbot. Sono ancora troppo automatizzati, troppo spesso non intuitivi e (forse non sorprendentemente) troppo simili a macchine. Tecnologie come queste mostrano che abbiamo iniziato a creare chatbot con intelligenza semantica intuitiva, ma c’è ancora del lavoro da fare. Quando arriviamo a un punto in cui la tecnologia può navigare tra le peculiarità e le idiosincrasie del linguaggio umano … allora, proprio in quel momento, potremmo iniziare a divertirci a parlare con i robot.