Hybrid retrieval (TH)
Hybrid Retrieval (การค้นคืนแบบไฮบริด) — กลุ่มวิธีการค้นคืนสารสนเทศที่รวมสัญญาณเชิงคำศัพท์ (sparse) และเชิงความหมาย (dense/late‑interaction) เข้าด้วยกัน เพื่อเพิ่มความครบถ้วนและความแม่นยำของผลลัพธ์ โครงสร้างแบบไฮบริดผสานข้อดีของการจับคู่คำศัพท์ที่แม่นยำ (BM25/TF-IDF) และความใกล้เคียงเชิงเวกเตอร์ (bi-encoder, มัลติโมเดลแบบ late‑interaction) รวมทั้งใช้วิธีการรวมการจัดอันดับที่ทนทานต่อความต่างของมาตราส่วนคะแนน เช่น Reciprocal Rank Fusion, CombSUM/CombMNZ และการจัดอันดับใหม่ด้วย cross‑encoder[1][2][3]
คำนิยามและแรงจูงใจ
Hybrid Retrieval คือการค้นหาแบบขนานหรือแบบต่อเนื่องผ่านช่องสัญญาณอิสระตั้งแต่สองช่องขึ้นไป ตามด้วยการรวมผลและ/หรือการจัดอันดับใหม่ แรงจูงใจทั่วไป ได้แก่ (i) การเอาชนะ «ช่องว่างทางคำศัพท์» (คำพ้องความหมาย การกล่าวซ้ำด้วยถ้อยคำอื่น) (ii) ความทนทานต่อการสะกดผิด/รูปแบบทางสัณฐานวิทยา (iii) การดึงรหัส/ตัวระบุเฉพาะทาง (ซึ่ง sparse‑model มีความสามารถสูง) (iv) การถ่ายโอนไปยังโดเมน/ภาษาใหม่ (ซึ่ง dense‑model ให้การสรุปความทางความหมาย)[4][5][6]
องค์ประกอบของการค้นหาแบบไฮบริด
เชิงคำศัพท์ (sparse)
- โมเดลคลาสสิก TF-IDF และ BM25/BM25F — วิธีพื้นฐานมาตรฐานบน inverted index; BM25 มีพื้นฐานทางทฤษฎีในกรอบ PRF แบบความน่าจะเป็น และใช้กันอย่างแพร่หลายในขั้นตอนการจัดอันดับแรก[7]
- Sparse แบบเรียนรู้
เชิงความหมาย (dense/late‑interaction)
- Bi‑encoder (เวกเตอร์เดี่ยว) คำถามและเอกสารถูกเข้ารหัสด้วยโมเดลเวกเตอร์ ความคล้ายคลึงวัดด้วย dot‑product/MIPS ตัวอย่าง: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5[16]
- Late‑interaction (หลายเวกเตอร์) จำลองการจับคู่ระดับ token ในการ «ปฏิสัมพันธ์ช้า»: ColBERT/ColBERTv2; การแลกเปลี่ยน — ความแม่นยำที่ดีขึ้นแลกกับ index/latency ที่ใหญ่กว่า ซึ่งบรรเทาได้ด้วยตัวขับเคลื่อนทางวิศวกรรม (PLAID, WARP)[17][18][19]
โครงสร้างการผสานและการรวมการจัดอันดับ
- การค้นหาแบบขนานและการรวมตัวเลือก ได้รับรายการตัวเลือกแยกกัน (sparse และ dense) พร้อมคะแนนภายในของแต่ละส่วน จากนั้นรวมการจัดอันดับ[20]
- RRF (Reciprocal Rank Fusion) เทคนิคที่ทนทานต่อคะแนนที่ไม่สามารถเปรียบเทียบได้โดยตรง โดยรวมอันดับกลับ:
โดยทั่วไปกำหนด [21] รองรับในเครื่องมือระดับอุตสาหกรรม (Elasticsearch/OpenSearch) เป็นระบบค้นคืน/ตัวประมวลผลในตัว[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) ลด latency โดยไม่สูญเสียคุณภาพ[32][33]
การแลกเปลี่ยน คุณภาพ ↔ latency/ต้นทุน มีความสำคัญเป็นพิเศษใน RAG และ SLA ที่เข้มงวด (ดู tail latency 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 ทรัพยากรคลาสสิกสำหรับการฝึก/ประเมินระบบค้นคืนและ reranker ในโหมดข้อมูลขนาดใหญ่[36][37][38]
- เมตริกคุณภาพ nDCG@k, Recall@k, MRR; สำหรับประสิทธิภาพ — latency p50/p95/p99, QPS; สำหรับการดำเนินงาน — หน่วยความจำ/ต้นทุน (CPU/GPU, index)[39][40]
- การทดสอบแบบ ablation แนะนำให้บันทึกการมีส่วนร่วมของแต่ละช่อง/น้ำหนัก และความไวต่อพารามิเตอร์ ใน RRF และ ในการผสม; ประเมินความทนทานต่อการกล่าวซ้ำด้วยถ้อยคำอื่นและการเปลี่ยนแปลง OOD[41][42]
แง่มุมทางวิศวกรรมและแนวปฏิบัติระดับ production
- Index และ ANN FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN สำหรับ MIPS/ความคล้ายคลึงแบบโคไซน์[43][44][45]
- สแตก IR Lucene/Anserini/Pyserini สำหรับ pipeline แบบ sparse/dense และไฮบริด; ความสามารถในการทำซ้ำได้บน BEIR อย่างง่ายดาย[46][47]
- ฐานข้อมูลเวกเตอร์และเครื่องมือค้นหา Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch มีโหมดการค้นหาแบบไฮบริดในตัว (BM25F+vector) และ/หรือ RRF/การผสมเชิงเส้น[48][49][50][51][52]
- RAG pattern สถาปัตยกรรม: retrieval → fusion → rerank → บริบทของ LLM พร้อมการจำกัด token และการติดตามแหล่งที่มา[53]
- การอัปเดต index การลบข้อมูลซ้ำซ้อน และ tokenization สำคัญที่ต้องปรับการแบ่ง token ระหว่าง BM25 และตัวสร้างเวกเตอร์ให้สอดคล้องกัน; การปรับเทียบคะแนน (การปรับมาตรฐาน/การปรับขนาด) ก่อนการผสม[54]
ข้อจำกัดและคำถามที่ยังเปิดอยู่
- ความสามารถในการถ่ายโอนและความหลายภาษา Dense‑model (GTR/E5) ปรับปรุงการถ่ายโอน แต่ไวต่อโดเมน/ภาษา; sparse‑model (SPLADE) มักทนทานกว่าใน OOD[55][56]
- การผสานกับ LLM และภาพลวงตา Hybrid Retrieval ลดการขาดหายและสัญญาณรบกวนในบริบท RAG แต่ไม่ขจัดภาพลวงตาได้อย่างสมบูรณ์ จำเป็นต้องใช้ reranker ที่เข้มงวดและการกรองแหล่งที่มา[57]
- ต้นทุนและความเป็นส่วนตัว การจัดเก็บ multi‑vector index การบีบอัด การเข้ารหัส และสแตก on‑prem; การประเมิน TCO
- แนวโน้ม HyDE/doc2query/PRF เป็นการขยายเอกสาร/คำถาม[58][59]; การฝึกการผสม (per‑query ) late‑interaction ที่มีประสิทธิภาพมากขึ้น (PLAID/WARP) เอกสารยาวและ multi-vector index[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 แบบ contrastive learning | — | — | 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ä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). 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.