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

 

Approfondimenti da BNext:

Data Science Lifecycle, le 6 (+1) fasi del processo

La Data Science è un campo di studi interdisciplinare il cui obiettivo finale è estrarre informazione e conoscenza utili da dati strutturati o non strutturati. Non esiste un framework unico e universalmente condivido per definire i processi di Data Science, tuttavia, dal punto di vista tecnico lo standard KDD è quello a cui ci si ispira maggiormente, perché indica l’intero processo di ricerca di nuova conoscenza dai dati.

A cosa serve la Data Science?

L’analisi dei dati è in generale una materia molto ampia e con una storia che rimanda indietro di diversi anni da oggi. Si inizia a parlare di analisi dati già alla fine del 1700 con le prime visualizzazioni grafiche e l’evoluzione di questa materia non solo negli...

Churn Strategy: gli step per impostarla al meglio minimizzando il Churn Rate

Churn analysis e churn rate sono due concetti strettamente connessi: l’analisi degli abbandoni (churn analysis) è quella branca della Data Science attraverso cui si cerca di prevedere quali clienti hanno maggiori probabilità di abbandonare l’azienda, cosa che si...

I 6 comandamenti per un Data Storytelling di successo 

Letteralmente il Data Storytelling è l’arte del raccontare una storia attraverso i dati. Si tratta dell’evoluzione della Data Visualization, l’ultimo step di quel lungo processo analitico che ha lo scopo di trasformare i dati provenienti dalle diverse origini di...

Cosa sono i Big Data e come vengono utilizzati?

I Big Data sono ormai entrati a far parte del mercato tecnologico globale, ma spesso questa definizione viene utilizzata senza aver chiaro di cosa si tratta o di quali sono le accortezze e le tecnologie necessarie per poterli sfruttare al meglio nel loro valore...

Chi è e quanto guadagna un Data Engineer?

Fino a qualche tempo fa occuparsi dell’analisi dati in azienda voleva dire fare BI, e non era difficile trovare figure che si occupassero di questo. Nell’ultimo decennio, invece, l’analisi dati si è evoluta in modo esponenziale, si inizia a parlare di Data Science,...

Eyes4Innovation, la rete che ti semplifica la vita

La rete ti semplifica la vita. Ecco la massima sintesi del motivo per cui è nata Eyes4Innovation, ed anche lo scopo ultimo perseguito dalle aziende fondatrici. Scopri com’è andato l’evento di presentazione.

Dataiku e Data Exploration: chi è il miglior detective della serie “Scooby-doo”?

Dataiku e la data exploration, il primo passo per impostare i progetti nel modo più adatto è esplorare i dati e imparare a conoscerli.

Dataiku viene lanciato in AWS Marketplace

Tutti i clienti AWS potranno accedere a Dataiku e sfruttare la potenza dell’AI: infatti Dataiku adesso è disponibile sul marketplace AWS.

Denodo e la data virtualization a supporto di Machine Learning e Data Science

Il Machine Learning e la Data science sono strettamente legate alla data virtualization. denodo è il tool ideale individuato da BNova