Guida

Ricerca semantica spiegata: come funziona, query expansion e quando fallisce

Il team di Kopik9 min di lettura

La ricerca semantica è una tecnica che trova documenti e passaggi rilevanti in base al significato di una domanda, non solo alle parole esatte digitate dall'utente. Invece di cercare corrispondenze letterali, trasforma testo e query in vettori numerici (embedding) e confronta la loro vicinanza di significato. Il risultato: una ricerca di «come disdire un abbonamento» può trovare un paragrafo che parla di «recesso dal contratto» anche se non condivide nemmeno una parola con la domanda.

Ricerca semantica vs ricerca per parole chiave: la differenza concreta

La ricerca per parole chiave, spesso basata su algoritmi come BM25, funziona confrontando i termini della query con quelli presenti nei documenti, con pesi che tengono conto della frequenza e della rarità delle parole. È veloce, prevedibile e ottima quando l'utente conosce il vocabolario esatto del documento: un codice prodotto, un articolo di legge, un acronimo tecnico. Il suo limite è proprio questo: se la domanda usa parole diverse da quelle del testo originale, anche se il significato è identico, la ricerca per parole chiave spesso non trova nulla.

La ricerca semantica risolve questo problema confrontando il significato. Un modello trasforma sia la query sia i blocchi di testo in vettori (gli embedding, spiegati in dettaglio in Cosa sono gli embedding: spiegazione semplice per non specialisti), e poi misura quanto questi vettori sono «vicini» nello spazio matematico. Più sono vicini, più i due testi parlano della stessa cosa, anche con parole completamente diverse.

Ricerca per parole chiave vs ricerca semantica

CaratteristicaRicerca per parole chiave (BM25)Ricerca semantica (embedding)
CorrispondenzaParole esatte o varianti morfologicheSignificato, anche con sinonimi diversi
Query naturali lunghePerde precisione con frasi intereGestisce bene domande formulate come frasi
Termini tecnici, codici, sigleMolto precisaPuò confondere sigle simili tra loro
Errori di battituraFallisce facilmentePiù tollerante, ma non infallibile
Costo computazionaleBassoPiù alto (serve calcolare embedding)
Lingue diverse nello stesso corpusRichiede indici separati per linguaPuò funzionare tra lingue diverse

Nella pratica, nessuna delle due tecniche vince sempre. Per questo molti sistemi moderni, incluse le basi di conoscenza create su Kopik, usano un approccio ibrido che combina entrambe: lo spieghiamo nel dettaglio in Ricerca ibrida: perché BM25 e vettori insieme battono entrambi da soli.

Come funziona davvero: dagli embedding al punteggio di similarità

Dietro la ricerca semantica ci sono tre passaggi fondamentali. Primo, l'indicizzazione: ogni documento viene diviso in blocchi (chunk) di dimensione gestibile, e ciascun blocco viene trasformato in un vettore con decine o centinaia di dimensioni numeriche. Secondo, al momento della domanda, anche la query dell'utente viene trasformata nello stesso spazio vettoriale. Terzo, un algoritmo di ricerca (tipicamente basato su similarità coseno o prodotto scalare) individua i vettori più vicini a quello della query e restituisce i blocchi corrispondenti, ordinati per rilevanza.

Un punto spesso sottovalutato: la qualità della ricerca semantica dipende enormemente da come i documenti sono stati divisi in blocchi. Un chunk troppo lungo diluisce il significato in troppe informazioni; uno troppo corto perde il contesto necessario per capire di cosa si parla davvero.

Il chunking conta più del modello di embedding

Molti problemi che sembrano «la ricerca semantica non funziona» sono in realtà problemi di suddivisione dei documenti. Prima di cambiare modello, verifichi come vengono tagliati i Suoi testi: trovi una guida pratica in Chunking per RAG: come dividere i documenti per risposte migliori.

Query expansion: perché la domanda che digita l'utente non basta

