Guida

Cosa sono gli embedding: spiegazione semplice per non specialisti

Il team di Kopik9 min di lettura

Un embedding è una lista di numeri che rappresenta il significato di un testo: due frasi che dicono la stessa cosa ricevono numeri simili anche se non hanno parole in comune. È il meccanismo alla base della ricerca semantica, quella che trova «Posso riavere i miei soldi?» in una pagina intitolata «Politica di rimborso». In questa guida Le spieghiamo cosa sono gli embedding senza gergo tecnico, svolgiamo a mano un esempio di similarità del coseno che può verificare con la calcolatrice e passiamo in rassegna i limiti da conoscere prima di costruirci sopra qualcosa.

Cos’è un embedding, in parole semplici

Un computer confronta numeri con estrema facilità, ma non sa confrontare significati. Per un motore di ricerca tradizionale «auto» e «macchina» sono due stringhe di lettere diverse, quindi due cose diverse, a meno che qualcuno non abbia inserito un elenco di sinonimi. Gli embedding risolvono il problema traducendo il testo in numeri in modo che il significato si conservi.

In concreto, un modello di embedding legge una parola, una frase o un paragrafo e restituisce una lista di numeri di lunghezza fissa, per esempio 768 o 1.024 valori. Questa lista si chiama vettore. Il modello è stato addestrato perché testi con significato simile ottengano vettori che puntano in direzioni simili, mentre testi senza relazione finiscono lontani.

Un’analogia: la mappa dei significati

Immagini una mappa enorme su cui ogni frase ha una puntina. Le frasi sui rimborsi si raggruppano in un quartiere, quelle sui parcheggi in un altro, quelle sull’IVA ancora più in là. Un embedding non è altro che le coordinate di una frase su questa mappa. Per trovare i documenti legati a una domanda, si pianta una puntina per la domanda e si guarda quali puntine ci sono vicino.

La differenza con uno stradario è che questa mappa non ha due dimensioni, ma centinaia o migliaia. Il significato ha molte più direzioni di nord ed est: argomento, tono, settore, registro e una quantità di sfumature più sottili. Nessuno riesce a immaginare uno spazio simile, ma distanze e angoli si calcolano esattamente come sulla carta.

Come un testo diventa un vettore

  1. Suddivisione in token. Il testo viene tagliato in piccole unità: parole intere, pezzi di parola, punteggiatura. Una parola lunga come «precipitevolissimevolmente» viene spezzata in diversi frammenti.
  2. Codifica nel contesto. Una rete neurale addestrata legge i token tenendo conto delle parole vicine. «Pesca» in «andare a pesca» e in «una pesca matura» riceve una rappresentazione diversa nei modelli moderni.
  3. Sintesi in un unico vettore. Le rappresentazioni interne vengono combinate in una sola lista per tutto il testo, di solito portata a lunghezza 1. Quel vettore finale è l’embedding.

Da dove viene la «comprensione» del modello? Dall’addestramento su quantità enormi di testo, basato su un’antica intuizione della linguistica: le parole che compaiono in contesti simili tendono ad avere significati simili. Un esempio pionieristico è word2vec, presentato nel 2013 nell’articolo Efficient Estimation of Word Representations in Vector Space, che assegnava un vettore a ogni parola. I modelli attuali codificano frasi e paragrafi interi, così una domanda e il paragrafo che la risolve possono trovarsi vicini anche con poco vocabolario in comune.

Le dimensioni non hanno un nome

Verrebbe da pensare che la dimensione 12 significhi «denaro» e la 40 «diritto». Nei modelli reali nessun numero preso da solo è leggibile da una persona: il significato è distribuito su tutti. È uno dei motivi per cui la ricerca tramite embedding è difficile da verificare.

La similarità del coseno, passo dopo passo

Una volta trasformati due testi in vettori, come si misura quanto sono vicini? La misura più diffusa è la similarità del coseno, che guarda l’angolo tra i due vettori. Se puntano nella stessa direzione il risultato è 1; se sono perpendicolari (nessuna relazione) è 0; se puntano in direzioni opposte è -1, anche se con gli embedding di testo la maggior parte dei valori resta tra 0 e 1.

La formula è breve: si moltiplicano i vettori elemento per elemento, si sommano i risultati (il prodotto scalare) e si divide per il prodotto delle loro lunghezze. Facciamolo a mano con vettori giocattolo di tre dimensioni. Per rendere l’esempio leggibile, immaginiamo che i tre numeri significhino «denaro», «reso di un acquisto» e «luogo». I modelli veri non etichettano le dimensioni, ma il calcolo è identico.

