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.
| Modello | Dimensioni |
|---|---|
| Word2Vec (2013) | 300 |
| nomic-embed-text | 768 |
| BGE-M3 (multilingue) | 1024 |
| OpenAI text-embedding-3-small | 1536 |
| OpenAI text-embedding-3-large | 3072 |
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.
| Strategia | Quando |
|---|---|
| A lunghezza fissa | Testo omogeneo, semplice da fare |
| Per struttura (titoli, paragrafi) | Documentazione, manuali, appunti |
| Per significato | Testo 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
| Concetto | In una riga |
|---|---|
| Embedding | Il significato di un testo trasformato in una lista di numeri |
| Spazio vettoriale | Un luogo dove la vicinanza è somiglianza di senso |
| Similarità del coseno | La misura standard: l’angolo fra due vettori |
| RAG | Cercare per significato e mettere i pezzi trovati nel contesto |
| Regola pratica | Stesso modello per indicizzare e per cercare, sempre |
| Ricerca ibrida | Testuale più semantica: recupera i codici che il vettoriale manca |
| Riordino | Secondo passaggio accurato su pochi candidati |
| Chunking | La scelta che pesa più del modello di embedding |
- Embedding
- Vettori
- Ricerca semantica
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.