Hybrid retrieval (TL)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (hybrid na retriev) — isang klase ng mga pamamaraan ng paghahanap ng impormasyon kung saan pinagsama ang mga leksikal (sparse) at semantiko (dense/late‑interaction) na signal upang mapataas ang ganap at katumpakan ng mga resulta. Pinagsasama ng mga hybrid na iskema ang mga kalamangan ng tumpak na pagtutugma ng termino (BM25/TF-IDF) at vektoral na pagkakahawig (bi-encoder, multi-model na late interaction), gayundin gumagamit ng mga pamamaraan ng pagsasama ng ranking na lumalaban sa pagkakaiba ng sukat ng pagmamarka (halimbawa, Reciprocal Rank Fusion, CombSUM/CombMNZ) at muling pag-aayos ng cross‑encoder.[1][2][3]

Kahulugan at Motibasyon

Hybrid na retriev — ito ay parallel o cascading na paghahanap sa dalawa (o higit pa) na independiyenteng channel ng signal na sinusundan ng pagsasama at/o muling pag-aayos. Karaniwang motibasyon: (i) paglagpas sa "terminolohikal na agwat" (mga sinonimo, muling pagbabalangkas), (ii) tibay laban sa mga typo/morpolohiya, (iii) pagkuha ng mga tiyak na code/identifier (kung saan malakas ang sparse‑modelo), (iv) paglipat sa mga bagong domain/wika (kung saan nagbibigay ng semantikong generalisasyon ang mga dense‑modelo).[4][5][6]

Mga Bahagi ng Hybrid na Paghahanap

Leksikal (sparse)

  • Mga klasikong modelo. TF-IDF at BM25/BM25F — mga karaniwang pangunahing pamamaraan sa inverted index; ang BM25 ay nakabase sa probabilistikong PRF‑balangkas at malawakang ginagamit sa unang yugto ng pag-aayos.[7]
  • Matututo-nang sparse.
    • SPLADE / SPLADE++/v3. Isang neural sparse na modelo na nagtuturo ng pagpapalawak at pagbibigay-timbang ng termino sa pamamagitan ng MLM‑ulo na may regularisasyon ng pagkakahiwa-hiwalay; nagpapakita ng malakas na mga resulta at magandang portabilidad (BEIR).[8][9][10]
    • uniCOIL/COIL. Mga kontekstuwal na inverted list at ang pinasimpleng bersyon nitong uniCOIL; katugma sa mga klasikong inverted index.[11]

Semantiko (dense/late‑interaction)

  • Bi‑encoder (single‑vector). Ang query at dokumento ay naka-encode ng mga vector model, ang pagkakahawig ay batay sa dot‑product/MIPS. Mga halimbawa: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late‑interaction (multi‑vector). Ginagaya ang mga pagtutugma sa antas ng token sa pamamagitan ng "late" na interaksyon: ColBERT/ColBERTv2; ang kompromiso — mas mataas na katumpakan ngunit mas malaking index/latency, pinipigilan ng mga engineering driver (PLAID, WARP).[17][18][19]

Mga Iskema ng Hybridization at Pagsasama ng Ranking

  • Parallel na paghahanap at pagsasama ng mga kandidato. Independiyenteng nakukuha ang mga listahan ng kandidato (sparse at dense) kasama ang kanilang internal na pagmamarka; pagkatapos — pagsasama ng ranking.[20]
  • RRF (Reciprocal Rank Fusion). Isang teknik na lumalaban sa hindi maihahambing na mga marka ng ranking, na nagbubuod ng mga reciprocal na rank:

RRF(d)=∑i=1m1k+ranki(d), kung saan karaniwang k≈60.[21] Sinusuportahan sa mga industriyal na makina (Elasticsearch/OpenSearch) bilang built-in na retriever/processor.[22][23]

  • CombSUM/CombMNZ at iba pa. Mga klasikong function ng "pagsasama ng mga marka" (kung kinakailangan — na may normalisasyon).[24][25][26]
  • Weighted linear mixture.

S(d)=α⋅Ssparse(d)+(1−α)⋅Sdense(d), α∈[0,1]. Ang pagpili ng α ay maaaring naayos o matututo (ayon sa koleksyon/ayon sa query).[27]

  • Normalisasyon ng mga marka. Para sa CombSUM/CombMNZ kadalasang ginagamit ang min‑max, z‑score at iba pa para sa pag-aayos ng mga sukat;[28] bilang alternatibo, ang RRF ay umaasa lamang sa mga rank.
  • Dinamiko/adaptive na pagbibigay-timbang. Pag-route ng query, mga katangian ng query, at mga LTR‑modelo para sa pagpili/pagbibigay-timbang ng channel; ipinapakita ng mga modernong gawa na ang simpleng natututo-nang halo ay kadalasang nananaig sa RRF at hindi gaanong sensitibo sa normalisasyon.[29]

Muling Pag-aayos at Mga Multi-Stage na Pipeline

Ang mga hybrid na sistema ay karaniwang binubuo bilang retrieval → fusion → rerank. Para sa muling pag-aayos, ginagamit ang:

  • Cross‑encoder (BERT/T5). Pinaka-tumpak ngunit mahal: MonoBERT/MonoT5 para sa muling pag-aayos ng top‑N na mga kandidato.[30][31]
  • Late‑interaction bilang reranker. Ang pamilya ng ColBERT ay maaari ring gamitin bilang reranker; ang mga modernong accelerator (PLAID, WARP) ay nagpapababa ng latency nang walang pagkawala ng kalidad.[32][33]

