Hybrid retrieval (SV)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (hybrid retrieval) — en klass av metoder för informationssökning där lexikala (sparse) och semantiska (dense/late‑interaction) signaler kombineras för att förbättra täckning och precision i sökresultaten. Hybrida scheman förenar fördelarna med exakt termmatchning (BM25/TF-IDF) och vektornärhet (bi-encoders, multimodeller med sen interaktion), samt använder rankningsmergningsmetoder som är robusta mot olikartade skalor (t.ex. Reciprocal Rank Fusion, CombSUM/CombMNZ) och omrankning med cross-encoders.[1][2][3]

Definition och motivation

Hybrid retrieval är en parallell eller kaskadartad sökning via två (eller fler) oberoende signalkanaler med efterföljande sammanslagning och/eller omrankning. Typiska motiv: (i) att överbrygga det "terminologiska gapet" (synonymer, omformuleringar), (ii) robusthet mot stavfel/morfologi, (iii) extrahering av specifika koder/identifierare (där sparse-modellen är stark), (iv) överföring till nya domäner/språk (där dense-modeller ger semantisk generalisering).[4][5][6]

Lexikal (sparse)

  • Klassiska modeller. TF-IDF och BM25/BM25F — standardbaslinjer på inverterade index; BM25 är grundat i ett probabilistiskt PRF-ramverk och används ofta som första rankingsteg.[7]
  • Inlärda sparse-modeller.
    • SPLADE / SPLADE++/v3. En neural sparse-modell som lär sig termexpansion och -viktning via ett MLM-huvud med gleshetsregularisering; uppvisar starka resultat och god överförbarhet (BEIR).[8][9][10]
    • uniCOIL/COIL. Kontextualiserade inverterade listor och deras förenklade variant uniCOIL; kompatibla med klassiska inverterade index.[11]

Semantisk (dense/late‑interaction)

  • Bi-encoder (enkelvektor). Fråga och dokument kodas av vektormodeller; likhet beräknas via dot-product/MIPS. Exempel: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late-interaction (multivektor). Modellerar matchningar på token-nivå vid "sen" interaktion: ColBERT/ColBERTv2; avvägningen är bättre precision till priset av större index/latens, vilket mildras av tekniska optimeringar (PLAID, WARP).[17][18][19]

Hybridiseringsscheman och rankningssammanslagning

  • Parallell sökning och sammanslagning av kandidater. Kandidatlistor (sparse och dense) hämtas oberoende med sina interna poäng; därefter sker rankningssammanslagning.[20]
  • RRF (Reciprocal Rank Fusion). En teknik som är robust mot ojämförbara rankningspoäng och summerar reciproka ranker:

RRF(d)=i=1m1k+ranki(d), där vanligtvis k60.[21] Stöds i produktionsmotorer (Elasticsearch/OpenSearch) som inbyggd hämtare/processor.[22][23]

  • CombSUM/CombMNZ m.fl. Klassiska funktioner för "poängsummering" (vid behov med normalisering).[24][25][26]
  • Viktad linjär blandning.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. Valet av α kan vara fast eller inlärt (per samling eller per fråga).[27]

  • Normalisering av poäng. För CombSUM/CombMNZ används ofta min-max, z-score m.fl. för att harmonisera skalor;[28] alternativt förlitar sig RRF enbart på ranker.
  • Dynamisk/adaptiv viktning. Frågeroutning (query routing), frågeegenskaper och LTR-modeller för val/viktning av kanaler; moderna arbeten visar att en enkel inlärd blandning ofta överpresterar RRF och är föga känslig för normalisering.[29]

Omrankning och flerstegs-pipelines

Hybrida system byggs vanligtvis som retrieval → fusion → rerank. För omrankning används:

  • Cross-encoders (BERT/T5). De mest precisa men kostnadskrävande: MonoBERT/MonoT5 för omordning av topp-N kandidater.[30][31]
  • Late-interaction som omrankare. ColBERT-familjen kan även fungera som omrankare; moderna acceleratorer (PLAID, WARP) minskar latensen utan kvalitetsförlust.[32][33]

