In Italia si sottolinea spesso la carenza di esperti in ambito STEM (Scienze, Tecnologia, Ingegneria e Matematica) e l’importanza di stimolare l’interesse dei giovani verso questi settori. Tuttavia, la formazione in questi ambiti richiede tempo. Anche se oggi guidassimo un giovane fresco di scuole medie verso una carriera tecnologica, ci vorrebbero diversi anni prima che completasse la sua formazione.
Il libro “Tecnologia digitale e innovazione per umanisti” offre una visione alternativa, focalizzandosi sulla diffusione della consapevolezza tecnologica tra coloro che hanno una formazione umanistica. L’opera esplora temi chiave dell’era digitale, come il cloud computing, l’intelligenza artificiale e la blockchain, con l’obiettivo di fornire una comprensione pratica di come queste tecnologie possano portare benefici alla società e migliorare la vita delle persone.
La rivoluzione ChatGPT
ChatGPT fa parte di una famiglia più ampia di modelli di generazione del linguaggio che prende il nome di Natural Language Processing (NLP). Il termine “naturale” qui indica una famiglia di algoritmi d’intelligenza artificiale ispirata ai neuroni del cervello animale, dette reti neurali. La caratteristica di queste reti è di essere composta da un numero molto elevato (nel caso di sistemi quali Chat GPT parliamo di decine di miliardi di neuroni) di unità di elaborazione elementari fortemente interconnessi.
Queste reti possono essere addestrate mostrando loro un numero elevato di esempi “corretti” e “sbagliati” di associazione fra un ingresso (che di volta in volta può essere un testo, o un’immagine, o un insieme di valori che rappresentano un fenomeno che si vuol prevedere) e la risposta attesa (il seguito della frase in ingresso, o la classificazione dell’immagine, o la previsione circa la possibilità di guasto ecc.). In questo modo la rete “impara” ad associare ingressi ed uscite corrette e può poi generalizzare questo comportamento anche a fronte di ingressi (frasi, immagini, insieme di valori) che non ha mia visto prima[1].
Il Natural Language Processing (NLP)
Il Natural Language Processing (NLP) è dunque una branca dell’intelligenza artificiale che si occupa dell’interazione tra computer e linguaggi umani. NLP consente alle macchine di comprendere, interpretare e generare il linguaggio umano. È un settore complesso che coinvolge diverse tecniche, tra cui l’apprendimento automatico, l’analisi statistica e la linguistica. Alcune delle attività che NLP può eseguire includono:
- Classificazione del testo: categorizzazione del testo in base al suo contenuto.
- Riconoscimento di specifiche entità: identificazione ed estrazione di entità, ad esempio persone, luoghi e organizzazioni, dal testo.
- Sentiment analysis: analizzare il tono emotivo di un testo, ad esempio un post su facebook, un tweet o una e-mail al servizio clienti.
- Traduzione automatica: traduzione di testo da una lingua all’altra.
- Riepilogo del testo: generazione di un riepilogo di una parte di testo.
- Conversazione: rispondere a domande e interagire con un utente.
Comprensione del linguaggio, dalla stele di Rosetta all’AI
Fin dalla nascita del campo di ricerca dell’Intelligenza Artificiale negli anni ’50 del secolo scorso, la comprensione del linguaggio ha sempre costituito un obiettivo ambizioso, che però per decenni ha prodotto risultati non soddisfacenti. L’approccio originale infatti partiva dall’ambizione di rendere il computer in grado di comprendere il linguaggio, ma questo tentativo non è stato in grado di superare le molteplici difficoltà insite nella comprensione del linguaggio, ad esempio, il fatto che uno stesso termine può avere significati diversi in funzione del contesto. Un esempio famoso è costituito dal risultato, francamente comico, dei primi sistemi di traduzione automatica: la frase “Lo spirito è forte, ma la carne è debole” veniva tradotto in russo con “La vodka è buona, ma la carne è marcia”.
La svolta arriva negli anni duemila, quando la disponibilità di capacità computazionale e spazio di memoria, oltre alla digitalizzazione una mole mai prima sperimentata di documenti, disponibili su giornali online, siti web, blog eccetera, rende attuabile un approccio completamente diverso, che non implica alcun tipo di comprensione per ricorrere invece all’imitazione. I primi segnali che quella fosse la direzione giusta arrivarono dalle traduzioni, che improvvisamente passarono da pessime a ragionevoli. Il metodo usato poteva ricordare la decodifica dei geroglifici – la cui conoscenza era andata perduta nei secoli – avvenuta tramite la stele di Rosetta, un manufatto che riporta un testo in geroglifico e le sue versioni in greco antico e demotico. Grazie a queste versioni in più lingue e al lavoro di innumerevoli studiosi (Thomas Young e Jean-François Champoillon fra tutti) è stato finalmente possibile “decodificare” la lingua geroglifica.
Come si addestrano le reti neurali
Nel caso dei sistemi NLP, la disponibilità su internet di enormi quantità di testi in più lingue ha permesso di associare segmenti di testo in una lingua a segmenti aventi lo stesso significato in una lingua diversa. Addestrando delle reti neurali ad associare testi in una lingua con le loro traduzioni in un’altra, e grazie alla già citata capacità di generalizzazione di questi sistemi, è stato possibile sviluppare sistemi di traduzione molto efficienti, seppur ancora lontani dal livello di un traduttore professionista. Si noti un elemento importante: la traduzione è fatta per associazione, senza necessità di comprensione.
In generale, i sistemi NLP fanno proprio questo: associano al testo proposto in ingresso il testo “più probabile” secondo una tipologia specifica: un riassunto, la continuazione di un discorso, una risposta.
L’intuizione di Shannon
Questo risultato parte da lontano, ovvero da un’intuizione avuta da Claude E. Shannon, il padre della moderna teoria dell’informazione, nel 1951[2].
Shannon iniziò a studiare il linguaggio come un flusso di simboli generato da una sorgente stocastica, per identificare il modo migliore per comprimere l’informazione (praticamente i primi passi verso la creazione, decenni dopo, dei file zippati). La ricerca mise in luce le caratteristiche statistiche del linguaggio e, soprattutto le correlazioni fra i diversi elementi. Ad esempio, considerando l’alfabeto inglese di 26 caratteri, una sorgente totalmente casuale di caratteri potrebbe generare una stringa tipo:
xfoml rxkhrjffjuj zlpwcfwkcyj ffjeyvkcqsghyd
evidentemente senza nessuna affinità con il testo inglese. Se invece la sorgente statistica produce le lettere usando la stessa frequenza con cui queste si trovano nell’inglese scritto (dove alcune lettere, ad esempio la a e la e, sono più frequenti di lettere quali q e z), il risultato è già meno caotico, seppur ancora lontanissimo dal senso compiuto.
ocro hli rgwr nmielwis eu ll nbnesebya th eei
Il terzo step introdotto da Shannon consisteva nel considerare la probabilità delle coppie di lettere, “premiando” coppie frequenti (es. “to”) rispetto a coppie più rare o assenti (es. “zt”).
on ie antsoutinys are t inctore st be s deamy achin d ilonasive tucoowe at teasonare fuso
Vediamo che in una statistica di terzo livello (secondo la definizione di Shannon) non abbiamo ancora parole inglesi, ma troviamo rappresentati i primi fonemi “ragionevoli”. Il passo successivo, statistica di quarto livello, consiste nel considerare la frequenza di trigrammi, ovvero sequenze di 3 lettere. Il risultato si avvicina ancora di più al testo inglese:
in no ist lat whey cratict froure birs grocid pondenome of demonstures of the retagin is regiactiona of cre.
Le approssimazioni successive prevedono di non utilizzare gruppi di lettere ma intere parole. Nell’approssimazione di livello 5 abbiamo parole generate secondo la loro frequenza nell’inglese scritto:
representing and speedily is an good apt or come can different natural here he the a in came the to of to expert gray come to furnishes the line message had be these
Mentre nell’approssimazione di livello 6 Shannon considerava la probabilità di transazione fra una parola è la successiva (La probabilità che dopo la parola “black” si trovi la parola “cat”, ad esempio, è sensibilmente più elevata della probabilità di trovare invece la parola “fire”).
the head and in frontal attack on an english writer that the character of this point is therefore another method for the letters that the time of who ever told the problem for an unexpected.
Allargando sempre più la lunghezza della sequenza di caratteri è possibile generare testi sempre meno distinguibili dai testi generati dall’intelligenza umana. Ai tempi di Shannon però eseguire i miliardi di operazioni necessarie per valutare queste correlazioni tra stringhe molto lunghe di caratteri e memorizzarle in un sistema informatico, che quindi acquisisse la capacità di generare testi credibili, era semplicemente impensabile. Con il continuo progresso dell’informatica i sistemi NLP sono ora in grado di farlo.
Note
[1] Una trattazione completa delle reti neurali esula dagli scopi di questo libro. Per una trattazione introduttiva si veda D’Acquisto, G., “Intelligenza Artificiale – Elementi”, ed. Giappichelli
[2] Shannon, C. E.: Prediction and entropy of printed English. Bell System Technical Journal, 30, 50 (1951)