Tre embedding giocattolo

TestoDenaroResoLuogo
A: «Come ottengo un rimborso?»0,90,80,1
B: «Posso riavere i miei soldi?»0,80,90,2
C: «Dove posso parcheggiare?»0,10,20,9
  1. Prodotto scalare A·B = 0,9 × 0,8 + 0,8 × 0,9 + 0,1 × 0,2 = 0,72 + 0,72 + 0,02 = 1,46.
  2. Lunghezze. |A| = √(0,81 + 0,64 + 0,01) = √1,46 ≈ 1,208; |B| = √(0,64 + 0,81 + 0,04) = √1,49 ≈ 1,221.
  3. Coseno A, B = 1,46 ÷ (1,208 × 1,221) ≈ 1,46 ÷ 1,475 ≈ 0,99: praticamente la stessa domanda, benché le frasi non condividano quasi nessuna parola.
  4. Prodotto scalare A·C = 0,09 + 0,16 + 0,09 = 0,34; |C| = √(0,01 + 0,04 + 0,81) = √0,86 ≈ 0,927.
  5. Coseno A, C = 0,34 ÷ (1,208 × 0,927) ≈ 0,34 ÷ 1,120 ≈ 0,30: tutt’altro argomento.

Questo è tutto il segreto della ricerca semantica. Si calcola una volta l’embedding di ogni brano dei documenti, si calcola quello della domanda al momento della ricerca, si confrontano e si restituiscono i brani con il punteggio più alto. Con milioni di brani il confronto uno per uno diventa lento: per questo esistono indici specializzati e database vettoriali, che trovano i vettori più vicini in modo approssimato ma molto rapido.

Embedding multilingue: una sola mappa per più lingue

Alcuni modelli vengono addestrati su molte lingue insieme, spesso con coppie di frasi tradotte. Così «politica di rimborso», «refund policy» e «politique de remboursement» finiscono nello stesso punto della mappa, e una domanda in italiano può trovare un brano scritto in inglese. È utile, per esempio, a una PMI che lavora con manuali tecnici di fornitori esteri.

La qualità però non è uniforme. I modelli funzionano di solito meglio nelle lingue più presenti nei dati di addestramento e sono meno affidabili con lingue minoritarie, espressioni regionali o terminologia di settore molto specifica. Se la ricerca tra lingue diverse è importante per Lei, la provi con domande reali in ciascuna lingua.

I limiti degli embedding e della ricerca semantica

  • Identificativi esatti. Un «art. 2103 del Codice civile», una partita IVA, un codice prodotto o un codice di errore hanno poco «significato» per un modello. La ricerca semantica può restituire un brano vagamente collegato dove una ricerca per parole chiave troverebbe subito la riga esatta.
  • La negazione. «Coperto dalla garanzia» e «non coperto dalla garanzia» parlano dello stesso tema, quindi i loro vettori possono essere molto vicini. La similarità misura la vicinanza di argomento, non se due affermazioni concordano.
  • Gergo e termini nuovi. Un prodotto lanciato il mese scorso o una sigla del Suo settore possono essere rappresentati male se il modello non li ha mai incontrati.
  • I brani lunghi si sfocano. Un solo vettore per un testo lungo fa la media di molte idee, e un dettaglio preciso può perdersi.
  • I vettori dipendono dal modello. Vettori prodotti da due modelli diversi non sono confrontabili. Cambiare modello significa ricalcolare tutto.
  • Poca spiegabilità. Quando una ricerca per parole chiave fallisce se ne vede il motivo; quando una ricerca vettoriale restituisce un risultato strano, raramente c’è una ragione chiara.
  • Dati personali. Un embedding non è un’anonimizzazione: alcune ricerche hanno mostrato che è possibile ricostruire in parte un testo dal suo vettore. Ai sensi del GDPR, è prudente trattare gli embedding di documenti con dati personali come dati personali, con le stesse misure di sicurezza dei file d’origine; il Garante Privacy pubblica indicazioni utili in materia.

Nessuno di questi limiti esclude gli embedding. Spiegano però perché molti sistemi in produzione combinano la similarità semantica con la classica ricerca full-text, la cosiddetta ricerca ibrida, per coprire sia le riformulazioni sia i termini esatti.

Ha davvero bisogno degli embedding?

