giovedì 07 Gen, 2021
,

Come un nuovo paradigma rivoluziona il Natural Language Processing: Chatbot sempre più bravi a comprenderci?

La branca del Trattamento Automatico del Linguaggio, o Natural Language Processing (NLP) è in costante ascesa e continua a registrare continui breakthrough. Dunque, continuiamo a chiederci: fino a che punto oggi i computer sono capaci di comprendere il significato dei testi?

Agli albori dell’analisi del linguaggio venivano impiegate regole pre-calco- late, mentre a partire dagli anni ‘90 si iniziano a utilizzare tecniche di Intelligenza artificiale (IA), e in particolare quelle afferenti a una sottodisciplina nota come Deep Learning (DL). In questa si trae ispirazione dal funziona- mento del cervello dei mammiferi, in cui cellule neuronali, tra loro connesse, in corrispondenza di input sensoriali provenienti dall’esterno, o dall’interno, danno luogo a lunghe cascate di attivazioni sinaptiche che abilitano o disabilitano il compimento di certe azioni al fine di massimizzare le possibilità di sopravvivenza e riproduzione dell’individuo.

Esponendo gradualmente una rete neurale ad un certo numero di esempi già risolti relativi ad un dato problema (ad esempio, riconoscimento di immagini o testo) questa può essere “addestrata” a trovare soluzioni a esempi mai visti prima. Dopo le Recurrent Neural Networks (RNN), recentemente, sono stati introdotti i Transformers, una nuova classe di reti neurali costituite da milioni di neuroni in grado di “comprendere” il testo dato in input. Il passo in avanti dei Transformers rispetto alle RNN è costituito dall’introduzione di un meccanismo denominato Attention che permette di catturare il significato di una sequenza di parole “prestando attenzione”, spostando opportunamente il focus sulle relazioni e concetti che esse producono combinandosi tra loro.

FIG.1 Rappresentazione schematica di una rete neurale. La rete legge l’input assegnando un neurone per parola e propaga l’informazione da sinistra verso destra attraverso le connessioni, dai neuroni dei layer interni (o nascosti) fino ai neuroni di output. Il valore di output più alto rappresenta il risultato della rete. In questo esempio data la frase “Ho perso la password” la rete la riconosce come un “Problema di accesso”.

Google, tra le prime, ha di recente rilasciato un suo modello Transformers denominato Bert e ha deciso di impiegarlo per migliorare i risultati delle sue ricerche. Oggi, il 100% dei risultati ottenuti sono coadiuvati dal lavoro di interpretazione semantico svolto da questo modello.

Le Parole dell’Intelligenza Artificiale

Algoritmo | Un programma informatico è un insieme finito di istruzioni elementari, di passi (come una ricetta di cucina), per ottenere, dato un particolare input, determi- nisticamente sempre il solito risultato.

IA: Intelligenza Artificiale | Branca dell’Informatica de- putata allo studio di “Agenti intelligenti”: qualunque di- spositivo che percepisce il suo ambiente e agisce in modo tale da massimizzare le possibilità di successo nell’ottenere il proprio obiettivo.

ML: Machine Learning (Apprendimento Automatico) | Sottoinsieme dell’Intelligenza Artificiale in cui il comporta- mento dell’agente o l’algoritmo non sono definiti dall’uomo, ma viene costruito un sistema di apprendimento che, dato un insieme di esempi e di risultati attesi, deve derivare da solo l’algoritmo adatto.

Deep Learning (DL)| Classe di algoritmi di ML in cui si utilizzano Reti Neurali Artificiali “profonde” composte da molti strati (in gergo, “layer”) per creare astrazioni pro- gressivamente di più alto livello.

Natural Language Processing (NLP) | Il NLP è un campo dell’IA che si prefigge di costruire modelli di ML capaci di comprendere e manipolare dati testuali e audio.

Backpropagation (Backprop o BP) | Questo algoritmo è stato il primo importante breakthrough che ha permesso alle reti neurali di poter essere allenate efficacemente.

Task | È il compito che il sistema di ML deve essere in grado di risolvere.

Case Study

Customer Service

Come funzionano i modelli basati sui Transformers? Tutto si basa sulle Attention. Per capire cosa sono iniziamo dal definire il compito (task) che il nostro modello di Machine Learning (ML) dovrà risolvere, in modo da illustrare il funzionamento del paradigma precedente attraverso un semplice esempio. Consideriamo il caso d’uso di un chatbot, assistenti virtuali che rispondono via chat e che sono preposti alla sostituzione o all’affiancamento del customer care. Prendiamo, ad esempio, un chatbot utilizzato per fornire all’utente servizi bancari. Per esse- re d’aiuto deve essere in grado di capire ciò di cui ha bisogno l’utente, ma il linguaggio naturale è spesso caratterizzato da parole o significati sottintesi. Una tipica domanda è:

Frase n°1
“Non riesco a fare un prelievo, ho perso la password”

in cui l’utente non può prelevare soldi dal proprio conto perché non riesce ad effettuare il login sul sito.

Una frase molto simile, ma dal significato diverso è:

Frase n°2
“Non riesco a fare un prelievo, ho perso la pazienza”

in cui l’utente non riesce ad ritirare soldi dal proprio conto per un motivo imprecisato.

Nelle RNN, utilizzate finora, un po’ come noi umani, il chatbot “legge” la frase in input a partire da sinistra verso destra, una parola per volta. Dunque, come riesce a capire la frase in input? In questo paradigma, c’è una memoria che ha lo scopo di “ricordare” le parole che sono state viste in precedenza, in modo da catturare il contesto della frase e di tenerlo in una sua rappresentazione interna. Se la frase è molto lunga c’è il rischio che la memoria si “dimentichi” ciò che ha imparato all’inizio: immaginate di dovervi ricordare le prima parole di un libro una volta arrivati alla fine!

I Transformers, invece, funzionano diversamente: non “vedono” la frase parola per parola, ma tutte nello stesso momento. Non hanno una memoria “ricorrente”, ma adoperano un meccanismo speciale per decidere su cosa porre la propria “attenzione”. Possiamo immaginare un modello Transformer come la linea di una catena di montaggio, in cui ad ogni step viene costruito, per composizione, il significato della frase mettendo in risalto, di volta in volta, come si relazionano le parole e i significati che esse producono.

FOCUS BOX

È interessante sapere come tali modelli siano capaci di imparare a manipolare i significati delle parole attraverso l’applicazione delle comuni operazioni matematiche.
Ad esempio, con la seguente equazione sono capaci di definire il significato di “regina”:

KING – MAN + WOMAN = QUEEN

Ovvero, sottraendo il concetto di “uomo” e aggiungendo quello di “donna” al concetto di “re”, si arriva al concetto di “regina”.

FIG.2- La differenza tra RNN e Transformers: una Recurrent Neural Network (sopra) legge la frase una parola per volta, mentre un Transformer (sotto), tutta nello stesso momento.

FIG.3 – Una rappresentazione semplificata del meccanismo di Attention applicato alle frasi n°1 e n°2 di una rete BERT allenata a distinguere le intenzioni dell’utente. Nel primo caso la rete si focalizza sulle parole “password” e “perso”, perché capisce si tratta di un problema di login, mentre nel secondo caso si concentra solo su “non posso” e “prelevare” perché capisce che l’utente ha problemi a ritirare.

Come dicevamo nell’introduzione, il modello di ML che ha usato per primo i Transformers, Bert, fa di più: collega molti Transformers uno sull’altro (tredici, per la precisione), in modo da creare rappresentazioni interne sempre più complesse.

Ad ogni step (layer) della catena di montaggio, Bert, dunque, pone l’attenzione sull’attenzione che aveva posto nello step precedente. La rete che guarda se stessa.

Frase n°3
“Ho pers la pass, come prendo i miei soldi?”

Cosa succede se gli utenti introducono errori ortografici oppure parole non appartenenti al vocabolario della lingua in cui è stato allenato? Oppure se introducono variazioni nella sintassi come possiamo osservare nella terza frase? Grazie al meccanismo di Attention riusciamo ancora a catturare il significato della frase, in quanto l’uso nel contesto di quelle parole produce lo stesso significato. Inoltre, anche grazie a come il modello ha costruito il suo vocabolario interno, “pass” e “password” per lui sono equivalenti e identificano la stessa cosa.

Bert è largamente utilizzato in molti settori dell’industria laddove vi è la necessità di imparare da grandi quantità di dati testuali, come nel caso dei chatbot: in questi casi l’interazione con utenti umani richiede elevata capacità di comprensione del significato delle domande poste.

Attualmente vengono rilasciati un numero sempre maggiore di modelli basati sul paradigma dei Transformers, con nuove varia- zioni architetturali tese a migliorarne le performance. Ad esem- pio, nel momento in cui scriviamo, OpenAI, la startup fondata inizialmente da Elon Musk e finanziata, tra i vari, anche da Mi- crosoft, ha appena rilasciato la terza versione di un suo modello Transformers denominato GPT-3.

È un modello addestrato su miliardi di parole, che per essere allenato si stima siano necessari circa 4 milioni di dollari. GPT-3 vuole essere il primo one-shot learner della storia, ossia il primo modello con una conoscenza così vasta da poter essere in grado di eseguire task specifici a partire da un addestramento basato su un solo esempio. Ad oggi, però, il modello non è stato rilasciato al grande pubblico, tranne che per singole eccezioni. Presto però, potrà essere utilizzato da chiunque ne vorrà fare uso, previo accordo con OpenAI.

Scopri subito la nuova edizione di

Tecnologia & Innovazione