Recherche Hybride

From Systems analysis wiki
Jump to navigation Jump to search

Recherche Hybride (Hybrid Retrieval) — une classe de méthodes de recherche d'information qui combine des signaux lexicaux (sparse) et sémantiques (dense/late-interaction) pour améliorer le rappel et la précision des résultats. Les schémas hybrides associent les avantages de la correspondance exacte de termes (BM25/TF-IDF) et de la similarité vectorielle (bi-encodeurs, modèles multi-vecteurs à interaction tardive), et emploient des méthodes de fusion de classements robustes aux scores d'échelles différentes (par exemple, Reciprocal Rank Fusion, CombSUM/CombMNZ) ainsi que le reclassement par des cross-encodeurs.[1][2][3]

Définition et motivation

La recherche hybride est une recherche parallèle ou en cascade via deux (ou plusieurs) canaux de signaux indépendants, suivie d'une fusion et/ou d'un reclassement. Les motivations typiques incluent : (i) surmonter le « fossé lexical » (synonymes, reformulations), (ii) la robustesse aux fautes de frappe et à la morphologie, (iii) l'extraction de codes ou d'identifiants spécifiques (où les modèles sparse sont performants), et (iv) la transférabilité à de nouveaux domaines ou langues (où les modèles dense offrent une généralisation sémantique).[4][5][6]

Composants de la recherche hybride

Lexical (sparse)

  • Modèles classiques. TF-IDF et BM25/BM25F sont des méthodes de base standards reposant sur des index inversés ; BM25 est justifié dans le cadre probabiliste PRF et est largement utilisé comme première étape de classement.[7]
  • Modèles sparse entraînables.
    • SPLADE / SPLADE++/v3. Un modèle neuro-sparse qui apprend l'expansion et la pondération des termes via une tête MLM avec une régularisation de la sparsité ; il démontre de solides résultats et une bonne transférabilité (BEIR).[8][9][10]
    • uniCOIL/COIL. Listes inversées contextualisées et leur version simplifiée uniCOIL ; compatibles avec les index inversés classiques.[11]

Sémantique (dense/late-interaction)

  • Bi-encodeur (vecteur unique). La requête et le document sont encodés par des modèles vectoriels, la similarité est calculée par produit scalaire (dot-product) / MIPS. Exemples : DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Interaction tardive (multi-vecteur). Modélisent les correspondances au niveau des tokens lors d'une interaction « tardive » : ColBERT/ColBERTv2 ; le compromis est une meilleure précision pour un index/une latence plus élevés, ce qui est atténué par des solutions d'ingénierie (PLAID, WARP).[17][18][19]

Schémas d'hybridation et fusion de classements

  • Recherche parallèle et fusion des candidats. Des listes de candidats (sparse et dense) avec leurs scores internes sont obtenues indépendamment, suivies d'une fusion de classements.[20]
  • RRF (Reciprocal Rank Fusion). Une technique robuste aux scores de classements non comparables, qui somme les rangs réciproques :

RRF(d)=i=1m1k+ranki(d), où k60 est une valeur typique.[21] Cette méthode est supportée dans les moteurs de production (Elasticsearch/OpenSearch) comme retriever/processeur intégré.[22][23]

  • CombSUM/CombMNZ et autres. Fonctions classiques de « somme des scores » (avec normalisation si nécessaire).[24][25][26]
  • Combinaison linéaire pondérée.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. Le choix de α peut être fixe ou appris (par collection/par requête).[27]

  • Normalisation des scores. Pour CombSUM/CombMNZ, des techniques comme min-max, z-score, etc., sont souvent appliquées pour harmoniser les échelles ;[28] alternativement, RRF ne s'appuie que sur les rangs.
  • Pondération dynamique/adaptative. Routage de requêtes (query routing), caractéristiques de la requête et modèles LTR pour la sélection/pondération des canaux ; des travaux récents montrent qu'un simple mélange appris surpasse souvent RRF et est peu sensible à la normalisation.[29]

Reclassement et pipelines multi-étapes

Les systèmes hybrides sont généralement construits comme retrieval → fusion → rerank. Pour le reclassement, on utilise :

  • Cross-encodeurs (BERT/T5). Les plus précis, mais coûteux : MonoBERT/MonoT5 pour réordonner les N meilleurs candidats.[30][31]
  • L'interaction tardive comme reclasseur. La famille ColBERT peut également servir de reclasseur ; les accélérateurs modernes (PLAID, WARP) réduisent la latence sans perte de qualité.[32][33]

Le compromis qualité ↔ latence/coût est particulièrement important pour le RAG et les SLA stricts (voir les latences de queue p95/p99).[34]

