Hybrid retrieval (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (хибридно извличане) — клас методи за информационно търсене, при които се обединяват лексикални (sparse) и семантични (dense/late‑interaction) сигнали за повишаване на пълнотата и точността на резултатите. Хибридните схеми съчетават предимствата на точното съвпадение на термини (BM25/TF-IDF) и векторната близост (bi‑encoder модели, мултивектори с късно взаимодействие), а също използват устойчиви на разномащабни оценки методи за сливане на класирания (например Reciprocal Rank Fusion, CombSUM/CombMNZ) и преранжиране с кросс‑енкодери.[1][2][3]

Определение и мотивация

Хибридното извличане е паралелно или каскадно търсене по два (и повече) независими канала от сигнали с последващо сливане и/или преранжиране. Типичните мотивации са: (i) преодоляване на „терминологичната пропаст" (синоними, преформулировки), (ii) устойчивост към правописни грешки/морфология, (iii) извличане на специфични кодове/идентификатори (където sparse‑моделът е силен), (iv) пренос към нови домейни/езици (където dense‑моделите осигуряват семантично обобщение).[4][5][6]

Компоненти на хибридното търсене

Лексикален (sparse)

  • Класически модели. TF-IDF и BM25/BM25F — стандартни базови методи върху инвертирани индекси; BM25 е обоснован в вероятностната PRF‑рамка и се използва широко като първи етап на класиране.[7]
  • Обучаеми sparse.
    • SPLADE / SPLADE++/v3. Невронен sparse‑модел, обучаващ разширяване и претегляне на термини чрез MLM‑глава с регуляризация на разредеността; показва силни резултати и добра преносимост (BEIR).[8][9][10]
    • uniCOIL/COIL. Контекстуализирани инвертирани списъци и тяхната опростена версия uniCOIL; съвместими с класически инвертирани индекси.[11]

Семантичен (dense/late‑interaction)

  • Bi‑encoder (единичен вектор). Заявката и документът се кодират от векторни модели, приликата се изчислява чрез dot‑product/MIPS. Примери: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (многовекторен). Моделират съответствия на ниво токен при „късно" взаимодействие: ColBERT/ColBERTv2; компромисът е по‑висока точност при по‑голям индекс/латентност, смекчен от инженерни ускорители (PLAID, WARP).[17][18][19]

Схеми за хибридизация и сливане на класирания

  • Паралелно търсене и обединяване на кандидати. Независимо получаваме списъци с кандидати (sparse и dense) с техните вътрешни оценки; след това — сливане на класиранията.[20]
  • RRF (Reciprocal Rank Fusion). Техника, устойчива на несъпоставими оценки на класиранията, сумираща реципрочните рангове:

RRF(d)=i=1m1k+ranki(d), като обикновено k60.[21] Поддържа се в промишлени системи (Elasticsearch/OpenSearch) като вграден извличач/процесор.[22][23]

  • CombSUM/CombMNZ и др. Класически функции за „сумиране на оценки" (при необходимост — с нормализация).[24][25][26]
  • Претеглена линейна смес.

S(d)=αSextsparse(d)+(1α)Sextdense(d), α[0,1]. Изборът на α може да бъде фиксиран или обучаем (по колекция/по заявка).[27]

  • Нормализация на оценките. За CombSUM/CombMNZ често се прилагат min‑max, z‑score и др. за съгласуване на скалите;[28] алтернативно RRF разчита само на рангове.
  • Динамично/адаптивно претегляне. Маршрутизация на заявки (query routing), характеристики на заявката и LTR‑модели за избор/тегло на каналите; съвременни изследвания показват, че простата обучена смес често превъзхожда RRF и е малко чувствителна към нормализацията.[29]

Преранжиране и многоетапни pipeline-и

Хибридните системи обикновено се изграждат като retrieval → fusion → rerank. За преранжиране се използват:

  • Кросс‑енкодери (BERT/T5). Най-точни, но изчислително скъпи: MonoBERT/MonoT5 за преподреждане на топ‑N кандидата.[30][31]
  • Late‑interaction като преранжиращ модел. Семейството ColBERT може да изпълнява и ролята на преранжиращ модел; съвременните ускорители (PLAID, WARP) намаляват латентността без загуба на качество.[32][33]

Компромисът качество ↔ латентност/стоимост е особено важен при RAG и строги SLA (вж. опашкови закъснения p95/p99).[34]

Оценка на benchmark-и

  • BEIR. Унифициран набор от разнородни колекции/задачи за 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. Класически ресурси за обучение/оценка на извличащи модели и преранжиращи компоненти в режим на големи данни.[36][37][38]
  • Метрики за качество. nDCG@k, Recall@k, MRR; за производителност — latency p50/p95/p99, QPS; за експлоатация — памет/стойност (CPU/GPU, индекс).[39][40]
  • Аблации. Препоръчва се фиксиране на приноса на всеки канал/тегло и чувствителността към параметрите k в RRF и α при смесване; оценяване на устойчивостта към преформулировки и OOD‑отклонения.[41][42]

Инженерни аспекти и production‑практики

  • Индекси и ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN за MIPS/косинусна близост.[43][44][45]
  • IR стек. Lucene/Anserini/Pyserini за sparse/dense и хибридни pipeline‑и; лесно възпроизводимост на BEIR.[46][47]
  • Векторни бази данни и търсещи системи. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch разполагат с нативни режими на хибридно търсене (BM25F+vector) и/или RRF/линейно смесване.[48][49][50][51][52]
  • RAG‑шаблон. Архитектура: retrieval → fusion → rerank → контекст на LLM с ограничение на токените и проследяване на източници.[53]
  • Обновяване на индекси, дедупликация, токенизация. Важно е да се съгласува токенизацията между BM25 и векторизатора; калибриране на оценките (нормализация/мащабиране) преди смесване.[54]

Ограничения и открити въпроси

  • Преносимост и многоезичност. Dense‑моделите (GTR/E5) подобряват преноса, но са чувствителни към домейн/език; sparse‑моделите (SPLADE) често са по‑устойчиви при OOD.[55][56]
  • Интеграция с LLM и халюцинации. Хибридното извличане намалява пропуските и шума в контекстите на RAG, но не елиминира напълно халюцинациите; необходими са строги преранжиращи компоненти и филтриране на източници.[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]

Сравнение на методите върху trec‑covid
Метод Тип (sparse/dense/hybrid) Идея/модел Схема на сливане Преранжиращ компонент nDCG@10 / R@100 Латентност (отн.) Източници
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

Бележки

  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.