La query expansion (espansione della query) è una tecnica che arricchisce la domanda originale con termini correlati, sinonimi o riformulazioni, prima di eseguire la ricerca. L'obiettivo è coprire più modi in cui lo stesso concetto può essere espresso nei documenti indicizzati.

  • Espansione lessicale: la domanda «quanto costa disdire» viene arricchita con «recesso», «penale», «risoluzione del contratto».
  • Riformulazione della domanda: un modello linguistico riscrive la query in due o tre varianti prima di cercare, poi unisce i risultati.
  • Espansione basata su embedding: invece di aggiungere parole, il sistema cerca non solo il vettore della domanda ma anche vettori di domande simili già viste.
  • HyDE (Hypothetical Document Embeddings): il sistema genera una risposta ipotetica alla domanda e cerca documenti simili a quella risposta, non alla domanda stessa.

La query expansion è particolarmente utile quando gli utenti fanno domande brevi o colloquiali su documenti scritti in linguaggio tecnico o burocratico, un caso molto comune con regolamenti, CCNL o policy aziendali (ne parliamo in Assistente IA per le policy HR: come trasformare regolamento, CCNL e policy in risposte con fonti). Su Kopik, la ricerca ibrida integra già una componente di espansione semantica delle parole chiave, così una domanda scritta in modo informale riesce comunque ad agganciare il linguaggio formale dei documenti originali.

Ricerca semantica multilingue: funziona davvero tra lingue diverse?

Uno dei vantaggi più interessanti della ricerca semantica è la possibilità, almeno teorica, di cercare in una lingua e trovare risultati scritti in un'altra. Molti modelli di embedding moderni sono addestrati su corpus multilingue, e posizionano frasi con significato simile vicine nello spazio vettoriale indipendentemente dalla lingua in cui sono scritte.

Nella pratica, però, le prestazioni multilingue variano molto a seconda del modello usato e della combinazione di lingue. L'italiano e l'inglese, per esempio, sono generalmente ben rappresentati nei modelli più diffusi, ma combinazioni meno comuni (italiano e lingue con alfabeti diversi, per esempio) possono dare risultati meno affidabili. Alcuni accorgimenti pratici:

  • Verifichi sempre con query di test reali nella lingua dei Suoi utenti prima di fidarsi ciecamente della ricerca multilingue.
  • Se il corpus è prevalentemente in una lingua, non si aspetti risultati perfetti per query scritte in un'altra lingua su argomenti molto tecnici o di nicchia.
  • La combinazione con ricerca per parole chiave aiuta a recuperare corrispondenze esatte (nomi propri, codici, termini normativi) che la componente semantica potrebbe trattare in modo troppo approssimativo tra lingue.

Quando la ricerca semantica fallisce

La ricerca semantica non è una bacchetta magica, e conoscerne i limiti evita di costruire sistemi che deludono gli utenti. Ecco i casi più frequenti in cui fallisce o va integrata con altre tecniche.

  1. Ricerca di termini esatti: codici prodotto, numeri di articolo di legge, nomi propri molto specifici. La ricerca semantica può confondere «articolo 2103» con «articolo 2113» perché i due vettori sono vicini nello spazio, mentre per l'utente la differenza è cruciale.
  2. Negazioni e sfumature logiche: «contratti che NON prevedono il preavviso» può restituire risultati sui contratti che il preavviso lo prevedono, perché il significato generale è simile anche se la logica è opposta.
  3. Domande numeriche o di conteggio: «quanti giorni di ferie ho diritto» richiede un dato preciso, non un concetto vicino nello spazio semantico.
  4. Corpus molto ristretti o ripetitivi: se tutti i documenti parlano di argomenti molto simili tra loro, gli embedding perdono potere discriminante e la ricerca restituisce risultati quasi casuali tra loro vicini.
  5. Query troppo brevi o ambigue: una sola parola isolata (per esempio «scadenza») offre pochissimo segnale semantico da cui partire.

In tutti questi casi la soluzione non è abbandonare la ricerca semantica, ma affiancarla a una componente lessicale che catturi le corrispondenze esatte: è esattamente il principio della ricerca ibrida.

Ricerca ibrida: la combinazione che funziona nella maggior parte dei casi reali

La ricerca ibrida esegue in parallelo una ricerca per parole chiave e una ricerca semantica, poi combina i due insiemi di risultati con un punteggio unificato (spesso con tecniche come la Reciprocal Rank Fusion). Il vantaggio è evidente: si ottiene la precisione del matching esatto quando serve, e la copertura concettuale della ricerca semantica quando la domanda è formulata diversamente dal testo originale.