In un sistema RAG, cioè un’IA che risponde a partire dai Suoi documenti, gli embedding sono un modo per trovare i brani pertinenti, ma non l’unico. Il percorso descritto in come funziona il RAG, passo dopo passo vale anche con una buona ricerca full-text.

Embedding o ricerca full-text?

SituazioneEmbeddingRicerca full-text
Gli utenti usano parole molto diverse da quelle dei documentiMolto utiliSufficiente con espansione della domanda
Documenti pieni di articoli, codici e riferimentiIn parteSì, e più precisa
Ogni risultato va giustificatoDifficileFacile
Archivio enorme e poco strutturatoMolto utiliPossibile con un buon ordinamento
Si vuole il minimo di infrastrutturaModello più indice vettorialeIntegrata nei database comuni

Esiste una via di mezzo spesso trascurata: tenere la ricerca full-text, ma chiedere prima a un modello linguistico di ampliare la domanda con parole chiave e sinonimi. «Riavere i miei soldi» diventa una ricerca che include anche «rimborso», «restituzione» e «nota di credito». Si ottiene buona parte del vantaggio semantico senza salvare un solo vettore. È l’approccio di Kopik: Kopik non usa embedding né database vettoriali, ma una ricerca ibrida full-text con ampliamento semantico delle parole chiave, in cui la domanda viene ampliata nella lingua dei documenti così che anche le domande poste in un’altra lingua trovino i brani giusti.

Se sceglie comunque gli embedding, metta in conto il costo completo: archiviazione, indicizzazione e ricalcolo a ogni modifica dei documenti o cambio di modello. La nostra analisi sul costo di un database vettoriale mostra cosa si paga davvero, e la guida alle alternative a Pinecone confronta opzioni più leggere per i piccoli team.

Checklist prima di affidarsi agli embedding

  • Raccolga 20-30 domande reali e verifichi che il brano giusto compaia tra i primi risultati.
  • Includa domande con numeri, nomi e riferimenti esatti, non solo domande vaghe.
  • Provi coppie che differiscono solo per una negazione («ha diritto» e «non ha diritto»).
  • Se lavora in più lingue, le testi una per una.
  • Annoti il modello di embedding usato, per sapere quando serve una reindicizzazione.
  • Protegga i vettori come i documenti di origine: stessi permessi di accesso, stessi tempi di conservazione.

Preferisce non gestire alcuna infrastruttura? Su Kopik carica PDF, file Word, testo o Markdown e ottiene una base di conoscenza che risponde citando i brani, sul sito, tramite API REST o da client MCP come Claude, Cursor o ChatGPT. Creare una base è gratuito.

Interroghi i Suoi documenti senza gestire vettori

Carichi i Suoi file e ottenga una base che trova i brani giusti e risponde citando le fonti. La creazione è gratuita.

Domande frequenti

Che differenza c’è tra un embedding e un vettore?

Un vettore è semplicemente una lista ordinata di numeri. Un embedding è un vettore prodotto da un modello per rappresentare il significato di qualcosa, come una frase o un’immagine. Ogni embedding è un vettore, ma non ogni vettore è un embedding.

Quale valore di similarità del coseno indica che due testi sono simili?

Non esiste una soglia universale. Gli intervalli di punteggio cambiano da un modello all’altro: 0,8 può essere ottimo con uno e mediocre con un altro. Conviene confrontare i punteggi tra loro per la stessa domanda e tarare ogni soglia sulle proprie domande di prova.

Come si dice embedding in italiano?

Si parla talvolta di «incorporamento», «immersione» o «rappresentazione vettoriale», ma nella pratica il termine inglese embedding è di gran lunga il più usato, anche nella documentazione tecnica italiana.

Un modello di embedding è la stessa cosa di un chatbot?

No. Un modello di embedding trasforma un testo in un vettore e si ferma lì: non scrive risposte. Un modello linguistico genera testo. In un sistema RAG la ricerca (con embedding o full-text) trova i brani, poi un modello linguistico redige la risposta partendo da quelli.

Kopik usa gli embedding?

No. Kopik indicizza i brani con una ricerca full-text e amplia ogni domanda con parole chiave e sinonimi nella lingua dei documenti prima di cercare. Così copre riformulazioni e domande in altre lingue senza archiviare vettori.

Riceva la newsletter di Kopik

Nuove basi di conoscenza, guide sul RAG e novità del prodotto. Un'email ogni una o due settimane, disiscrizione con un clic.

Iscrivendosi accetta di ricevere la nostra newsletter. Il Suo indirizzo non viene mai condiviso.