← Tutte le lezioni
Lezione 06 Fondamenti 6:57

Embedding e spazio vettoriale

Trasformare il significato in coordinate. È il meccanismo dietro la ricerca semantica e il RAG: testi vicini di senso finiscono vicini nello spazio, anche con parole diverse.

Il video parte solo se lo chiedi: nessuna richiesta a YouTube prima del click.

Immagina una biblioteca dove i libri non sono ordinati per autore o per titolo, ma per significato: un romanzo sulla solitudine finisce accanto a una poesia sulla malinconia, anche se non condividono una sola parola. L’embedding è il bibliotecario che decide dove va ogni libro in base a quello che dice, non a come è scritto.

Oppure: pensa alle coordinate GPS. Ogni luogo ha latitudine e longitudine, e due posti vicini hanno numeri simili. L’embedding fa lo stesso con il testo.

Che cos’è, concretamente

Un modello di embedding prende un testo e restituisce un vettore: una lista di numeri di lunghezza fissa.

"Re"          → [ 0.23, -0.45,  0.82,  0.15, -0.67, ...]
"Regina"      → [ 0.25, -0.42,  0.79,  0.18, -0.63, ...]   numeri simili
"Automobile"  → [-0.56,  0.78, -0.12,  0.91,  0.23, ...]   numeri lontani

Ogni numero è una dimensione del significato. Nessuno decide a mano cosa rappresentano: il modello le impara da solo durante l’addestramento. Possiamo immaginarle come “quanto è regale questo concetto”, “quanto è concreto o astratto”, “quanto è positivo” — moltiplicato per centinaia o migliaia di assi.

ModelloDimensioni
Word2Vec (2013)300
nomic-embed-text768
BGE-M3 (multilingue)1024
OpenAI text-embedding-3-small1536
OpenAI text-embedding-3-large3072

Vicinanza uguale somiglianza

Se il significato diventa una posizione, la somiglianza diventa una distanza. La misura più usata è la similarità del coseno: guarda l’angolo fra due vettori, non la loro lunghezza. Vale 1 quando puntano nella stessa direzione, 0 quando sono perpendicolari.

Da qui nasce la proprietà più affascinante: nello spazio degli embedding si può fare aritmetica sui concetti.

vettore("Re") - vettore("uomo") + vettore("donna")  ≈  vettore("Regina")

Non è magia, è geometria: la direzione che separa “uomo” da “donna” è più o meno la stessa che separa “re” da “regina”, perché nei testi quelle coppie compaiono in contesti analoghi.

A cosa serve davvero

Ricerca semantica. Cercando “come faccio a ridurre le spese di casa” un motore tradizionale pretende quelle parole; la ricerca per embedding trova anche un documento intitolato “risparmiare sulle bollette”. Nessuna parola in comune, stesso significato.

RAG. È la base del retrieval augmented generation: si spezzano i documenti in pezzi, si calcola l’embedding di ciascuno, si salvano in un database vettoriale. Alla domanda dell’utente si cerca i pezzi più vicini e li si mette nel contesto del modello. È così che un LLM risponde su documenti che non ha mai visto in addestramento.

Raggruppamento e deduplicazione. Articoli simili si addensano nello stesso punto dello spazio, quindi si possono raggruppare o riconoscere come doppioni senza leggerli.

Cose da sapere prima di usarli

Il modello di embedding deve essere lo stesso per i documenti e per le domande: due modelli diversi producono spazi incompatibili, e i confronti non hanno senso. Se cambi modello, devi ricalcolare tutto l’archivio.

Conta anche la dimensione dei pezzi: troppo grandi diluiscono il significato, troppo piccoli lo frammentano. Qualche centinaio di parole con un po’ di sovrapposizione è il punto di partenza abituale.

Quando la somiglianza non basta

La ricerca per significato ha un punto debole preciso: le parole che devono corrispondere esattamente.

Domanda: "errore E-4021 sul modulo di pagamento"

Ricerca per significato:  trova documenti su errori di pagamento in generale,
                          ma può mancare quello che contiene proprio "E-4021"
Ricerca testuale:         trova E-4021 al primo colpo, ma non capisce
                          che "transazione fallita" è lo stesso argomento

Codici, sigle, nomi propri, numeri di versione, riferimenti normativi: casi in cui la corrispondenza letterale conta più del senso. La soluzione non è scegliere, è combinare. I due elenchi di risultati si fondono con un punteggio unico, e nella pratica l’ibrido batte quasi sempre il solo vettoriale: costa poco e recupera proprio i casi in cui il vettoriale fallisce in modo imbarazzante.

Due passaggi invece di uno

C’è un limite strutturale in questo meccanismo: la domanda e il documento diventano vettori separatamente, senza mai guardarsi. Il confronto avviene fra due riassunti numerici, non fra i testi.

Un riordinatore fa l’opposto: prende la coppia domanda-documento insieme e assegna un punteggio di pertinenza. È molto più accurato e molto più lento, quindi non si può usare su un archivio intero. Da qui lo schema a due stadi, standard nei sistemi seri:

1. RECUPERO   veloce      → dai 100.000 documenti prendi i 50 candidati
2. RIORDINO   accurato    → fra i 50, scegli i 5 davvero pertinenti
3. RISPOSTA   quei 5 nel contesto del modello

Il guadagno è doppio: meno pezzi nel contesto e più pertinenti. Siccome il contesto è la risorsa scarsa, passare da dieci documenti mediocri a tre buoni migliora la risposta e riduce il costo insieme.

La decisione che pesa più del modello

Prima di calcolare qualsiasi vettore bisogna decidere come spezzare i documenti, e questa scelta conta più di quale modello di embedding usi. Viene quasi sempre fatta senza pensarci.

StrategiaQuando
A lunghezza fissaTesto omogeneo, semplice da fare
Per struttura (titoli, paragrafi)Documentazione, manuali, appunti
Per significatoTesto discorsivo, costa di più

Due regole risolvono la maggior parte dei casi. Tieni una sovrapposizione fra pezzi consecutivi, così una frase a cavallo non viene decapitata. E conserva il contesto d’origine insieme al pezzo — titolo, sezione, data: un paragrafo isolato dice molto meno di un paragrafo che sa da dove viene.

Il difetto tipico è il contrario di quello che ci si aspetta: pezzi troppo grandi. Un capitolo intero produce un vettore che è la media di troppi argomenti, e quindi non è vicino a nessuna domanda in particolare.

In sintesi

ConcettoIn una riga
EmbeddingIl significato di un testo trasformato in una lista di numeri
Spazio vettorialeUn luogo dove la vicinanza è somiglianza di senso
Similarità del cosenoLa misura standard: l’angolo fra due vettori
RAGCercare per significato e mettere i pezzi trovati nel contesto
Regola praticaStesso modello per indicizzare e per cercare, sempre
Ricerca ibridaTestuale più semantica: recupera i codici che il vettoriale manca
RiordinoSecondo passaggio accurato su pochi candidati
ChunkingLa scelta che pesa più del modello di embedding

Lezioni collegate

  • La tokenizzazione

    Il modello non legge lettere né parole: legge token. Capire come il testo viene spezzato spiega i costi, i limiti di contesto e certi errori che sembrano assurdi.

  • Cosa sono i Large Language Model

    Un LLM predice la parola successiva, un token alla volta. Da qui nasce tutto: cosa sanno fare davvero, perché ogni tanto inventano, e cosa vogliono dire sigle come 7B, Instruct o MoE.

Guarda su YouTube