È la strategia adottata dalla maggior parte dei sistemi RAG seri, incluse le basi di conoscenza create su Kopik: ogni documento caricato viene indicizzato sia per ricerca full-text sia per ricerca vettoriale, e le domande vengono instradate su entrambi i canali. Per capire come questo si inserisce in un flusso completo di domanda-risposta con citazione delle fonti, può essere utile leggere Come funziona il RAG, passo dopo passo: una domanda reale seguita dall'inizio alla fine.

Come valutare se la ricerca semantica sta funzionando bene

Prima di fidarsi di un sistema di ricerca semantica in produzione, conviene costruire un piccolo set di domande di test con risposte attese note, e verificare quante volte il sistema recupera effettivamente il passaggio giusto. Una valutazione sistematica, con metriche come precisione e richiamo sui primi risultati, evita sorprese quando il sistema viene usato da clienti o colleghi reali. L'articolo Come valutare un sistema RAG: metriche, test set e monitoraggio propone un metodo concreto per costruire questo tipo di test set, anche con poche decine di domande.

Se vuole provare direttamente l'effetto della ricerca ibrida sui Suoi documenti, può caricare un file PDF, Word o Markdown su Kopik e porre domande sia in linguaggio naturale sia con termini tecnici esatti, confrontando i risultati in modalità «risposta con fonti» e in modalità «solo passaggi». La base può restare privata per uso interno, oppure essere pubblicata nel catalogo e interrogata a pagamento tramite API o server MCP da strumenti come Claude o Cursor.

Provi la ricerca ibrida sui Suoi documenti

Carichi un documento su Kopik e veda come la ricerca semantica e la ricerca per parole chiave lavorano insieme per trovare le risposte giuste, con fonti citate.

In sintesi

La ricerca semantica è uno strumento potente per trovare contenuti in base al significato, soprattutto quando gli utenti formulano domande con parole diverse da quelle del documento originale. Ma non sostituisce del tutto la ricerca per parole chiave: per codici, numeri, articoli di legge e corrispondenze esatte resta spesso più affidabile un motore lessicale. La combinazione delle due, affiancata da una query expansion ben calibrata e da un chunking curato, è ciò che distingue un sistema di ricerca che «sembra capire» da uno che restituisce risultati casuali.

Domande frequenti

Qual è la differenza principale tra ricerca semantica e ricerca per parole chiave?

La ricerca per parole chiave confronta i termini esatti della query con quelli del documento, mentre la ricerca semantica confronta il significato trasformando testo e domanda in vettori numerici. La prima è precisa su termini esatti, codici e sigle; la seconda recupera contenuti rilevanti anche quando domanda e documento usano parole diverse.

Cos'è la query expansion e quando serve?

La query expansion arricchisce la domanda originale con sinonimi, riformulazioni o termini correlati prima di eseguire la ricerca. Serve soprattutto quando gli utenti pongono domande colloquiali su documenti scritti in linguaggio tecnico o burocratico, come regolamenti o policy aziendali.

La ricerca semantica funziona bene con documenti in italiano?

Sì, i modelli di embedding più diffusi coprono bene l'italiano, soprattutto in combinazione con l'inglese. Le prestazioni calano però su combinazioni linguistiche meno comuni o su gergo molto tecnico e specifico di un settore, dove conviene affiancare sempre una ricerca per parole chiave.

Quando conviene usare la ricerca ibrida invece della sola ricerca semantica?

Conviene praticamente sempre in contesti professionali, perché la ricerca ibrida combina la copertura concettuale della ricerca semantica con la precisione esatta della ricerca per parole chiave, utile per codici, articoli di legge, numeri e nomi propri che la sola componente semantica può confondere.

La ricerca semantica è la stessa cosa del RAG?

No. La ricerca semantica è la tecnica usata per trovare i passaggi rilevanti; il RAG (Retrieval Augmented Generation) è il processo completo che recupera quei passaggi e li usa come base per generare una risposta con citazione delle fonti, tipicamente tramite un modello linguistico.

Quali sono i limiti più comuni della ricerca semantica?

I casi più frequenti di fallimento riguardano termini esatti e codici, negazioni e sfumature logiche, domande numeriche precise, corpus molto ripetitivi e query troppo brevi o ambigue. In questi casi serve affiancare una componente di ricerca lessicale.

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.