Hybrid retrieval (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (hybridní retrieval) — třída metod informačního vyhledávání, v nichž jsou kombinovány lexikální (sparse) a sémantické (dense/late‑interaction) signály za účelem zvýšení úplnosti a přesnosti výsledků. Hybridní schémata spojují výhody přesné shody termínů (BM25/TF-IDF) a vektorové podobnosti (bi-enkodéry, multivektorové modely s pozdní interakcí), a dále využívají metody slučování pořadí odolné vůči různě škálovaným skóre (např. Reciprocal Rank Fusion, CombSUM/CombMNZ) a přeřazování pomocí cross-enkodérů.[1][2][3]

Definice a motivace

Hybridní retrieval je paralelní nebo kaskádové vyhledávání ve dvou (a více) nezávislých kanálech signálů s následným slučováním a/nebo přeřazováním. Typické motivace: (i) překonání „terminologické mezery" (synonyma, přeformulace), (ii) odolnost vůči překlepům/morfologii, (iii) extrakce specifických kódů/identifikátorů (kde je sparse‑model silný), (iv) přenos na nové domény/jazyky (kde dense‑modely poskytují sémantickou generalizaci).[4][5][6]

Komponenty hybridního vyhledávání

Lexikální (sparse)

  • Klasické modely. TF-IDF a BM25/BM25F — standardní základní metody na invertovaných indexech; BM25 je odůvodněn v pravděpodobnostním PRF‑rámci a široce využíván v první fázi řazení.[7]
  • Trénované sparse modely.
    • SPLADE / SPLADE++/v3. Neuro-sparse model, který trénuje rozšíření a vážení termínů pomocí MLM‑hlavy s regularizací řídkosti; vykazuje silné výsledky a dobrou přenositelnost (BEIR).[8][9][10]
    • uniCOIL/COIL. Kontextualizované invertované seznamy a jejich zjednodušená verze uniCOIL; kompatibilní s klasickými invertovanými indexy.[11]

Sémantický (dense/late‑interaction)

  • Bi‑encoder (single‑vector). Dotaz a dokument jsou kódovány vektorovými modely, podobnost je měřena pomocí dot‑product/MIPS. Příklady: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (multi‑vector). Modelují korespondence na úrovni tokenů při „pozdní" interakci: ColBERT/ColBERTv2; kompromis — lepší přesnost za cenu většího indexu/latence, zmírněný inženýrskými nástroji (PLAID, WARP).[17][18][19]

Schémata hybridizace a slučování pořadí

  • Paralelní vyhledávání a sloučení kandidátů. Nezávisle získáváme seznamy kandidátů (sparse a dense) s jejich interními skóre; následuje slučování pořadí.[20]
  • RRF (Reciprocal Rank Fusion). Technika odolná vůči nesrovnatelným skóre pořadí, která sčítá převrácené pořadí:

RRF(d)=i=1m1k+ranki(d), kde obvykle k60.[21] Podporována v průmyslových vyhledávačích (Elasticsearch/OpenSearch) jako vestavěný retriever/procesor.[22][23]

  • CombSUM/CombMNZ a další. Klasické funkce „součtu skóre" (v případě potřeby s normalizací).[24][25][26]
  • Vážená lineární kombinace.

S(d)=αSextsparse(d)+(1α)Sextdense(d), α[0,1]. Volba α může být pevná nebo trénovaná (podle kolekce/podle dotazu).[27]

  • Normalizace skóre. Pro CombSUM/CombMNZ se často používá min‑max, z‑score aj. pro sladění škál;[28] alternativně RRF pracuje pouze s pořadím.
  • Dynamické/adaptivní vážení. Směrování dotazů (query routing), příznaky dotazu a LTR‑modely pro výběr/váhu kanálů; novější práce ukazují, že jednoduchá trénovaná kombinace často předčí RRF a je málo citlivá na normalizaci.[29]

Přeřazování a víceúrovňové pipeline

Hybridní systémy jsou obvykle budovány jako retrieval → fusion → rerank. Pro přeřazování se používají:

  • Cross‑enkodéry (BERT/T5). Nejpřesnější, ale nákladné: MonoBERT/MonoT5 pro přeuspořádání top‑N kandidátů.[30][31]
  • Late‑interaction jako přeřazovač. Rodina ColBERT může sloužit také jako přeřazovač; moderní akcelerátory (PLAID, WARP) snižují latenci bez ztráty kvality.[32][33]

Kompromis kvalita ↔ latence/náklady je obzvláště důležitý v RAG a při přísných SLA (viz ocasní zpoždění p95/p99).[34]

Hodnocení na benchmarcích

  • BEIR. Jednotný soubor různorodých kolekcí/úloh pro hodnocení retrieverů v režimu zero‑/out‑of‑domain (např. TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack aj.).[35]
  • TREC Deep Learning / MS MARCO. Klasické zdroje pro trénink/hodnocení retrieverů a přeřazovačů v režimu velkých dat.[36][37][38]
  • Metriky kvality. nDCG@k, Recall@k, MRR; pro výkon — latence p50/p95/p99, QPS; pro provoz — paměť/náklady (CPU/GPU, index).[39][40]
  • Ablace. Doporučuje se zaznamenávat příspěvek každého kanálu/váhy a citlivost na parametry k v RRF a α při kombinování; hodnotit odolnost vůči přeformulacím a OOD‑posunům.[41][42]

Inženýrské aspekty a produkční praxe

  • Indexy a ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN pro MIPS/kosinusní podobnost.[43][44][45]
  • IR stack. Lucene/Anserini/Pyserini pro sparse/dense a hybridní pipeline; reprodukovatelnost „na dvě tlačítka" na BEIR.[46][47]
  • Vektorové databáze a vyhledávací enginy. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch mají nativní režimy hybridního vyhledávání (BM25F+vector) a/nebo RRF/lineární kombinaci.[48][49][50][51][52]
  • RAG‑vzor. Architektura: retrieval → fusion → rerank → kontext LLM s omezením tokenů a sledováním zdrojů.[53]
  • Aktualizace indexů, deduplikace, tokenizace. Důležité je sladit tokenizaci mezi BM25 a vektorizátorem; kalibrace skóre (normalizace/škálování) před kombinováním.[54]

Omezení a otevřené otázky

  • Přenositelnost a vícejazyčnost. Dense‑modely (GTR/E5) zlepšují přenos, ale jsou citlivé na doménu/jazyk; sparse‑modely (SPLADE) jsou na OOD often odolnější.[55][56]
  • Integrace s LLM a halucinace. Hybridní retrieval snižuje výpadky a šum v kontextech RAG, ale plně halucinace neodstraňuje; jsou potřeba přísné přeřazovače a filtrování zdrojů.[57]
  • Náklady a soukromí. Ukládání multi‑vector indexů, komprese, šifrování a on‑prem stack; hodnocení TCO.
  • Trendy. HyDE/doc2query/PRF jako rozšíření dokumentů/dotazů;[58][59] trénink kombinace (per‑query α), efektivnější late‑interaction (PLAID/WARP), dlouhé dokumenty a multivektorové indexy.[60][61]

Srovnávací tabulka metod

Ke dni 2025‑09‑10 (příklad na kolekci BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Srovnání metod na trec‑covid
Metoda Typ (sparse/dense/hybrid) Myšlenka/model Schéma slučování Přeřazovač nDCG@10 / R@100 Latence (rel.) Zdroje
BM25 sparse Přesná shoda termínů (PRF/BM25) 0.595 / 0.109 velmi nízká [63][64]
SPLADE++ (ED) sparse (learned) Řídké rozšíření/váhy termínů 0.727 / 0.128 nízká–střední [65][66]
Contriever (MS MARCO FT) dense Bi-enkodér s kontrastivním učením 0.596 / 0.091 střední [67][68]
BGE‑base‑en‑v1.5 dense Silný univerzální embedder 0.781 / 0.141 střední [69]
Cohere embed‑english‑v3.0 dense Průmyslový textový embedding model 0.818 / 0.159 střední [70]
BM25 + dense (příklad: BM25+BGE) hybrid Paralelní retrieval + slučování seznamů RRF (k≈60) nebo vážená kombinace vol.: MonoT5/ColBERT (závisí na implementaci; obvykle > nejlepší jednotlivý kanál) střední [71][72][73]

Poznámka: poslední řádek ilustruje schéma; přesná čísla závisí na volbě embedderu, normalizaci a parametrech slučování (viz zdroje a reprodukovatelné skripty Pyserini).

Literatura

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

Odkazy

  • 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

Poznámky

  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.