Hybrid retrieval (VI)
Hybrid Retrieval (tìm kiếm kết hợp) — lớp phương pháp tìm kiếm thông tin, trong đó kết hợp các tín hiệu từ vựng (sparse) và ngữ nghĩa (dense/late‑interaction) nhằm nâng cao độ đầy đủ và độ chính xác của kết quả trả về. Các lược đồ kết hợp tận dụng ưu điểm của việc khớp chính xác thuật ngữ (BM25/TF-IDF) và độ gần vector (bi-encoder, mô hình tương tác muộn đa vector), đồng thời sử dụng các phương pháp hợp nhất xếp hạng bền vững trước sự khác biệt về thang điểm (ví dụ: Reciprocal Rank Fusion, CombSUM/CombMNZ) và tái xếp hạng bằng cross-encoder.[1][2][3]
Định nghĩa và động lực
Tìm kiếm kết hợp là quá trình tìm kiếm song song hoặc theo tầng qua hai (hoặc nhiều hơn) kênh tín hiệu độc lập, tiếp theo là hợp nhất và/hoặc tái xếp hạng. Các động lực điển hình bao gồm: (i) vượt qua «khoảng cách thuật ngữ» (từ đồng nghĩa, diễn đạt lại), (ii) khả năng chịu đựng lỗi đánh máy/biến thái hình thái, (iii) trích xuất mã/định danh đặc thù (nơi mô hình sparse mạnh hơn), (iv) chuyển giao sang miền/ngôn ngữ mới (nơi các mô hình dense cung cấp khái quát hóa ngữ nghĩa).[4][5][6]
Các thành phần của tìm kiếm kết hợp
Từ vựng (sparse)
- Các mô hình cổ điển. TF-IDF và BM25/BM25F — các phương pháp cơ sở tiêu chuẩn trên chỉ mục đảo ngược; BM25 được chứng minh trong khung xác suất PRF và được sử dụng rộng rãi ở giai đoạn xếp hạng đầu tiên.[7]
- Sparse có thể học.
- SPLADE / SPLADE++/v3. Mô hình thần kinh sparse huấn luyện việc mở rộng và trọng số hóa thuật ngữ thông qua đầu MLM với chính quy hóa độ thưa; cho thấy kết quả mạnh và khả năng chuyển giao tốt (BEIR).[8][9][10]
- uniCOIL/COIL. Danh sách đảo ngược được ngữ cảnh hóa và phiên bản đơn giản hóa của chúng là uniCOIL; tương thích với các chỉ mục đảo ngược cổ điển.[11]
Ngữ nghĩa (dense/late‑interaction)
- Bi‑encoder (single‑vector). Truy vấn và tài liệu được mã hóa bởi các mô hình vector, độ tương đồng tính theo dot‑product/MIPS. Ví dụ: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
- Late‑interaction (multi‑vector). Mô hình hóa sự tương ứng ở cấp token trong quá trình tương tác «muộn»: ColBERT/ColBERTv2; sự đánh đổi — độ chính xác cao hơn với chỉ mục/độ trễ lớn hơn, được giảm nhẹ bởi các công cụ tăng tốc kỹ thuật (PLAID, WARP).[17][18][19]
Các lược đồ kết hợp và hợp nhất xếp hạng
- Tìm kiếm song song và hợp nhất ứng viên. Độc lập thu được danh sách ứng viên (sparse và dense) với điểm số nội bộ; tiếp theo — hợp nhất xếp hạng.[20]
- RRF (Reciprocal Rank Fusion). Kỹ thuật bền vững trước điểm số không thể so sánh giữa các bảng xếp hạng, tổng hợp các hạng nghịch đảo:
, trong đó thường .[21] Được hỗ trợ trong các công cụ tìm kiếm công nghiệp (Elasticsearch/OpenSearch) như một retriever/processor tích hợp sẵn.[22][23]
- CombSUM/CombMNZ và các phương pháp khác. Các hàm «tổng hợp điểm số» cổ điển (khi cần thiết — có chuẩn hóa).[24][25][26]
- Hỗn hợp tuyến tính có trọng số.
, . Việc chọn có thể cố định hoặc có thể học (theo bộ sưu tập/theo truy vấn).[27]
- Chuẩn hóa điểm số. Đối với CombSUM/CombMNZ thường áp dụng min‑max, z‑score và các phương pháp khác để đồng bộ thang điểm;[28] ngoài ra RRF chỉ dựa vào hạng.
- Trọng số động/thích ứng. Định tuyến truy vấn (query routing), đặc trưng truy vấn và mô hình LTR để chọn/gán trọng số kênh; các nghiên cứu hiện đại cho thấy hỗn hợp được huấn luyện đơn giản thường vượt qua RRF và ít nhạy cảm với chuẩn hóa.[29]
Tái xếp hạng và các pipeline đa tầng
Các hệ thống kết hợp thường được xây dựng theo dạng retrieval → fusion → rerank. Để tái xếp hạng, người ta sử dụng:
- Cross‑encoder (BERT/T5). Chính xác nhất nhưng tốn kém: MonoBERT/MonoT5 để sắp xếp lại top‑N ứng viên.[30][31]
- Late‑interaction làm bộ tái xếp hạng. Họ ColBERT cũng có thể đóng vai trò là bộ tái xếp hạng; các công cụ tăng tốc hiện đại (PLAID, WARP) giảm độ trễ mà không mất chất lượng.[32][33]
Sự đánh đổi chất lượng ↔ độ trễ/chi phí đặc biệt quan trọng trong RAG và các SLA nghiêm ngặt (xem độ trễ phần đuôi p95/p99).[34]
Đánh giá trên benchmark
- BEIR. Bộ thống nhất gồm các tập hợp/nhiệm vụ đa dạng để đánh giá zero‑/out‑of‑domain các retriever (ví dụ: TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack và nhiều tập khác).[35]
- TREC Deep Learning / MS MARCO. Tài nguyên cổ điển để huấn luyện/đánh giá retriever và reranker trong chế độ dữ liệu lớn.[36][37][38]
- Các chỉ số chất lượng. nDCG@k, Recall@k, MRR; về hiệu suất — latency p50/p95/p99, QPS; về vận hành — bộ nhớ/chi phí (CPU/GPU, chỉ mục).[39][40]
- Phân tích đóng góp (ablation). Khuyến nghị ghi lại đóng góp của từng kênh/trọng số và độ nhạy với tham số trong RRF và trong hỗn hợp; đánh giá độ bền vững với việc diễn đạt lại và các dịch chuyển OOD.[41][42]
Các khía cạnh kỹ thuật và thực tiễn vận hành
- Chỉ mục và ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN cho MIPS/độ tương đồng cosine.[43][44][45]
- Ngăn xếp IR. Lucene/Anserini/Pyserini cho các pipeline sparse/dense và kết hợp; khả năng tái tạo «hai nút bấm» trên BEIR.[46][47]
- Cơ sở dữ liệu vector và công cụ tìm kiếm. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch có chế độ tìm kiếm kết hợp gốc (BM25F+vector) và/hoặc RRF/hỗn hợp tuyến tính.[48][49][50][51][52]
- Mẫu RAG. Kiến trúc: retrieval → fusion → rerank → ngữ cảnh LLM với giới hạn token và truy vết nguồn.[53]
- Cập nhật chỉ mục, loại trùng lặp, token hóa. Quan trọng là đồng bộ token hóa giữa BM25 và bộ vector hóa; hiệu chỉnh điểm số (chuẩn hóa/chia tỷ lệ) trước khi hỗn hợp.[54]
Hạn chế và câu hỏi mở
- Khả năng chuyển giao và đa ngôn ngữ. Các mô hình dense (GTR/E5) cải thiện khả năng chuyển giao nhưng nhạy cảm với miền/ngôn ngữ; các mô hình sparse (SPLADE) thường bền vững hơn trên OOD.[55][56]
- Tích hợp với LLM và ảo giác. Tìm kiếm kết hợp giảm thiểu sự bỏ sót và nhiễu trong ngữ cảnh RAG, nhưng không loại bỏ hoàn toàn ảo giác; cần các bộ tái xếp hạng nghiêm ngặt và lọc nguồn.[57]
- Chi phí và quyền riêng tư. Lưu trữ chỉ mục multi‑vector, nén, mã hóa và ngăn xếp on‑prem; đánh giá TCO.
- Xu hướng. HyDE/doc2query/PRF như mở rộng tài liệu/truy vấn;[58][59] huấn luyện hỗn hợp (per‑query ), late‑interaction hiệu quả hơn (PLAID/WARP), tài liệu dài và chỉ mục đa vector.[60][61]
Bảng so sánh các phương pháp
Tính đến ngày 2025‑09‑10 (ví dụ trên tập BEIR trec‑covid; nDCG@10 / Recall@100):[62]
| Phương pháp | Loại (sparse/dense/hybrid) | Ý tưởng/mô hình | Lược đồ hợp nhất | Bộ tái xếp hạng | nDCG@10 / R@100 | Độ trễ (tương đối) | Nguồn |
|---|---|---|---|---|---|---|---|
| BM25 | sparse | Khớp chính xác thuật ngữ (PRF/BM25) | — | — | 0.595 / 0.109 | rất thấp | [63][64] |
| SPLADE++ (ED) | sparse (learned) | Mở rộng/trọng số thuật ngữ thưa | — | — | 0.727 / 0.128 | thấp–trung bình | [65][66] |
| Contriever (MS MARCO FT) | dense | Bi-encoder học đối nghịch | — | — | 0.596 / 0.091 | trung bình | [67][68] |
| BGE‑base‑en‑v1.5 | dense | Embedding đa năng mạnh | — | — | 0.781 / 0.141 | trung bình | [69] |
| Cohere embed‑english‑v3.0 | dense | Mô hình embedding văn bản công nghiệp | — | — | 0.818 / 0.159 | trung bình | [70] |
| BM25 + dense (ví dụ: BM25+BGE) | hybrid | Tìm kiếm song song + hợp nhất danh sách | RRF (k≈60) hoặc hỗn hợp có trọng số | tùy chọn: MonoT5/ColBERT | (thay đổi theo cài đặt; thường > kênh đơn tốt nhất) | trung bình | [71][72][73] |
Lưu ý: hàng cuối minh họa lược đồ; các con số chính xác phụ thuộc vào lựa chọn embedding, chuẩn hóa và tham số hợp nhất (xem nguồn và các script Pyserini có thể tái tạo).
Tài liệu tham khảo
- 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.
Liên kết ngoài
- 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
Ghi chú
- ↑ 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.