NLP (Natural Language Processing): Come le macchine ci ascoltano, interagiscono ed imparano grazie all’intelligenza artificiale?
Non è un caso che nel 2018 Yoshua Bengio abbia vinto insieme con altri colleghi il premio Turing per l’innovativo lavoro sulle reti neurali. Crediamo di non fare un torto a nessuno nell’annoverarlo tra i pionieri dell’intelligenza artificiale, uno di quegli scienziati che ha tentato, oltre ogni scetticismo, di insegnare al computer a comprendere il linguaggio umano senza dipendere da un rigido processo di programmazione.
Per gli amanti del genere, se qualcuno che ci sta leggendo ha visto l’undicesima stagione di X-files, settima puntata, quando in un mondo dominato dall’IA i protagonisti si rifiutano di lasciare la mancia all’elettronico servizio del ristorante scatenando la ribellione della tecnologia, potrebbe convenire che quella situazione è l’evoluzione massima del progetto di Bengio: far sì che la tecnologia sia non solo in grado di capire il linguaggio/ comportamento umano ma anche di avere delle reazioni.
Oggi non siamo molto stupiti se Google Assistant alla domanda “Google mi vuoi bene” risponde “Amerei amare… se solo potessi” e a “Cosa ne pensi di Alexa?” replica “Ha una voce affascinante, cos’altro vuoi sapere?!”. In realtà tutto questo è straordinario, in quel momento una “macchina” programmata in milioni di linee di codice (non rigide) non solo sta interagendo con noi, ma sta anche comprendendo cosa le chiediamo ed è consapevole. In poche parole simula il linguaggio e la reazione umana del pensiero. Non solo: più interagisce e più impara.
L’evoluzione del NLP
Tutto questo 20 anni fa sarebbe stato eccezionale. Era l’epoca del NLM, neural language model, ovvero di quei modelli che dovevano predire la parola successiva (suggerimenti automatici) o far scattare un alert che segnalasse che la parola utilizzata non era corretta (controllo ortografico). Si era ancora lontani dal far sì che la macchina potesse addirittura capire il contesto e l’accezione di alcune parole (analisi strutturale e semantica).
E’ stato, poi, il momento di approfondire quanto già iniziato negli anni ’90 da Rich Caruana, con l’ MTL, multi-task learning. L’apprendimento multi-task ha il compito di far sì che modelli allenati a risolvere task differenti ma correlati forniscano analisi più robuste, concentrandosi su un sottoinsieme di input condiviso. Un esempio che può aiutare a capire l’utilità dell’apprendimento multi-task è quello del riconoscimento di oggetti in foto: avrò A che tenta di riconoscere una forchetta, B che tenta di riconoscere un piatto, in questo caso è molto probabile che laddove ho il piatto ci sarà anche la forchetta. A e B avranno lo stesso approccio nel riconoscere gli oggetti e questo consente un risparmio di tempo.
Si è poi passati alle principali innovazioni in materia di word embedding, che hanno sancito nel 2018 il successo del Natural Language Processing. Mantenendo volutamente un tenore di alto livello, in estrema sintesi, il word embedding serve, attraverso una sequenza di numeri e un processo tecnico tutt’altro che banale, a conservare il significato delle parole e conseguentemente anche a contestualizzare.
Basandosi, tuttavia, sulla distribuzione delle parole, se io ho una parola che è scritta in maniera identica, ma ha diversi significati, anche il word embedding incontra dei limiti e necessita di ulteriori tecnicismi.
Successivo grande passo che ha portato poi ai modelli Transformer è stato, quindi, quello del Reti Neurali Ricorrenti distinguibili in 4 architetture (Sequence to Sequence, Sequence to Vector, Vector to Sequence, Delayed sequence to sequence) versus le Reti Neurali Ricorsive. Una Rete Neurale Ricorrente ha una struttura sequenziale, una Rete Neurale Ricorsiva ha una struttura ad albero. Esemplificando al massimo: con una Rete Neurale Ricorrente si processa più volte una informazione, cogliendo lo strato nascosto, arrivando a elaborazioni complesse come, ad esempio, il riconoscimento di un fenomeno (input=terremoto, acqua del mare che si ritira, strato nascosto= in caso di tsunami in prossimità del mare l’acqua potrebbe ritirarsi, output = alert tsunami). La Rete Neurale Ricorsiva, invece, è stata usata per comprendere il gioco del Go in cui si ha una tavola (il Goban, reticolo di 19 righe orizzontali e 19 verticali che rappresenta il mondo) e pietre nere e bianche per due giocatori. I giocatori depongono a turno le loro pedine (dette pietre) su un qualsiasi incrocio libero del reticolo, dando il via alla corsa alla colonizzazione del mondo: le pietre sono i posti di frontiera e non possono più essere mosse una volta collocate. Le pietre di uno stesso giocatore collaborano a formare i confini dei territori (gli stati, le nazioni) in cui alla fine sarà diviso il goban. Si procede così fino a quando terminano le pietre (vince chi è riuscito a formare territori più ampi) oppure quando entrambi i giocatori decidono che non vi è più convenienza a proseguire la partita.
Come funzionano oggi gli assistenti virtuali
E veniamo, infine, ai modelli Transformer, evoluzione del matrimonio tra reti Sequence to Sequence (Reti Neurali Ricorrenti) e del rivoluzionario meccanismo dell’Attenzione tipico del modello LSTM, Long Short Term Memory. I Sequence to Sequence sono particolarmente utili nella creazione di traduttori. Le reti Sequence to Sequence consistono in un Encoder e in un Decoder. In maniera molto semplificata, ancora una volta, un Encoder prende una frase, letta parola per parola, in una lingua che viene trasformata in una rappresentazione intermedia (IR) che il Decoder traduce nell’ulteriore lingua desiderata.
Ma come può essere colta la semantica, il significato, soprattutto nel caso in cui ho testi molto lunghi? É qua che entra in gioco il “meccanismo dell’Attenzione” che simula ciò che fa il nostro cervello quando cerca di estrapolare informazioni utili in un testo. Ad ogni parola viene, quindi, attribuito un peso (dall’encoder) e viene data più importanza a determinate parole rispetto ad altre…Ricordate quando si usavano evidenziatori di colori diversi a seconda dell’importanza delle informazioni in un testo da studiare? Il meccanismo è il medesimo.
Ecco un modello Transformer gestisce sequenze di dati e ne produce altrettante senza impiegare le Reti Neurali Ricorrenti, ma puntando tutto sull’Attenzione! Il vantaggio immediato è quello di liberarsi della struttura sequenziale intrinseca delle Reti Neurali Ricorrenti ottenendo prestazioni migliori in termini di velocità e risultato. Sapete qual è davvero il risultato migliore che potremmo trarre dai modelli Transformer? Mai sentito parlare di BERT e RoBERTa? Si tratta tutti di tutti quei modelli, usati da social network come Facebook, utili a contenere episodi di cyber bullismo, moderando i contenuti. Non serve scomodare gli algoritmi per comprendere che, al primo posto, per fronteggiare tale fenomeno serve ATTENZIONE!
Da qualche tempo Bnova sta lavorando a progetti che vedono protagonista il Natural Language Processing. In questo articolo lo abbiamo affrontato in modo molto semplice, ma qualora interessati siamo a disposizione per raccontarvi di più!
Modello Trasformer, leggi il paper di approfondimento “Attention is all you need”