Avvägningen kvalitet ↔ latens/kostnad är särskilt viktig vid RAG och strikta SLA (se svansfördröjningar p95/p99).[34]

Utvärdering på benchmark

  • BEIR. En enhetlig samling av heterogena kollektioner/uppgifter för zero-/out-of-domain-utvärdering av hämtare (t.ex. TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack m.fl.).[35]
  • TREC Deep Learning / MS MARCO. Klassiska resurser för träning/utvärdering av hämtare och omrankare i stordatamiljö.[36][37][38]
  • Kvalitetsmått. nDCG@k, Recall@k, MRR; för prestanda — latens p50/p95/p99, QPS; för drift — minne/kostnad (CPU/GPU, index).[39][40]
  • Ablationer. Det rekommenderas att fastställa bidraget från varje kanal/vikt och känsligheten för parametrar k i RRF och α vid blandning; att bedöma robusthet mot omformuleringar och OOD-skiften.[41][42]

Tekniska aspekter och produktionspraxis

  • Index och ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN för MIPS/kosinuslikhet.[43][44][45]
  • IR-stack. Lucene/Anserini/Pyserini för sparse/dense och hybrida pipelines; reproducerbarhet på BEIR med minimal konfiguration.[46][47]
  • Vektordatabaser och sökmotorer. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch har inbyggda lägen för hybrid search (BM25F+vektor) och/eller RRF/linjär blandning.[48][49][50][51][52]
  • RAG-mönster. Arkitektur: retrieval → fusion → rerank → LLM-kontext med tokenbegränsning och källspårning.[53]
  • Indexuppdatering, deduplicering, tokenisering. Det är viktigt att harmonisera tokeniseringen mellan BM25 och vektoriseraren; kalibrering av poäng (normalisering/skalning) före blandning.[54]

Begränsningar och öppna frågor

  • Överförbarhet och flerspråkighet. Dense-modeller (GTR/E5) förbättrar överföring men är känsliga för domän/språk; sparse-modeller (SPLADE) är ofta mer robusta på OOD.[55][56]
  • Integration med LLM och hallucinationer. Hybrid retrieval minskar luckor och brus i RAG-kontexter men eliminerar inte hallucinationer helt; strikta omrankare och källfiltrering är nödvändiga.[57]
  • Kostnad och integritet. Lagring av multivektor-index, komprimering, kryptering och on-prem-stack; TCO-bedömning.
  • Trender. HyDE/doc2query/PRF som dokument-/frågeexpansion;[58][59] inlärning av blandning (per-query α), effektivare late-interaction (PLAID/WARP), långa dokument och multivektorindex.[60][61]

Jämförelsetabell över metoder

Per 2025‑09‑10 (exempel på BEIR-kollektionen trec‑covid; nDCG@10 / Recall@100):[62]

Jämförelse av metoder på trec‑covid
Metod Typ (sparse/dense/hybrid) Idé/modell Sammanslagningsschema Omrankare nDCG@10 / R@100 Latens (rel.) Källor
BM25 sparse Exakt termmatchning (PRF/BM25) 0.595 / 0.109 mycket låg [63][64]
SPLADE++ (ED) sparse (inlärd) Gles expansion/viktning av termer 0.727 / 0.128 låg–medel [65][66]
Contriever (MS MARCO FT) dense Bi-encoder med kontrastiv inlärning 0.596 / 0.091 medel [67][68]
BGE‑base‑en‑v1.5 dense Stark universell embedding-modell 0.781 / 0.141 medel [69]
Cohere embed‑english‑v3.0 dense Industriell textembedding-modell 0.818 / 0.159 medel [70]
BM25 + dense (exempel: BM25+BGE) hybrid Parallell hämtning + listsammanslagning RRF (k≈60) eller viktad blandning val.: MonoT5/ColBERT (varierar beroende på implementation; vanligtvis > bästa enskilda kanal) medel [71][72][73]

Anmärkning: den sista raden illustrerar schemat; exakta siffror beror på val av embedding-modell, normalisering och sammanslagningsparametrar (se källor och reproducerbara Pyserini-skript).

Litteratur

  • 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.

Länkar

  • 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

Noter

  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.