Hybrid retrieval (IT)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (recupero ibrido) — classe di metodi di recupero dell'informazione che combinano segnali lessicali (sparse) e semantici (dense/late‑interaction) per aumentare il richiamo e la precisione dei risultati. Gli schemi ibridi uniscono i vantaggi della corrispondenza esatta dei termini (BM25/TF-IDF) e della similarità vettoriale (bi-encoder, modelli multi-vettore a interazione tardiva), e utilizzano metodi di fusione dei ranking resistenti alle differenze di scala degli score (ad esempio Reciprocal Rank Fusion, CombSUM/CombMNZ) e il re-ranking tramite cross-encoder.[1][2][3]

Definizione e motivazione

Il recupero ibrido è una ricerca parallela o a cascata su due (o più) canali di segnali indipendenti, seguita da fusione e/o re-ranking. Le motivazioni tipiche sono: (i) superare il «divario terminologico» (sinonimi, riformulazioni), (ii) robustezza agli errori di battitura e alla morfologia, (iii) recupero di codici/identificatori specifici (dove il modello sparse è più efficace), (iv) trasferimento a nuovi domini/lingue (dove i modelli dense forniscono generalizzazione semantica).[4][5][6]

Componenti della ricerca ibrida

Lessicale (sparse)

  • Modelli classici. TF-IDF e BM25/BM25F — metodi di base standard su indici invertiti; BM25 è fondato nel quadro probabilistico PRF e ampiamente utilizzato come primo stadio di ranking.[7]
  • Sparse apprendibili.
    • SPLADE / SPLADE++/v3. Modello neurale sparse che apprende l'espansione e la pesatura dei termini tramite una testa MLM con regolarizzazione della sparsità; mostra risultati forti e buona trasferibilità (BEIR).[8][9][10]
    • uniCOIL/COIL. Liste invertite contestualizzate e la loro versione semplificata uniCOIL; compatibili con gli indici invertiti classici.[11]

Semantico (dense/late‑interaction)

  • Bi‑encoder (single‑vector). Query e documento vengono codificati da modelli vettoriali; la similarità è calcolata tramite dot‑product/MIPS. Esempi: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (multi‑vector). Modellano le corrispondenze a livello di token mediante interazione «tardiva»: ColBERT/ColBERTv2; il compromesso — maggiore precisione a fronte di un indice/latenza più elevati — è attenuato da ottimizzazioni ingegneristiche (PLAID, WARP).[17][18][19]

Schemi di ibridizzazione e fusione dei ranking

  • Ricerca parallela e unione dei candidati. Si ottengono liste di candidati indipendenti (sparse e dense) con i rispettivi score interni; segue la fusione dei ranking.[20]
  • RRF (Reciprocal Rank Fusion). Tecnica robusta alle differenze di scala degli score che somma i ranghi reciproci:

RRF(d)=i=1m1k+ranki(d), dove solitamente k60.[21] È supportata nei motori industriali (Elasticsearch/OpenSearch) come retriever/processore integrato.[22][23]

  • CombSUM/CombMNZ e altri. Funzioni classiche di «somma degli score» (con normalizzazione se necessaria).[24][25][26]
  • Miscela lineare pesata.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. La scelta di α può essere fissa o appresa (per collezione o per query).[27]

  • Normalizzazione degli score. Per CombSUM/CombMNZ si applicano spesso min‑max, z‑score e altri metodi per allineare le scale;[28] in alternativa, RRF si basa esclusivamente sui ranghi.
  • Pesatura dinamica/adattiva. Query routing, feature della query e modelli LTR per la selezione e la pesatura dei canali; lavori recenti mostrano che una miscela appresa semplice spesso supera RRF ed è poco sensibile alla normalizzazione.[29]

Re-ranking e pipeline multi-stadio

I sistemi ibridi sono tipicamente costruiti come pipeline retrieval → fusion → rerank. Per il re-ranking si utilizzano:

  • Cross‑encoder (BERT/T5). I più precisi ma costosi: MonoBERT/MonoT5 per il riordinamento dei top‑N candidati.[30][31]
  • Late‑interaction come re-ranker. La famiglia ColBERT può fungere anche da re-ranker; gli acceleratori moderni (PLAID, WARP) riducono la latenza senza perdita di qualità.[32][33]

