Hybrid Search
Scopri come la ricerca ibrida combina la corrispondenza delle parole chiave e l'IA semantica. Impara a creare pipeline di ricerca sensibili al contesto usando i metadati di Ultralytics YOLO26.
Combinando la precisione del tradizionale abbinamento di parole chiave con la comprensione contestuale dell'AI moderna, questa metodologia di ricerca recupera e classifica le informazioni sfruttando rappresentazioni di dati sia sparse sia dense. Mentre un normale motore di ricerca si basa interamente sulle corrispondenze esatte delle parole chiave (la cosiddetta ricerca lessicale) e i motori di ricerca vettoriale si affidano esclusivamente alla somiglianza semantica, un motore di ricerca ibrido combina i due approcci per fornire risultati molto accurati e sensibili al contesto.
Come funziona#
Una tipica pipeline di ricerca ibrida esegue simultaneamente due distinti metodi di recupero e combina i risultati in un'unica classifica ottimizzata:
- Ricerca lessicale (sparsa): usa algoritmi come BM25 per assegnare un punteggio alle corrispondenze esatte delle parole chiave in base alla frequenza dei termini. È fondamentale per recuperare entità specifiche, acronimi, SKU di prodotti o gergo specialistico che un modello puramente semantico potrebbe faticare a identificare.
- Ricerca semantica (densa): genera array di numeri ad alta dimensionalità usando modelli AI per comprendere il significato più profondo e il contesto di una query. Questo consente al sistema di trovare risultati pertinenti anche quando le parole esatte non sono presenti nella query di ricerca.
Una volta recuperati i risultati candidati con entrambi i metodi, un algoritmo di fusione, solitamente la fusione reciproca dei ranghi (RRF), combina gli elenchi. RRF calcola un nuovo punteggio in base alla posizione di ogni elemento nei rispettivi insiemi di risultati sparsi e densi. In questo modo, i documenti che si classificano in alto in una o entrambe le ricerche emergono in cima, bilanciando le corrispondenze contestuali ampie con la precisione puntuale delle parole chiave.
Applicazioni reali di IA e ML#
Le architetture AI moderne fanno ampio affidamento su questa tecnica per superare i limiti dell'uso di un singolo metodo di recupero negli ambienti di produzione.
- RAG ibrido (generazione aumentata dal recupero): nei sistemi di conoscenza aziendali, fornire a un modello linguistico di grandi dimensioni (LLM) il contesto più pertinente è fondamentale per prevenire le allucinazioni. Una configurazione RAG ibrida garantisce che il modello recuperi documenti corrispondenti a vincoli tecnici esatti, includendo al contempo paragrafi correlati semanticamente.
- E-commerce e scoperta visiva dei prodotti: i rivenditori usano la ricerca ibrida per alimentare i cataloghi di prodotti. Un utente potrebbe cercare «scarpe da corsa rosse». Il motore lessicale abbina le parole chiave esatte del marchio o della categoria, mentre un modello di AI visiva usa embedding delle immagini per mostrare articoli visivamente simili.
Oggi quasi tutti i principali database vettoriali, tra cui Pinecone, Qdrant, OpenSearch e PostgreSQL tramite pgvector, supportano nativamente la ricerca ibrida. Questo consente agli sviluppatori di indicizzare in modo efficiente sia le parole chiave sparse sia i vettori densi all'interno di un'unica infrastruttura.
Generazione di metadati per la ricerca ibrida#
Nelle pipeline di visione artificiale, puoi estrarre parole chiave significative dalle immagini per creare la componente sparsa di un indice ibrido. Con Ultralytics YOLO26, puoi eseguire automaticamente il rilevamento degli oggetti in un'immagine e usare i nomi delle classi come tag di metadati. Puoi quindi abbinare questi tag di parole chiave agli embedding vettoriali densi dell'immagine per ottenere un'indicizzazione completa.
from ultralytics import YOLO
# Carica il modello Ultralytics YOLO26 consigliato per il rilevamento degli oggetti
model = YOLO("yolo26n.pt")
# Esegui l'inferenza per rilevare gli oggetti in un'immagine
results = model("store_aisle.jpg")
# Estrai i nomi delle classi previsti da indicizzare come metadati di parole chiave (dati sparsi)
keywords = [model.names[int(box.cls)] for box in results[0].boxes]
print("Sparse keywords for lexical search:", keywords)Arricchendo gli embedding densi delle immagini con parole chiave sparse precise generate dall'AI, gli sviluppatori possono sfruttare la Ultralytics Platform e i database vettoriali compatibili con la ricerca ibrida per creare motori di ricerca multimodali robusti, capaci di comprendere perfettamente sia i tag testuali espliciti sia il contesto visivo implicito dei dati.