Ang kompromiso ng kalidad ↔ latency/gastos ay lalo na mahalaga sa RAG at mahigpit na SLA (tingnan ang mga buntot na pagkaantala ng p95/p99).[34]

Pagtatasa sa mga Benchmark

  • BEIR. Isang pinag-isang koleksyon ng iba't ibang koleksyon/gawain para sa zero‑/out‑of‑domain na pagtatasa ng mga retriever (hal., TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack at iba pa).[35]
  • TREC Deep Learning / MS MARCO. Mga klasikong mapagkukunan para sa pagsasanay/pagtatasa ng mga retriever at reranker sa mode ng malaking datos.[36][37][38]
  • Mga sukatan ng kalidad. nDCG@k, Recall@k, MRR; para sa pagganap — latency p50/p95/p99, QPS; para sa operasyon — memorya/gastos (CPU/GPU, index).[39][40]
  • Mga ablasyon. Inirerekomenda na itala ang kontribusyon ng bawat channel/timbang at ang sensitivity sa mga parameter na k sa RRF at α sa paghahalo; suriin ang tibay sa mga muling pagbabalangkas at OOD‑shift.[41][42]

Mga Aspeto ng Engineering at mga Kasanayan sa Produksyon

  • Mga Index at ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN para sa MIPS/cosine similarity.[43][44][45]
  • IR stack. Lucene/Anserini/Pyserini para sa sparse/dense at hybrid na mga pipeline; "dalawang-button" na reproducibility sa BEIR.[46][47]
  • Mga Vector database at search engine. Ang Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch ay may native na mga mode ng hybrid na paghahanap (BM25F+vector) at/o RRF/linear na paghahalo.[48][49][50][51][52]
  • RAG pattern. Arkitektura: retrieval → fusion → rerank → konteksto ng LLM na may limitasyon ng token at pagsubaybay ng mga pinagmulan.[53]
  • Pag-update ng index, deduplication, tokenization. Mahalaga ang pag-aayos ng tokenization sa pagitan ng BM25 at ng vectorizer; kalibrasyon ng mga marka (normalisasyon/scaling) bago ang paghahalo.[54]

Mga Limitasyon at Bukas na Tanong

  • Portabilidad at multilingguwalismo. Ang mga dense‑modelo (GTR/E5) ay nagpapabuti ng paglipat, ngunit sensitibo sa domain/wika; ang mga sparse‑modelo (SPLADE) ay kadalasang mas matibay sa OOD.[55][56]
  • Integrasyon sa LLM at mga halusination. Ang hybrid retriev ay nagbabawas ng mga pagkawala at ingay sa mga konteksto ng RAG, ngunit hindi ganap na inaalis ang mga halusination; kinakailangan ang mahigpit na mga reranker at pag-filter ng pinagmulan.[57]
  • Gastos at privacy. Pag-iimbak ng mga multi‑vector index, kompresyon, pag-encrypt at on‑prem stack; pagtatasa ng TCO.
  • Mga trend. HyDE/doc2query/PRF bilang pagpapalawak ng dokumento/query;[58][59] pagsasanay ng paghahalo (per‑query α), mas mahusay na late‑interaction (PLAID/WARP), mahahabang dokumento at mga multivector index.[60][61]

Comparative Table ng Mga Pamamaraan

Sa petsa ng 2025‑09‑10 (halimbawa sa koleksyon ng BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Paghahambing ng mga pamamaraan sa trec‑covid
Pamamaraan Uri (sparse/dense/hybrid) Ideya/modelo Iskema ng pagsasama Reranker nDCG@10 / R@100 Latency (relatibo) Mga Pinagmulan
BM25 sparse Tumpak na pagtutugma ng termino (PRF/BM25) — — 0.595 / 0.109 napakababa [63][64]
SPLADE++ (ED) sparse (learned) Sparse na pagpapalawak/timbang ng termino — — 0.727 / 0.128 mababa–katamtaman [65][66]
Contriever (MS MARCO FT) dense Bi-encoder ng contrastive learning — — 0.596 / 0.091 katamtaman [67][68]
BGE‑base‑en‑v1.5 dense Malakas na pangkalahatang embedder — — 0.781 / 0.141 katamtaman [69]
Cohere embed‑english‑v3.0 dense Industriyal na text embedding model — — 0.818 / 0.159 katamtaman [70]
BM25 + dense (halimbawa: BM25+BGE) hybrid Parallel na retriev + pagsasama ng listahan RRF (k≈60) o weighted mixture opsyonal: MonoT5/ColBERT (nag-iiba ayon sa implementasyon; karaniwang > pinakamahusay na solong channel) katamtaman [71][72][73]

Paunawa: ang huling hilera ay naglalarawan ng iskema; ang mga tumpak na numero ay depende sa pagpili ng embedder, normalisasyon, at mga parameter ng pagsasama (tingnan ang mga pinagmulan at reproducible na mga script ng Pyserini).

Mga Sanggunian

  • 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

Mga Tala

  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.