Il compromesso qualità ↔ latenza/costo è particolarmente rilevante nei contesti RAG e con SLA stringenti (si vedano le latenze di coda p95/p99).[34]

Valutazione sui benchmark

  • BEIR. Insieme unificato di collezioni/compiti eterogenei per la valutazione zero‑/out‑of‑domain dei retriever (ad es. TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack, ecc.).[35]
  • TREC Deep Learning / MS MARCO. Risorse classiche per l'addestramento e la valutazione di retriever e re-ranker in regime di grandi dati.[36][37][38]
  • Metriche di qualità. nDCG@k, Recall@k, MRR; per le prestazioni — latency p50/p95/p99, QPS; per l'esercizio — memoria/costo (CPU/GPU, indice).[39][40]
  • Ablazioni. Si raccomanda di isolare il contributo di ciascun canale/peso e la sensibilità ai parametri k in RRF e α nella miscela; valutare la robustezza a riformulazioni e a shift OOD.[41][42]

Aspetti ingegneristici e pratiche di produzione

  • Indici e ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN per MIPS/similarità coseno.[43][44][45]
  • Stack IR. Lucene/Anserini/Pyserini per pipeline sparse, dense e ibride; riproducibilità immediata su BEIR.[46][47]
  • Database vettoriali e motori di ricerca. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch dispongono di modalità native di ricerca ibrida (BM25F+vector) e/o RRF/miscela lineare.[48][49][50][51][52]
  • Pattern RAG. Architettura: retrieval → fusion → rerank → contesto LLM con limitazione dei token e tracciamento delle fonti.[53]
  • Aggiornamento degli indici, deduplicazione, tokenizzazione. È importante allineare la tokenizzazione tra BM25 e il modello di vettorizzazione; calibrare gli score (normalizzazione/scalatura) prima della fusione.[54]

Limiti e questioni aperte

  • Trasferibilità e multilingua. I modelli dense (GTR/E5) migliorano il trasferimento, ma sono sensibili al dominio/lingua; i modelli sparse (SPLADE) sono spesso più robusti in OOD.[55][56]
  • Integrazione con LLM e allucinazioni. Il recupero ibrido riduce le omissioni e il rumore nei contesti RAG, ma non elimina completamente le allucinazioni; sono necessari re-ranker rigorosi e filtraggio delle fonti.[57]
  • Costo e privacy. Archiviazione di indici multi-vector, compressione, cifratura e stack on‑prem; valutazione del TCO.
  • Tendenze. HyDE/doc2query/PRF come espansione di documenti/query;[58][59] apprendimento della miscela (per-query α), late‑interaction più efficienti (PLAID/WARP), documenti lunghi e indici multi-vettore.[60][61]

Tabella comparativa dei metodi