Évaluation sur les benchmarks

  • BEIR. Un ensemble unifié de collections/tâches hétérogènes pour l'évaluation zero-shot/out-of-domain des retrievers (par ex., TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia‑entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack, etc.).[35]
  • TREC Deep Learning / MS MARCO. Des ressources classiques pour l'entraînement/l'évaluation des retrievers et des reclasseurs en mode big data.[36][37][38]
  • Métriques de qualité. nDCG@k, Recall@k, MRR ; pour la performance — latence p50/p95/p99, QPS ; pour l'exploitation — mémoire/coût (CPU/GPU, index).[39][40]
  • Études d'ablation. Il est recommandé d'évaluer la contribution de chaque canal/poids et la sensibilité aux paramètres k dans RRF et α dans la combinaison ; d'évaluer la robustesse aux reformulations et aux décalages OOD (out-of-domain).[41][42]

Aspects d'ingénierie et pratiques de production

  • Index et ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN pour la similarité MIPS/cosinus.[43][44][45]
  • Stack RI. Lucene/Anserini/Pyserini pour les pipelines sparse/dense et hybrides ; reproductibilité « en deux clics » sur BEIR.[46][47]
  • Bases de données vectorielles et moteurs de recherche. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch disposent de modes natifs de recherche hybride (BM25F+vecteur) et/ou de fusion RRF/combinaison linéaire.[48][49][50][51][52]
  • Pattern RAG. Architecture : retrieval → fusion → rerank → contexte LLM avec limitation des tokens et traçabilité des sources.[53]
  • Mise à jour des index, déduplication, tokenisation. Il est important de synchroniser la tokenisation entre BM25 et le vectoriseur ; calibrage des scores (normalisation/mise à l'échelle) avant la combinaison.[54]

Limitations et questions ouvertes

  • Transférabilité et multilinguisme. Les modèles dense (GTR/E5) améliorent la transférabilité, mais sont sensibles au domaine/langue ; les modèles sparse (SPLADE) sont souvent plus robustes en OOD.[55][56]
  • Intégration avec les LLM et hallucinations. La recherche hybride réduit les omissions et le bruit dans les contextes RAG, mais n'élimine pas complètement les hallucinations ; des reclasseurs stricts et un filtrage des sources sont nécessaires.[57]
  • Coût et confidentialité. Stockage des index multi-vecteurs, compression, chiffrement et stack on-premise ; évaluation du TCO.
  • Tendances. HyDE/doc2query/PRF comme expansion de documents/requêtes ;[58][59] apprentissage de la pondération (α par requête), modèles à interaction tardive plus efficaces (PLAID/WARP), documents longs et index multi-vectoriels.[60][61]

Tableau comparatif des méthodes

État au 2025‑09‑10 (exemple sur la collection BEIR trec‑covid ; nDCG@10 / Recall@100) :[62]

Comparaison des méthodes sur trec-covid
Méthode Type (sparse/dense/hybrid) Idée/modèle Schéma de fusion Reclasseur nDCG@10 / R@100 Latence (rel.) Sources
BM25 sparse Correspondance exacte de termes (PRF/BM25) 0.595 / 0.109 très faible [63][64]
SPLADE++ (ED) sparse (learned) Expansion/pondération de termes sparse 0.727 / 0.128 faible à moyenne [65][66]
Contriever (MS MARCO FT) dense Bi-encodeur par apprentissage contrastif 0.596 / 0.091 moyenne [67][68]
BGE‑base‑en‑v1.5 dense Embedder universel puissant 0.781 / 0.141 moyenne [69]
Cohere embed‑english‑v3.0 dense Modèle d'embedding de texte de niveau production 0.818 / 0.159 moyenne [70]
BM25 + dense (ex: BM25+BGE) hybrid Recherche parallèle + fusion de listes RRF (k≈60) ou combinaison pondérée opt. : MonoT5/ColBERT (varie selon l'implémentation ; généralement supérieur au meilleur canal unique) moyenne [71][72][73]

Note : la dernière ligne illustre un schéma ; les chiffres exacts dépendent du choix de l'embedder, de la normalisation et des paramètres de fusion (voir les sources et les scripts reproductibles de Pyserini).

Liens externes

Bibliographie

  • 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.

Références

  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 (voir les chapitres sur TF-IDF, l'évaluation et le problème du 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. (consulté le 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
  23. OpenSearch Docs. Score ranker processor (RRF). (consulté le 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). voir ci-dessus.
  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). (consulté le 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
  49. Weaviate Docs. Hybrid search. (consulté le 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
  50. pgvector GitHub. (consulté le 2025‑09‑10). github.com/pgvector/pgvector.
  51. Vespa Docs. Hybrid Text Search Tutorial. (consulté le 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
  52. Elastic Docs. Reciprocal Rank Fusion. (consulté le 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). voir ci-dessus.
  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 (consulté le 2025‑09‑10) : résultats sur trec-covid pour 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. Voir le lien ci-dessus.
  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.