Cosa sono gli embedding: come l’IA trasforma le parole in numeri

Immagine realizzata con IA
Le immagini presenti nel post possono essere realizzate o elaborate con strumenti di Intelligenza Artificiale. Questa scelta nasce anche dalla necessità di prevenire le continue contestazioni e richieste economiche improprie che ricevo relative a fotografie utilizzate che sono sempre state acquistate con regolare licenza.
Contenuti dell'articolo

Se hai letto le lezioni precedenti di questo corso, ormai sai che un’intelligenza artificiale lavora con i numeri.
Ma le parole, quelle che scriviamo noi, come fanno a diventare numeri?
La risposta è negli embedding, uno dei concetti più importanti di tutta l’IA moderna.

In questa lezione te li spiego con esempi semplici e senza formule spaventose.

Il problema di partenza: le macchine non capiscono le parole

Un computer è bravissimo con i numeri, ma non ha idea di cosa significhi la parola “gatto“. Se gli dai in pasto del testo, lui vede solo una sequenza di caratteri. Per fargli elaborare il linguaggio serve un modo per trasformare le parole in numeri che conservino il loro significato.

È qui che entrano in gioco gli embedding.

Cos’è un embedding in parole semplici

Un embedding è una rappresentazione numerica di una parola, di una frase, di un’immagine o di un suono, sotto forma di una lista di numeri chiamata vettore. Il trucco è che i numeri non sono casuali: parole con significati simili finiscono in posizioni vicine, come in una mappa.

Pensa a una mappa delle città. Roma e Milano sono vicine tra loro e tutte e due sono lontane da Tokyo. Lo stesso succede con gli embedding: “gatto” e “cane” hanno vettori vicini, mentre “gatto” e “astronave” sono lontani. La distanza tra i vettori racconta quanto i significati sono simili.

Mappa del significato: parole simili vicine negli embedding

Le dimensioni dello spazio

Una mappa tradizionale ha due dimensioni: nord-sud e est-ovest. Un embedding vive in uno spazio con molte più dimensioni, da poche decine a migliaia. Ogni dimensione cattura una sfumatura di significato che il modello ha imparato dai dati.
Non sempre riusciamo a dire cosa rappresenta esattamente, ma funziona lo stesso.

Un esempio concreto: la frutta

Immagina di dover rappresentare la parola “mela” come una lista di numeri. Il modello potrebbe assegnarle un vettore del tipo [0.9, 0.2, 0.1]. “Arancia” potrebbe diventare [0.85, 0.25, 0.05] e “tavolo” [0.1, 0.8, 0.9].

Esempio di embedding con la frutta: mela e arancia vicine, tavolo lontano

Vedi cosa succede? Mela e arancia, frutti simili, hanno numeri simili. Il tavolo, che con la frutta c’entra poco, ha numeri molto diversi. Questa è l’idea base: parole simili, numeri simili.

Come si creano gli embedding

Gli embedding non vengono inventati da un programmatore. Vengono imparati dal modello durante l’addestramento, osservando milioni di testi. La regola che guida l’apprendimento è semplice: una parola è conosciuta dalle parole che le stanno accanto. Se “gatto” e “cane” appaiono spesso negli stessi contesti, il modello sposta i loro vettori vicini.

All’inizio i vettori sono casuali. Poi, a forza di errori e correzioni, il modello aggiusta i numeri finché le parole simili non finiscono vicine. Il risultato è una mappa del significato costruita automaticamente, senza che nessuno abbia mai spiegato al modello cosa significa “gatto”.

Perché gli embedding sono ovunque

Gli embedding sono la base di tantissime applicazioni che usi ogni giorno:

  • I motori di ricerca li usano per capire che “come cucinare la pasta” e “ricetta della pasta” parlano dello stesso argomento.
  • I sistemi di raccomandazione, come quelli di Netflix o Spotify, rappresentano film e canzoni come embedding per trovare quelli simili ai tuoi gusti.
  • I traduttori automatici li usano per trovare parole equivalenti in lingue diverse.
  • Gli assistenti vocali li usano per capire cosa gli stai chiedendo, anche se usi parole diverse da quelle previste.

Anche le immagini e i suoni possono diventare embedding. In pratica, qualsiasi cosa si possa trasformare in un vettore numerico può essere confrontata, cercata e organizzata da un’IA.

Embedding e one-hot encoding: la differenza

Prima degli embedding si usava un metodo più semplice chiamato one-hot encoding: ogni parola era rappresentata da un vettore con tutti zeri e un solo uno. Il problema è che “gatto” e “cane” risultavano lontanissimi, esattamente come “gatto” e “astronave”. Nessuna informazione sul significato. Gli embedding risolvono questo limite: oltre a identificare la parola, ne catturano il significato e le relazioni con le altre parole.

Domande frequenti

Un embedding è una parola?

No. È la rappresentazione numerica di una parola, o di un’altra cosa come un’immagine. La parola resta testo, l’embedding è la sua versione numerica che il modello può elaborare.

Quante dimensioni ha un embedding?

Dipende dal modello. Alcuni usano poche decine di dimensioni, altri migliaia. Più dimensioni di solito significano più capacità di catturare sfumature, ma anche più memoria e più calcolo richiesti.

Gli embedding funzionano solo per il testo?

No. Si possono creare embedding per immagini, suoni, video e dati di ogni tipo. Ovunque ci sia qualcosa da confrontare, un embedding può aiutare.

Chi decide i numeri di un embedding?

Nessuno li decide a mano. I numeri vengono imparati dal modello durante l’addestramento, osservando enormi quantità di dati. Il risultato dipende dai dati che il modello ha visto.

Gli embedding sono la stessa cosa dei token?

No. I token sono i pezzi di testo, parole o parti di parole, in cui viene diviso un testo. Gli embedding sono i numeri che rappresentano quei pezzi. Prima si tokenizza, poi si trasforma ogni token nel suo embedding. Ne parleremo meglio nelle prossime lezioni.

Newsletter settimanale con le ultime novità sull’intelligenza artificiale

Corso gratuito sull’Intelligenza Artificiale, dalle nozioni base ai concetti più complessi

Condividi:

Potrebbero interessarti