Aggiornato al 2025‑09‑10 (esempio sulla collezione BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Confronto dei metodi su trec‑covid
Metodo Tipo (sparse/dense/hybrid) Idea/modello Schema di fusione Re-ranker nDCG@10 / R@100 Latenza (rel.) Fonti
BM25 sparse Corrispondenza esatta dei termini (PRF/BM25) 0.595 / 0.109 molto bassa [63][64]
SPLADE++ (ED) sparse (learned) Espansione/pesatura sparsa dei termini 0.727 / 0.128 bassa–media [65][66]
Contriever (MS MARCO FT) dense Bi-encoder con apprendimento contrastivo 0.596 / 0.091 media [67][68]
BGE‑base‑en‑v1.5 dense Embedding universale di alta qualità 0.781 / 0.141 media [69]
Cohere embed‑english‑v3.0 dense Modello di embedding testuale industriale 0.818 / 0.159 media [70]
BM25 + dense (esempio: BM25+BGE) hybrid Recupero parallelo + fusione delle liste RRF (k≈60) o miscela pesata opz.: MonoT5/ColBERT (variabile in base all'implementazione; di norma > del miglior canale singolo) media [71][72][73]

Nota: l'ultima riga illustra lo schema; i valori esatti dipendono dalla scelta dell'embedding, dalla normalizzazione e dai parametri di fusione (si vedano le fonti e gli script riproducibili di Pyserini).

Collegamenti esterni

  • Pyserini / Anserini: github.com/castorini/pyserini • github.com/castorini/anserini
  • FAISS: arXiv:1702.08734
  • Weaviate (Hybrid search): docs.weaviate.io/weaviate/search/hybrid
  • pgvector: github.com/pgvector/pgvector
  • Vespa (Hybrid search tutorial): docs.vespa.ai/en/tutorials/hybrid-search.html

Bibliografia

  • Manning, C.D., Raghavan, P., Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715.
  • Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval 3(4):333–389. DOI:10.1561/1500000019.
  • Lin, J. et al. (2021). Pyserini: A Python Toolkit for Reproducible IR. SIGIR.
  • Järvelин, K., Kekäläinen, J. (2002). Cumulated Gain‑Based Evaluation of IR Techniques. Information Retrieval 6:241–256. DOI:10.1023/A:1016043826386.
  • Dean, J., Barroso, L.A. (2013). The Tail at Scale. CACM 56(2):74–80. DOI:10.1145/2408776.2408794.

Note

  1. Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval, 3(4), 333–389. DOI:10.1561/1500000019.
  2. Cormack, G.V., Clarke, C.L.A., Büttcher, S. (2009). Reciprocal Rank Fusion Outperforms Condorcet and Individual Rank Learning Methods. SIGIR 2009, 758–759. PDF.
  3. Bruch, S., Gai, S., Ingber, A. (2023). An Analysis of Fusion Functions for Hybrid Retrieval. ACM TOIS 42(1):1–35. DOI:10.1145/3596512 • arXiv:2210.11934.
  4. Manning, C.D., Raghavan, P., Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715 (см. главы о TF‑IDF, оценке и проблеме vocabulary mismatch).
  5. Izacard, G. et al. (2022). Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever). TACL 10:1089–1108. arXiv:2112.09118.
  6. Wang, L. et al. (2022/2024). Text Embeddings by Weakly‑Supervised Contrastive Pre‑training (E5). arXiv:2212.03533.
  7. Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. DOI:10.1561/1500000019.
  8. Formal, T., Piwowarski, B., Clinchant, S. (2021). SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking. arXiv:2107.05720.
  9. Formal, T. et al. (2022). Making Sparse Neural IR Models More Effective. Findings of EMNLP. arXiv:2205.04733.
  10. Formal, T. et al. (2024). SPLADE‑v3: New baselines for SPLADE. arXiv:2403.06789.
  11. Lin, J., Ma, X. (2021). A Few Brief Notes on DeepImpact, COIL, and uniCOIL. arXiv:2106.14807.
  12. Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain QA. EMNLP. arXiv:2004.04906.
  13. Xiong, L. et al. (2021). Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval (ANCE). ICLR. arXiv:2007.00808.
  14. Izacard, G. et al. (2022). TACL. arXiv:2112.09118.
  15. Ni, J. et al. (2021/2022). Large Dual Encoders Are Generalizable Retrievers (GTR). EMNLP. arXiv:2112.07899.
  16. Wang, L. et al. (2022/2024). arXiv:2212.03533.
  17. Khattab, O., Zaharia, M. (2020). ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. SIGIR. arXiv:2004.12832.
  18. Santhanam, K. et al. (2022). ColBERTv2 & PLAID. NAACL/ArXiv. arXiv:2112.01488; arXiv:2205.09707.
  19. Scheerer, J.L. et al. (2025). WARP: An Efficient Engine for Multi‑Vector Retrieval. arXiv:2501.17788.
  20. Lin, J. et al. (2021). Pyserini: A Python Toolkit for Reproducible IR with Sparse and Dense Representations. SIGIR. PDF.
  21. Cormack, G.V., Clarke, C.L.A., Büttcher, S. (2009). SIGIR. PDF.
  22. Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
  23. OpenSearch Docs. Score ranker processor (RRF). (доступ 2025‑09‑10). docs.opensearch.org/.../score-ranker-processor/.
  24. Fox, E.A., Shaw, J.A. (1994). Combination of Multiple Searches. TREC‑2, NIST SP 500‑215, 243–252. PDF.
  25. Lee, J.H. (1997). Analyses of Multiple Evidence Combination. SIGIR, 267–276. DOI:10.1145/258525.258587.
  26. Hsu, D.F., Taksa, I. (2005). Comparing Rank and Score Combination Methods for Data Fusion in IR. (Tech. report). PDF.
  27. Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
  28. Hsu, D.F., Taksa, I. (2005). см. выше.
  29. Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
  30. Nogueira, R., Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
  31. Nogueira, R., Jiang, Z., Lin, J. (2020). Document Ranking with a Pretrained Sequence‑to‑Sequence Model (MonoT5). Findings of EMNLP. arXiv:2003.06713.
  32. Santhanam, K. et al. (2022). arXiv:2205.09707.
  33. Scheerer, J.L. et al. (2025). arXiv:2501.17788.
  34. Dean, J., Barroso, L.A. (2013). The Tail at Scale. CACM 56(2):74–80. DOI:10.1145/2408776.2408794.
  35. Thakur, N. et al. (2021). BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of IR Models. NeurIPS Datasets & Benchmarks. arXiv:2104.08663.
  36. Craswell, N. et al. (2020). Overview of the TREC 2019 Deep Learning Track. arXiv:2003.07820.
  37. Craswell, N. et al. (2021). Overview of the TREC 2020 Deep Learning Track. arXiv:2102.07662.
  38. Bajaj, P. et al. (2016). MS MARCO: A Human Generated MAchine Reading COmprehension Dataset. arXiv:1611.09268.
  39. Järvelin, K., Kekäläinen, J. (2002). Cumulated Gain‑Based Evaluation of IR Techniques. Information Retrieval 6:241–256. DOI:10.1023/A:1016043826386.
  40. Dean, J., Barroso, L.A. (2013). CACM. DOI:10.1145/2408776.2408794.
  41. Bruch, S. et al. (2023). DOI:10.1145/3596512.
  42. Ni, J. et al. (2021/2022). arXiv:2112.07899.
  43. Johnson, J., Douze, M., Jégou, H. (2017). Billion‑scale Similarity Search with GPUs (FAISS). arXiv:1702.08734.
  44. Malkov, Y., Yashunin, D. (2020). HNSW. IEEE TPAMI 42(4):824–836. DOI:10.1109/TPAMI.2018.2889473.
  45. Guo, R. et al. (2020). ScaNN: Efficient Vector Similarity Search at Scale. arXiv:1908.10396.
  46. Yang, P., Fang, H., Lin, J. (2018). Anserini: Reproducible IR Research with Lucene. JDIQ 10(4):1–20. DOI:10.1145/3239571.
  47. Lin, J. et al. (2021). SIGIR. PDF.
  48. Qdrant Docs. Hybrid queries (RRF, DBSF). (доступ 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
  49. Weaviate Docs. Hybrid search. (доступ 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
  50. pgvector GitHub. (доступ 2025‑09‑10). github.com/pgvector/pgvector.
  51. Vespa Docs. Hybrid Text Search Tutorial. (доступ 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
  52. Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../rrf.
  53. Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. NeurIPS. arXiv:2005.11401.
  54. Hsu, D.F., Taksa, I. (2005). см. выше.
  55. Ni, J. et al. (2021/2022). arXiv:2112.07899.
  56. Formal, T. et al. (2021, 2022, 2024). arXiv:2107.05720; 2205.04733; 2403.06789.
  57. Lewis, P. et al. (2020). arXiv:2005.11401.
  58. Gao, L. et al. (2023). Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE). ACL. arXiv:2212.10496.
  59. Nogueira, R. et al. (2019). Document Expansion by Query Prediction. arXiv:1904.08375; docTTTTTquery. PDF.
  60. Santhanam, K. et al. (2022). arXiv:2205.09707.
  61. Scheerer, J.L. et al. (2025). arXiv:2501.17788.
  62. Pyserini BEIR Regressions (доступ 2025‑09‑10): результаты по trec‑covid для BM25/SPLADE/Contriever/BGE/Cohere. castorini.github.io/pyserini/2cr/beir.html.
  63. Robertson, S., Zaragoza, H. (2009). DOI:10.1561/1500000019.
  64. Pyserini BEIR. См. ссылку выше.
  65. Formal, T. et al. (2021, 2022). arXiv:2107.05720; 2205.04733.
  66. Pyserini BEIR.
  67. Izacard, G. et al. (2022). arXiv:2112.09118.
  68. Pyserini BEIR.
  69. Pyserini BEIR.
  70. Pyserini BEIR.
  71. Cormack et al. (2009). SIGIR. RRF.
  72. Bruch et al. (2023). TOIS.
  73. Elastic/OpenSearch RRF Docs.