Se cerchi "come restituire un prodotto difettoso" nell'archivio di un negozio online e il documento giusto si intitola "Procedura per i resi in garanzia", una ricerca tradizionale per parole chiave potrebbe non trovarlo: le parole non coincidono. Una ricerca semantica, invece, lo trova, perché confronta il significato e non le singole parole. Alla base di questa capacità c'è un concetto fondamentale dell'intelligenza artificiale moderna: gli embedding.
Dal testo ai vettori
Un embedding è una lista di numeri, cioè un vettore, che rappresenta un pezzo di testo: una parola, una frase, un paragrafo o un intero documento. Questi numeri non sono casuali. Vengono prodotti da un modello addestrato in modo che testi con significato simile ottengano vettori vicini tra loro, e testi con significato diverso vettori lontani.
Per farsi un'idea, immagina una mappa. Ogni frase è un punto. "Il volo è stato cancellato" e "La compagnia ha annullato la partenza" finiscono vicinissimi; "La torta è nel forno" sta da tutt'altra parte. Nella realtà la mappa non ha due dimensioni, ma centinaia o migliaia, e ogni dimensione cattura qualche sfumatura del significato in un modo che non sempre ha un'interpretazione umana semplice.
Come si misura la vicinanza
Per capire quanto due testi sono simili, si confrontano i loro vettori. La misura più usata è la similarità del coseno, che in sostanza guarda se i due vettori "puntano" nella stessa direzione. Il risultato è un numero: più è alto, più i testi sono vicini per significato.
Il bello di questo approccio è che non serve alcuna regola linguistica scritta a mano. Sinonimi, parafrasi e perfino traduzioni in altre lingue possono risultare vicini, se il modello che produce gli embedding è stato addestrato su dati multilingue.
Come funziona una ricerca semantica
Il processo si divide in due momenti.
Preparazione dell'archivio
- I documenti vengono divisi in frammenti di lunghezza ragionevole, per esempio paragrafi o sezioni.
- Per ogni frammento si calcola l'embedding.
- Vettori e testi vengono salvati in un archivio adatto, spesso chiamato database vettoriale, progettato per trovare rapidamente i vettori più vicini tra milioni.
Interrogazione
- La domanda dell'utente viene trasformata in un embedding con lo stesso modello.
- Il sistema cerca nell'archivio i frammenti con i vettori più vicini.
- Restituisce i risultati ordinati per somiglianza.
Parole chiave o significato?
| Aspetto | Ricerca per parole chiave | Ricerca semantica |
|---|---|---|
| Cosa confronta | Le parole presenti | Il significato |
| Sinonimi e parafrasi | Spesso non li trova | Li trova |
| Codici, sigle, numeri esatti | Molto precisa | Può essere imprecisa |
| Spiegabilità | Facile capire perché un risultato compare | Meno immediata |
Le due tecniche non si escludono. Molti sistemi usano una ricerca ibrida: combinano i risultati della ricerca per parole chiave, ottima per codici di prodotto o numeri di articolo, con quelli della ricerca semantica, migliore per domande formulate liberamente.
Dove si usano gli embedding
- Archivi documentali aziendali: trovare procedure, contratti o verbali senza ricordarne il titolo esatto.
- Assistenza clienti: associare una richiesta alla risposta più pertinente nella base di conoscenza.
- Raccomandazioni: suggerire articoli o prodotti simili a quelli già apprezzati.
- Individuazione di duplicati: riconoscere segnalazioni o ticket che descrivono lo stesso problema con parole diverse.
- Raggruppamento automatico: organizzare migliaia di commenti o recensioni per tema.
- Sistemi RAG, in cui un modello linguistico risponde basandosi su documenti recuperati proprio tramite ricerca semantica.
Le scelte che contano
La dimensione dei frammenti
Frammenti troppo lunghi mescolano argomenti diversi e il vettore diventa una media poco precisa. Frammenti troppo corti perdono il contesto. Spesso si lascia una piccola sovrapposizione tra frammenti consecutivi, per non spezzare un concetto a metà.
Il modello di embedding
Modelli diversi funzionano meglio su lingue, settori e lunghezze di testo diversi. Un modello generico può confondere termini tecnici specialistici. Conviene provarne più d'uno sui propri documenti con un piccolo insieme di domande di cui si conosce la risposta.
Coerenza
Documenti e domande devono essere trasformati con lo stesso modello: vettori prodotti da modelli diversi non sono confrontabili. Se si cambia modello, l'intero archivio va ricalcolato.
Permessi
Un sistema di ricerca semantica deve rispettare gli stessi permessi dell'archivio originale: se un utente non può aprire un documento, non deve nemmeno vederlo comparire tra i risultati.
I limiti
Gli embedding catturano la somiglianza di significato, non la verità o l'attualità. Un documento obsoleto ma ben scritto può risultare il più pertinente. Inoltre la vicinanza può ingannare: "il contratto prevede la penale" e "il contratto non prevede la penale" sono testi molto simili, con significato opposto. Per questo la ricerca semantica va accompagnata da metadati come data, versione e stato di validità del documento.
In sintesi
- Un embedding è un vettore numerico che rappresenta il significato di un testo.
- Testi con significato simile hanno vettori vicini, misurati di solito con la similarità del coseno.
- La ricerca semantica trova documenti pertinenti anche senza parole in comune.
- La ricerca ibrida unisce parole chiave e significato per ottenere il meglio di entrambi.
- Dimensione dei frammenti, scelta del modello, permessi e metadati determinano la qualità.