Intelligenza Artificiale: dietro le quinte

In queste ultime settimane é esploso, anche fra i non addetti ai lavori, il termine Intelligenza Artificiale. Questo termine viene generalmente utilizzato per indicare la tecnologia che sta alla base di tutti quegli “agenti” (da Alexa, all’Assistente Google, a Siri, passando per i vari chatbot, fino ad arrivare al recente ChatGPT) capaci di svolgere compiti fino a poco tempo fa considerati prettamente umani. Fra questi compiti spiccano in particolar modo il riconoscimento di immagini e di linguaggio naturale. Ma cos’è veramente l’intelligenza artificiale? Come funzionano i dispositivi entrati ormai nella nostra quotidianità?

Intro – Programmazione classica

Riprendendo la definizione direttamente dalla Treccani, troviamo che l’intelligenza artificiale é la disciplina che studia se e in che modo si possano riprodurre i processi mentali più complessi mediante l’uso di un computer. Partendo da questa premessa, si può già capire quanto in realtà sia vasto questo settore.

Andiamo ora a restringere un po’ il campo andando a considerare solo i due settori che più ci interessano in questo articolo: il riconoscimento del linguaggio naturale (NLP – Natural Language Processing) ed il riconoscimento di immagini (computer vision). Tali attività fino a poco tempo fa erano ingestibili da una macchina, principalmente per la complessità che tali compiti richiedono. Gestire questi incarichi con dei classici algoritmi (un algoritmo non é altro che una sequenza di semplici istruzioni, che nel nostro caso verranno poi date in pasto ad una macchina) risultava impossibile.

Facciamo un esempio: la scrittura di un algoritmo, secondo il Teorema di Bohm-Jacopini, prevede l’utilizzo di tre costrutti:

  • Sequenza
  • Selezione
  • Iterazione

Supponiamo quindi di dover scrivere un programma che riconosce l’argomento di una determinata frase, classificandola in una delle seguenti classi: meteo, istruzione, lavoro, sport. Il nostro algoritmo potrebbe semplicemente scorrere parola per parola la frase che vogliamo classificare e verificare se tale parola si trovi all’interno di una lista di parole chiave.

Parole chiave meteo: sole, pioggia, neve, grandine
Parole chiave istruzione: insegnante, imparare, scuola, corso
Parole chiave lavoro: stipendio, capo, contratto
Parole chiave sport: correre, sciare, pedalare

Frase da classificare: Oggi ci sarà il sole

Algoritmo:
Ciclo su ciascuna parola della frase, e controllo se la parola é presente in una delle liste di parole chiave:
Oggi: NO
Ci: NO
Sarà: NO
Il: NO
Sole: Si, lista meteo

Numero parole chiave meteo: 1
Numero parole chiave istruzione: 0
Numero parole chiave lavoro: 0
Numero parole chiave sport: 0

Risultato: la frase parla di meteo

Come si può vedere il nostro algoritmo ha funzionato correttamente per il caso in analisi. Appena cambiamo la frase però, volendo analizzare ad esempio: Oggi ho corso attorno alla scuola, notiamo subito come il nostro algoritmo sia debole, visto che classificherebbe tale frase come Istruzione, e non come Sport. Questo é quello che succede con solo tre classi, e con semplici frasi. Immaginate di dover fare tale lavoro per centinaia di classi e frasi più complesse. La nostra implementazione avrebbe dei forti problemi. Ed é qui che ci viene in aiuto l’intelligenza artificiale, ed in particolar modo l’apprendimento automatico (machine learning)…

Machine Learning

Il machine learning é una branca dell’intelligenza artificiale, che punta a fare apprendere ad una macchina delle attività. In particolare, il machine learning parte dal concetto di dati, più che da quello di algoritmo classico. Questo significa che, se ho a disposizione abbastanza dati, posso sfruttare essi per “addestrare” un modello che poi svolgerà il compito su cui é stato addestrato. Tornando al nostro esempio, vuol dire che, se ho a disposizione una lista di frasi già classificate, posso sfruttare tali frasi per allenare un modello che andrà a riconoscere le frasi non classificate. Questo “allenamento” poggia principalmente su concetti statistici, ed infatti il risultato di una classificazione effettuata da tale modello é un livello di probabilità di appartenenza alla classe, per ciascuna classe.

Frase da classificare: Oggi ci sarà il sole
Risultato: Meteo 97%, Istruzione 1%, Lavoro 1%, Sport 1%

*N.B. le percentuali indicate sono puramente casuali

Questi algoritmi sono stati studiati già decenni fa, ma sono diventati applicabili in quest’epoca grazie a due premesse:

  • Quantità di dati disponibili: l’uso massivo del web e dei social network ha permesso di immagazzinare enormi quantità di dati
  • Avanzamenti tecnologici: gli avanzamenti nel campo della potenza computazionale (come il Cloud computing e l’introduzione delle GPU) hanno permesso di eseguire gli algoritmi che processano quest’enorme mole di dati

Insomma, siamo solo agli arbori di tutto quello che l’intelligenza artificiale potrà darci, ma é innegabile come essa sia già entrata a fare parte della nostra quotidianità. Conoscere ad alto livello queste tecnologie potrà farci intuire nuovi futuri campi d’applicazione e soprattutto creare in noi un opinione che ci faccia essere più consapevoli quando si parla di questo tema

Posted in Futuro & InnovazioneTags:
Write a comment