Hybrid Search
Esplora come la ricerca ibrida unisce la corrispondenza delle parole chiave all'IA semantica. Impara a costruire pipeline di ricerca consapevoli del contesto usando metadati da Ultralytics YOLO26.
Combinando la precisione della tradizionale corrispondenza di parole chiave con la comprensione contestuale dell'IA moderna, questa metodologia di ricerca recupera e classifica le informazioni sfruttando sia rappresentazioni di dati sparse che dense. Mentre un motore di ricerca standard si basa interamente su corrispondenze esatte di parole chiave (note come ricerca lessicale) e i motori di ricerca vettoriali si affidano puramente alla somiglianza semantica, un motore di ricerca ibrido fonde questi due approcci per fornire risultati altamente accurati e consapevoli del contesto.
Come funziona#
Una tipica pipeline di ricerca ibrida esegue due distinti metodi di recupero simultaneamente, fondendo i loro output in una classificazione singola e ottimizzata:
- Ricerca Lessicale (Sparsificata): Utilizza algoritmi come BM25 per assegnare un punteggio alle corrispondenze esatte di parole chiave in base alla frequenza dei termini. Questo è fondamentale per recuperare entità specifiche, acronimi, SKU di prodotti o gergo specializzato che un modello puramente semantico potrebbe avere difficoltà a identificare.
- Ricerca Semantica (Densa): Genera array di numeri ad alta dimensionalità utilizzando modelli di IA per comprendere il significato più profondo e il contesto di una query. Ciò consente al sistema di trovare risultati pertinenti anche se le parole esatte mancano nella query di ricerca.
Una volta che entrambi i metodi recuperano i rispettivi risultati candidati, un algoritmo di fusione, più comunemente Reciprocal Rank Fusion (RRF), combina gli elenchi. RRF calcola un nuovo punteggio basato sulla posizione di ciascun elemento nei rispettivi set di risultati sparsi e densi. Ciò garantisce che i documenti con posizionamento elevato in una o in entrambe le ricerche salgano in cima, bilanciando ampie corrispondenze contestuali con l'accuratezza millimetrica delle parole chiave.
Applicazioni reali di AI e ML#
Le moderne architetture IA si affidano pesantemente a questa tecnica per superare i limiti dell'utilizzo di un singolo metodo di recupero in ambienti di produzione.
- RAG Ibrido (Retrieval-Augmented Generation): Nei sistemi di conoscenza aziendali, fornire a un Large Language Model (LLM) il contesto più pertinente è fondamentale per prevenire allucinazioni. Una configurazione RAG ibrida garantisce che il modello recuperi documenti che soddisfano vincoli tecnici esatti pur inserendo anche paragrafi semanticamente correlati.
- E-Commerce e Scoperta Visiva dei Prodotti: I rivenditori utilizzano la ricerca ibrida per alimentare i cataloghi dei prodotti. Un utente potrebbe cercare "scarpe da corsa rosse". Il motore lessicale corrisponde alle parole chiave esatte del marchio o della categoria, mentre un modello di IA visiva utilizza gli embedding di immagini per fare emergere articoli visivamente simili.
Oggi, quasi tutti i principali database vettoriali, inclusi Pinecone, Qdrant, OpenSearch e PostgreSQL tramite pgvector, supportano nativamente la ricerca ibrida. Ciò consente agli sviluppatori di indicizzare in modo efficiente sia le parole chiave sparse che i vettori densi in un'unica infrastruttura.
Generazione di metadati per la ricerca ibrida#
Nelle pipeline di visione artificiale, puoi estrarre parole chiave significative dalle immagini per costruire la componente sparsa di un indice ibrido. Utilizzando Ultralytics YOLO26, puoi eseguire automaticamente il rilevamento di oggetti su un'immagine e utilizzare quei nomi di classi come tag di metadati. Questi tag di parole chiave possono quindi essere associati agli embedding vettoriali densi dell'immagine per un'indicizzazione completa.
from ultralytics import YOLO
# Load the recommended Ultralytics YOLO26 object detection model
model = YOLO("yolo26n.pt")
# Run inference to detect objects in an image
results = model("store_aisle.jpg")
# Extract predicted class names to be indexed as keyword metadata (sparse data)
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 e generate dall'IA, gli sviluppatori possono sfruttare la Ultralytics Platform e i database vettoriali compatibili con l'ibrido per costruire motori di ricerca multimodali robusti che comprendono perfettamente sia i tag testuali espliciti che il contesto visivo implicito dei loro dati.






