Hybrid retrieval (HE)
Hybrid Retrieval (אחזור היברידי) — מחלקת שיטות לאחזור מידע, שבהן משולבים אותות לקסיקליים (sparse) וסמנטיים (dense/late‑interaction) לשיפור המלאות והדיוק של התוצאות. תכניות היברידיות משלבות את יתרונות ההתאמה המדויקת של מונחים (BM25/TF-IDF) עם קרבה וקטורית (bi-encoder, מודלים של late-interaction), וכן משתמשות בשיטות מיזוג דירוגים העמידות בפני הבדלי סקאלות (למשל, Reciprocal Rank Fusion, CombSUM/CombMNZ) וברירות דירוג מחדש באמצעות cross-encoder.[1][2][3]
הגדרה ומוטיבציה
אחזור היברידי הוא חיפוש מקבילי או מדורג בשני ערוצי אותות (ויותר) בלתי תלויים, עם מיזוג ו/או דירוג מחדש לאחר מכן. מוטיבציות טיפוסיות: (i) גישור על "פער טרמינולוגי" (מילים נרדפות, ניסוחים מחדש), (ii) עמידות בפני שגיאות כתיב ומורפולוגיה, (iii) אחזור קודים ומזהים ספציפיים (שם מודל sparse חזק), (iv) העברה לדומיינים ושפות חדשים (שם מודלי dense מספקים הכללה סמנטית).[4][5][6]
רכיבי החיפוש ההיברידי
לקסיקלי (sparse)
- מודלים קלאסיים. TF-IDF ו-BM25/BM25F — שיטות בסיס סטנדרטיות על אינדקסים הפוכים; BM25 מנומק במסגרת PRF הסתברותית ונמצא בשימוש נרחב כשלב ראשון בדירוג.[7]
- sparse הניתנים לאימון.
סמנטי (dense/late‑interaction)
- Bi‑encoder (single‑vector). שאילתה ומסמך מקודדים על ידי מודלי וקטורים, דמיון — לפי dot‑product/MIPS. דוגמאות: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
- Late‑interaction (multi‑vector). מדגמנים התאמות ברמת token עם "אינטראקציה מאוחרת": ColBERT/ColBERTv2; הפשרה — דיוק טוב יותר במחיר אינדקס/זמן תגובה גדולים יותר, שמוקל על ידי מנועים הנדסיים (PLAID, WARP).[17][18][19]
תכניות היברידיזציה ומיזוג דירוגים
- חיפוש מקבילי ואיחוד מועמדים. קבלה עצמאית של רשימות מועמדים (sparse ו-dense) עם הציונים הפנימיים שלהם; לאחר מכן — מיזוג דירוגים.[20]
- RRF (Reciprocal Rank Fusion). טכניקה עמידה בפני ציונים בלתי ניתנים להשוואה, המסכמת דירוגים הפוכים:
, כאשר בדרך כלל .[21] נתמכת במנועים תעשייתיים (Elasticsearch/OpenSearch) כ-retriever/processor מובנה.[22][23]
- CombSUM/CombMNZ ואחרות. פונקציות "סכימת ציונים" קלאסיות (עם נרמול במידת הצורך).[24][25][26]
- תערובת לינארית משוקללת.
, . הבחירה ב- יכולה להיות קבועה או הניתנת לאימון (לפי אוסף/לפי שאילתה).[27]
- נרמול ציונים. עבור CombSUM/CombMNZ מיישמים לעיתים קרובות min‑max, z‑score ואחרות להתאמת סקאלות;[28] לחלופין, RRF מסתמך על דירוגים בלבד.
- שקלול דינמי/אדפטיבי. ניתוב שאילתות (query routing), מאפייני שאילתה ומודלי LTR לבחירת ערוצים/משקלות; עבודות עכשוויות מראות שתערובת פשוטה מאומנת לרוב עולה על RRF ורגישה מעט לנרמול.[29]
דירוג מחדש ו-pipeline רב-שלבי
מערכות היברידיות בנויות בדרך כלל כ-retrieval → fusion → rerank. לדירוג מחדש משתמשים ב:
- Cross‑encoder (BERT/T5). המדויקים ביותר, אך גם היקרים ביותר: MonoBERT/MonoT5 לסדר מחדש של top‑N מועמדים.[30][31]
- Late‑interaction כ-reranker. משפחת ColBERT יכולה לשמש גם כ-reranker; מאיצים עכשוויים (PLAID, WARP) מפחיתים זמן תגובה ללא אובדן איכות.[32][33]
הפשרה איכות ↔ זמן תגובה/עלות חשובה במיוחד ב-RAG ו-SLA קשוחים (ראו עיכובי זנב p95/p99).[34]
הערכה על benchmark-ים
- BEIR. אוסף מאוחד של קבצים ומשימות הטרוגניים להערכת retriever-ים ב-zero-/out-of-domain (למשל, TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack ועוד).[35]
- TREC Deep Learning / MS MARCO. משאבים קלאסיים לאימון והערכת retriever-ים ו-reranker-ים במצב big data.[36][37][38]
- מדדי איכות. nDCG@k, Recall@k, MRR; לביצועים — latency p50/p95/p99, QPS; לתפעול — זיכרון/עלות (CPU/GPU, אינדקס).[39][40]
- אבלציות. מומלץ לתעד את תרומת כל ערוץ/משקל ואת הרגישות לפרמטרים ב-RRF ו- בתערובת; להעריך עמידות בפני ניסוחים מחדש וסטיות OOD.[41][42]
היבטים הנדסיים ופרקטיקות production
- אינדקסים ו-ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN עבור MIPS/קרבה קוסינוסית.[43][44][45]
- סטק IR. Lucene/Anserini/Pyserini לצינורות sparse/dense והיברידיים; יכולת שחזור "בלחיצת כפתור" על BEIR.[46][47]
- מסדי נתונים וקטוריים ומנועי חיפוש. ל-Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch יש מצבי חיפוש היברידי מובנים (BM25F+vector) ו/או RRF/ערבוב לינארי.[48][49][50][51][52]
- תבנית RAG. ארכיטקטורה: retrieval → fusion → rerank → הקשר LLM עם הגבלת token-ים ומעקב מקורות.[53]
- עדכון אינדקסים, כפילויות, טוקניזציה. חשוב להתאים טוקניזציה בין BM25 למקודד הוקטורים; כיול ציונים (נרמול/סקאלה) לפני ערבוב.[54]
מגבלות ושאלות פתוחות
- יכולת העברה ורב-לשוניות. מודלי dense (GTR/E5) משפרים העברה, אך רגישים לדומיין/שפה; מודלי sparse (SPLADE) לרוב יציבים יותר על OOD.[55][56]
- אינטגרציה עם LLM והזיות. אחזור היברידי מפחית החמצות ורעש בהקשרי RAG, אך אינו מבטל לחלוטין הזיות; נדרשים reranker-ים קפדניים וסינון מקורות.[57]
- עלות ופרטיות. אחסון אינדקסי multi‑vector, דחיסה, הצפנה וסטק on‑prem; הערכת TCO.
- מגמות. HyDE/doc2query/PRF כהרחבת מסמכים/שאילתות;[58][59] אימון ערבוב (per‑query ), late‑interaction יעיל יותר (PLAID/WARP), מסמכים ארוכים ואינדקסים רב-וקטוריים.[60][61]
טבלת השוואת שיטות
נכון ל-2025‑09‑10 (דוגמה על אוסף BEIR trec‑covid; nDCG@10 / Recall@100):[62]
| שיטה | סוג (sparse/dense/hybrid) | רעיון/מודל | תכנית מיזוג | Reranker | nDCG@10 / R@100 | Latency (יחסי) | מקורות |
|---|---|---|---|---|---|---|---|
| BM25 | sparse | התאמה מדויקת של מונחים (PRF/BM25) | — | — | 0.595 / 0.109 | נמוכה מאד | [63][64] |
| SPLADE++ (ED) | sparse (learned) | הרחבה/שקלול דלילים של מונחים | — | — | 0.727 / 0.128 | נמוכה–בינונית | [65][66] |
| Contriever (MS MARCO FT) | dense | Bi-encoder עם אימון קונטרסטיבי | — | — | 0.596 / 0.091 | בינונית | [67][68] |
| BGE‑base‑en‑v1.5 | dense | Embedding חזק ורב-תכליתי | — | — | 0.781 / 0.141 | בינונית | [69] |
| Cohere embed‑english‑v3.0 | dense | מודל embedding טקסטואלי תעשייתי | — | — | 0.818 / 0.159 | בינונית | [70] |
| BM25 + dense (דוגמה: BM25+BGE) | hybrid | אחזור מקבילי + מיזוג רשימות | RRF (k≈60) או תערובת משוקללת | אופציונלי: MonoT5/ColBERT | (משתנה לפי מימוש; בדרך כלל > הערוץ הבודד הטוב ביותר) | בינונית | [71][72][73] |
הערה: השורה האחרונה ממחישה את התכנית; המספרים המדויקים תלויים בבחירת ה-embedding, הנרמול ופרמטרי המיזוג (ראו מקורות ותסריטי Pyserini הניתנים לשחזור).
ספרות
- 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.
קישורים
- 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
הערות
- ↑ 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.
- ↑ 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.
- ↑ 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.
- ↑ Manning, C.D., Raghavan, P., Schütze, H. (2008). Introduction to Information Retrieval. Cambridge University Press. ISBN 978‑0521865715 (см. главы о TF‑IDF, оценке и проблеме vocabulary mismatch).
- ↑ Izacard, G. et al. (2022). Unsupervised Dense Information Retrieval with Contrastive Learning (Contriever). TACL 10:1089–1108. arXiv:2112.09118.
- ↑ Wang, L. et al. (2022/2024). Text Embeddings by Weakly‑Supervised Contrastive Pre‑training (E5). arXiv:2212.03533.
- ↑ Robertson, S., Zaragoza, H. (2009). The Probabilistic Relevance Framework: BM25 and Beyond. DOI:10.1561/1500000019.
- ↑ Formal, T., Piwowarski, B., Clinchant, S. (2021). SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking. arXiv:2107.05720.
- ↑ Formal, T. et al. (2022). Making Sparse Neural IR Models More Effective. Findings of EMNLP. arXiv:2205.04733.
- ↑ Formal, T. et al. (2024). SPLADE‑v3: New baselines for SPLADE. arXiv:2403.06789.
- ↑ Lin, J., Ma, X. (2021). A Few Brief Notes on DeepImpact, COIL, and uniCOIL. arXiv:2106.14807.
- ↑ Karpukhin, V. et al. (2020). Dense Passage Retrieval for Open‑Domain QA. EMNLP. arXiv:2004.04906.
- ↑ Xiong, L. et al. (2021). Approximate Nearest Neighbor Negative Contrastive Learning for Dense Text Retrieval (ANCE). ICLR. arXiv:2007.00808.
- ↑ Izacard, G. et al. (2022). TACL. arXiv:2112.09118.
- ↑ Ni, J. et al. (2021/2022). Large Dual Encoders Are Generalizable Retrievers (GTR). EMNLP. arXiv:2112.07899.
- ↑ Wang, L. et al. (2022/2024). arXiv:2212.03533.
- ↑ Khattab, O., Zaharia, M. (2020). ColBERT: Efficient and Effective Passage Search via Contextualized Late Interaction over BERT. SIGIR. arXiv:2004.12832.
- ↑ Santhanam, K. et al. (2022). ColBERTv2 & PLAID. NAACL/ArXiv. arXiv:2112.01488; arXiv:2205.09707.
- ↑ Scheerer, J.L. et al. (2025). WARP: An Efficient Engine for Multi‑Vector Retrieval. arXiv:2501.17788.
- ↑ Lin, J. et al. (2021). Pyserini: A Python Toolkit for Reproducible IR with Sparse and Dense Representations. SIGIR. PDF.
- ↑ Cormack, G.V., Clarke, C.L.A., Büttcher, S. (2009). SIGIR. PDF.
- ↑ Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
- ↑ OpenSearch Docs. Score ranker processor (RRF). (доступ 2025‑09‑10). docs.opensearch.org/.../score-ranker-processor/.
- ↑ Fox, E.A., Shaw, J.A. (1994). Combination of Multiple Searches. TREC‑2, NIST SP 500‑215, 243–252. PDF.
- ↑ Lee, J.H. (1997). Analyses of Multiple Evidence Combination. SIGIR, 267–276. DOI:10.1145/258525.258587.
- ↑ Hsu, D.F., Taksa, I. (2005). Comparing Rank and Score Combination Methods for Data Fusion in IR. (Tech. report). PDF.
- ↑ Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
- ↑ Hsu, D.F., Taksa, I. (2005). см. выше.
- ↑ Bruch, S., Gai, S., Ingber, A. (2023). TOIS. DOI:10.1145/3596512.
- ↑ Nogueira, R., Cho, K. (2019). Passage Re‑ranking with BERT. arXiv:1901.04085.
- ↑ Nogueira, R., Jiang, Z., Lin, J. (2020). Document Ranking with a Pretrained Sequence‑to‑Sequence Model (MonoT5). Findings of EMNLP. arXiv:2003.06713.
- ↑ Santhanam, K. et al. (2022). arXiv:2205.09707.
- ↑ Scheerer, J.L. et al. (2025). arXiv:2501.17788.
- ↑ Dean, J., Barroso, L.A. (2013). The Tail at Scale. CACM 56(2):74–80. DOI:10.1145/2408776.2408794.
- ↑ Thakur, N. et al. (2021). BEIR: A Heterogeneous Benchmark for Zero‑shot Evaluation of IR Models. NeurIPS Datasets & Benchmarks. arXiv:2104.08663.
- ↑ Craswell, N. et al. (2020). Overview of the TREC 2019 Deep Learning Track. arXiv:2003.07820.
- ↑ Craswell, N. et al. (2021). Overview of the TREC 2020 Deep Learning Track. arXiv:2102.07662.
- ↑ Bajaj, P. et al. (2016). MS MARCO: A Human Generated MAchine Reading COmprehension Dataset. arXiv:1611.09268.
- ↑ 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.
- ↑ Dean, J., Barroso, L.A. (2013). CACM. DOI:10.1145/2408776.2408794.
- ↑ Bruch, S. et al. (2023). DOI:10.1145/3596512.
- ↑ Ni, J. et al. (2021/2022). arXiv:2112.07899.
- ↑ Johnson, J., Douze, M., Jégou, H. (2017). Billion‑scale Similarity Search with GPUs (FAISS). arXiv:1702.08734.
- ↑ Malkov, Y., Yashunin, D. (2020). HNSW. IEEE TPAMI 42(4):824–836. DOI:10.1109/TPAMI.2018.2889473.
- ↑ Guo, R. et al. (2020). ScaNN: Efficient Vector Similarity Search at Scale. arXiv:1908.10396.
- ↑ Yang, P., Fang, H., Lin, J. (2018). Anserini: Reproducible IR Research with Lucene. JDIQ 10(4):1–20. DOI:10.1145/3239571.
- ↑ Lin, J. et al. (2021). SIGIR. PDF.
- ↑ Qdrant Docs. Hybrid queries (RRF, DBSF). (доступ 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
- ↑ Weaviate Docs. Hybrid search. (доступ 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
- ↑ pgvector GitHub. (доступ 2025‑09‑10). github.com/pgvector/pgvector.
- ↑ Vespa Docs. Hybrid Text Search Tutorial. (доступ 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
- ↑ Elastic Docs. Reciprocal Rank Fusion. (доступ 2025‑09‑10). elastic.co/docs/.../rrf.
- ↑ Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. NeurIPS. arXiv:2005.11401.
- ↑ Hsu, D.F., Taksa, I. (2005). см. выше.
- ↑ Ni, J. et al. (2021/2022). arXiv:2112.07899.
- ↑ Formal, T. et al. (2021, 2022, 2024). arXiv:2107.05720; 2205.04733; 2403.06789.
- ↑ Lewis, P. et al. (2020). arXiv:2005.11401.
- ↑ Gao, L. et al. (2023). Precise Zero‑Shot Dense Retrieval without Relevance Labels (HyDE). ACL. arXiv:2212.10496.
- ↑ Nogueira, R. et al. (2019). Document Expansion by Query Prediction. arXiv:1904.08375; docTTTTTquery. PDF.
- ↑ Santhanam, K. et al. (2022). arXiv:2205.09707.
- ↑ Scheerer, J.L. et al. (2025). arXiv:2501.17788.
- ↑ Pyserini BEIR Regressions (доступ 2025‑09‑10): результаты по trec‑covid для BM25/SPLADE/Contriever/BGE/Cohere. castorini.github.io/pyserini/2cr/beir.html.
- ↑ Robertson, S., Zaragoza, H. (2009). DOI:10.1561/1500000019.
- ↑ Pyserini BEIR. См. ссылку выше.
- ↑ Formal, T. et al. (2021, 2022). arXiv:2107.05720; 2205.04733.
- ↑ Pyserini BEIR.
- ↑ Izacard, G. et al. (2022). arXiv:2112.09118.
- ↑ Pyserini BEIR.
- ↑ Pyserini BEIR.
- ↑ Pyserini BEIR.
- ↑ Cormack et al. (2009). SIGIR. RRF.
- ↑ Bruch et al. (2023). TOIS.
- ↑ Elastic/OpenSearch RRF Docs.