Hybrid retrieval (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (hibrid visszakeresés) — az információkeresési módszerek azon osztálya, amelyben lexikai (sparse) és szemantikai (dense/late‑interaction) jeleket kombinálnak a teljesség és pontosság növelése érdekében. A hibrid sémák ötvözik a pontos terminusegyeztetés (BM25/TF-IDF) és a vektoros közelség (bi-encoder modellek, késői interakciós multimodellek) előnyeit, valamint különböző skálájú pontozással szemben robusztus rangsoregyesítési módszereket alkalmaznak (pl. Reciprocal Rank Fusion, CombSUM/CombMNZ), és cross-encoder-alapú újrarangsorolást végeznek.[1][2][3]

Meghatározás és motiváció

Hibrid visszakeresés — párhuzamos vagy kaszkád keresés két (vagy több) független jelcsatornán, amelyet rangsoregyesítés és/vagy újrarangsorolás követ. Tipikus motivációk: (i) a „terminológiai szakadék" leküzdése (szinonimák, átfogalmazások), (ii) robusztusság elgépelésekkel/morfológiával szemben, (iii) egyedi kódok/azonosítók visszakeresése (ahol a sparse modell erős), (iv) átvitel új tartományokra/nyelvekre (ahol a dense modellek szemantikai általánosítást nyújtanak).[4][5][6]

A hibrid keresés összetevői

Lexikai (sparse)

  • Klasszikus modellek. A TF-IDF és a BM25/BM25F fordított indexeken alapuló szabványos alap­módszerek; a BM25 valószínűségi PRF-keretben megalapozott, és az első rangsorolási fázisban széles körben használt.[7]
  • Tanítható sparse modellek.
    • SPLADE / SPLADE++/v3. Neurális sparse modell, amely MLM-fejjel és ritkaság-regularizációval végzi a terminusok kibővítését és súlyozását; erős eredményeket és jó átvihetőséget mutat (BEIR).[8][9][10]
    • uniCOIL/COIL. Kontextualizált fordított listák és azok egyszerűsített változata, az uniCOIL; kompatibilis a klasszikus fordított indexekkel.[11]

Szemantikai (dense/late‑interaction)

  • Bi‑encoder (egyetlen vektor). A lekérdezést és a dokumentumot vektormodellek kódolják, a hasonlóság dot-product/MIPS alapján mérhető. Példák: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (több vektor). Token-szintű megfeleléseket modelleznek „késői" interakcióval: ColBERT/ColBERTv2; kompromisszum — jobb pontosság nagyobb index/késleltetés árán, amelyet mérnöki megoldások enyhítenek (PLAID, WARP).[17][18][19]

Hibridizációs sémák és rangsoregyesítés

  • Párhuzamos keresés és jelöltek egyesítése. Egymástól függetlenül kapjuk meg a jelöltlistákat (sparse és dense) belső pontozásaikkal, majd rangsoregyesítés következik.[20]
  • RRF (Reciprocal Rank Fusion). Összeegyeztethetetlen rangsorpontozásokkal szemben robusztus technika, amely fordított rangokat összegez:

RRF(d)=i=1m1k+ranki(d), ahol általában k60.[21] Ipari keresőmotorokban (Elasticsearch/OpenSearch) beépített visszakereső/processzorként támogatott.[22][23]

  • CombSUM/CombMNZ és más módszerek. Klasszikus „pontozás-összegzési" függvények (szükség esetén normalizálással).[24][25][26]
  • Súlyozott lineáris keverék.

S(d)=αSextsparse(d)+(1α)Sextdense(d), α[0,1]. A α megválasztása lehet rögzített vagy tanítható (kollekció vagy lekérdezés szerint).[27]

  • Pontozás normalizálása. A CombSUM/CombMNZ esetén skálák összehangolásához gyakran alkalmaznak min‑max, z‑score és egyéb normalizálást;[28] az RRF ezzel szemben kizárólag rangokra támaszkodik.
  • Dinamikus/adaptív súlyozás. Keresési útválasztás (query routing), lekérdezési jellemzők és LTR-modellek a csatornák kiválasztásához/súlyozásához; újabb munkák megmutatják, hogy egy egyszerű tanított keverék gyakran felülmúlja az RRF-et, és kevéssé érzékeny a normalizálásra.[29]

Újrarangsorolás és többfázisú pipeline-ok

A hibrid rendszereket jellemzően retrieval → fusion → rerank architektúraként valósítják meg. Az újrarangsoroláshoz a következőket alkalmazzák:

  • Cross-encoderek (BERT/T5). A legpontosabbak, de erőforrásigényesek: MonoBERT/MonoT5 a top-N jelölt átrendezéséhez.[30][31]
  • Late‑interaction mint újrarangsoroló. A ColBERT-család újrarangsorolóként is működhet; modern gyorsítók (PLAID, WARP) minőségromlás nélkül csökkentik a késleltetést.[32][33]

A minőség ↔ késleltetés/költség kompromisszum különösen fontos RAG esetén és szigorú SLA mellett (ld. p95/p99 farokidők).[34]

Kiértékelés benchmark-okon

  • BEIR. Különféle gyűjteményekből és feladatokból álló egységesített készlet a visszakeresők zero-/out-of-domain kiértékelésére (pl. TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack stb.).[35]
  • TREC Deep Learning / MS MARCO. Klasszikus erőforrások visszakeresők és újrarangsorolók nagy adatos tanítási/kiértékelési üzemmódban.[36][37][38]
  • Minőségi metrikák. nDCG@k, Recall@k, MRR; teljesítményre — latency p50/p95/p99, QPS; üzemeltetésre — memória/költség (CPU/GPU, index).[39][40]
  • Ablációs vizsgálatok. Ajánlott rögzíteni az egyes csatornák/súlyok hozzájárulását, az RRF-ben a k és a keverékben a α paraméterekre vonatkozó érzékenységet; kiértékelni az átfogalmazásokkal és OOD-eltolódásokkal szembeni robusztusságot.[41][42]

Mérnöki szempontok és éles rendszer-gyakorlatok

  • Indexek és ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN MIPS/koszinusz-hasonlósághoz.[43][44][45]
  • IR-veremtechnológia. Lucene/Anserini/Pyserini sparse/dense és hibrid pipeline-okhoz; reprodukálhatóság BEIR-en.[46][47]
  • Vektoros adatbázisok és keresőmotorok. A Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch natív hibrid keresési módokkal rendelkezik (BM25F+vektor) és/vagy RRF/lineáris keveréssel.[48][49][50][51][52]
  • RAG-minta. Architektúra: retrieval → fusion → rerank → LLM kontextus token-korláttal és forrásnaplózással.[53]
  • Index-frissítés, deduplikáció, tokenizálás. Fontos összehangolni a tokenizálást a BM25 és a vektorizáló között; pontozás kalibrálása (normalizálás/skálázás) keverés előtt.[54]

Korlátok és nyitott kérdések

  • Átvitelhatóság és többnyelvűség. A dense modellek (GTR/E5) javítják az átvitelt, de érzékenyek a tartományra/nyelvre; a sparse modellek (SPLADE) OOD esetén gyakran robusztusabbak.[55][56]
  • Integráció LLM-mel és hallucinációk. A hibrid visszakeresés csökkenti a kihagyásokat és a zajt a RAG kontextusokban, de nem szünteti meg teljesen a hallucinációkat; szigorú újrarangsorolókra és forrásfiltráló mechanizmusokra van szükség.[57]
  • Költség és adatvédelem. Multi-vector indexek tárolása, tömörítés, titkosítás és helyi infrastruktúra; TCO-értékelés.
  • Trendek. HyDE/doc2query/PRF mint dokumentum/lekérdezés-kibővítési technikák;[58][59] keveréktanítás (lekérdezésenkénti α), hatékonyabb late-interaction (PLAID/WARP), hosszú dokumentumok és multivektoros indexek.[60][61]

Módszerek összehasonlító táblázata

2025‑09‑10-i állapot szerint (példa a BEIR trec‑covid gyűjteményen; nDCG@10 / Recall@100):[62]

Módszerek összehasonlítása a trec‑covid gyűjteményen
Módszer Típus (sparse/dense/hybrid) Ötlet/modell Egyesítési séma Újrarangsoroló nDCG@10 / R@100 Késleltetés (rel.) Források
BM25 sparse Pontos terminusegyeztetés (PRF/BM25) 0.595 / 0.109 nagyon alacsony [63][64]
SPLADE++ (ED) sparse (learned) Ritka terminus-kibővítés/súlyozás 0.727 / 0.128 alacsony–közepes [65][66]
Contriever (MS MARCO FT) dense Kontasztív tanítású bi-encoder 0.596 / 0.091 közepes [67][68]
BGE‑base‑en‑v1.5 dense Erős általános célú embedding modell 0.781 / 0.141 közepes [69]
Cohere embed‑english‑v3.0 dense Ipari szöveges embedding modell 0.818 / 0.159 közepes [70]
BM25 + dense (példa: BM25+BGE) hybrid Párhuzamos visszakeresés + listaelemegyesítés RRF (k≈60) vagy súlyozott keverék opc.: MonoT5/ColBERT (implementációtól függően változó; általában > legjobb egycsatornás) közepes [71][72][73]

Megjegyzés: az utolsó sor az architektúrát szemlélteti; a pontos számok az embedding modell megválasztásától, a normalizálástól és az egyesítési paraméterektől függnek (ld. forrásokat és a Pyserini reprodukálható szkriptjeit).

Irodalom

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

Hivatkozások

  • 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

Megjegyzések

  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.