Hybrid retrieval (ES)

From Systems analysis Wiki
Jump to navigation Jump to search

Hybrid Retrieval (recuperación híbrida) — es una clase de métodos de recuperación de información que combinan señales léxicas (sparse) y semánticas (dense/late-interaction) para mejorar la exhaustividad (recall) y la precisión de los resultados. Los esquemas híbridos combinan las ventajas de la coincidencia exacta de términos (BM25/TF-IDF) y la proximidad vectorial (bi-codificadores, modelos multivectoriales de interacción tardía), y utilizan métodos de fusión de clasificaciones robustos a puntuaciones de diferentes escalas (por ejemplo, Reciprocal Rank Fusion, CombSUM/CombMNZ) y re-clasificación con cross-encoders.[1][2][3]

Definición y motivación

La recuperación híbrida es una búsqueda paralela o en cascada a través de dos (o más) canales de señales independientes, seguida de una fusión y/o re-clasificación. Las motivaciones típicas son: (i) superar la «brecha terminológica» (sinónimos, reformulaciones), (ii) robustez ante errores tipográficos/morfología, (iii) extracción de códigos/identificadores específicos (donde los modelos sparse son fuertes), (iv) transferencia a nuevos dominios/idiomas (donde los modelos dense proporcionan generalización semántica).[4][5][6]

Componentes de la búsqueda híbrida

Léxico (sparse)

  • Modelos clásicos. TF-IDF y BM25/BM25F son métodos base estándar que utilizan índices invertidos; BM25 se fundamenta en el marco probabilístico PRF y se utiliza ampliamente en la primera etapa de clasificación.[7]
  • Modelos sparse entrenables.
    • SPLADE / SPLADE++/v3. Un modelo neuro-sparse que aprende la expansión y ponderación de términos a través de una cabeza MLM con regularización de escasez; muestra resultados sólidos y buena transferibilidad (BEIR).[8][9][10]
    • uniCOIL/COIL. Listas invertidas contextualizadas y su versión simplificada, uniCOIL; son compatibles con los índices invertidos clásicos.[11]

Semántico (dense/late-interaction)

  • Bi-codificador (un solo vector). La consulta y el documento se codifican con modelos vectoriales, y la similitud se calcula mediante producto escalar (dot-product)/MIPS. Ejemplos: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Interacción tardía (multivectorial). Modelan correspondencias a nivel de token durante una interacción «tardía»: ColBERT/ColBERTv2; el compromiso es una mayor precisión a costa de un índice/latencia más grandes, lo cual se mitiga con optimizaciones de ingeniería (PLAID, WARP).[17][18][19]

Esquemas de hibridación y fusión de clasificaciones

  • Búsqueda paralela y fusión de candidatos. Se obtienen listas de candidatos de forma independiente (sparse y dense) con sus puntuaciones internas; luego, se realiza la fusión de clasificaciones.[20]
  • RRF (Reciprocal Rank Fusion). Técnica robusta a puntuaciones de clasificación no comparables que suma los rangos recíprocos:

RRF(d)=i=1m1k+ranki(d), donde usualmente k60.[21] Soportado en motores de búsqueda comerciales (Elasticsearch/OpenSearch) como un recuperador/procesador integrado.[22][23]

  • CombSUM/CombMNZ y otros. Funciones clásicas de «suma de puntuaciones» (con normalización si es necesario).[24][25][26]
  • Combinación lineal ponderada.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. La elección de α puede ser fija o entrenable (por colección/por consulta).[27]

  • Normalización de puntuaciones. Para CombSUM/CombMNZ, a menudo se utilizan min-max, z-score, etc., para alinear las escalas;[28] alternativamente, RRF se basa únicamente en los rangos.
  • Ponderación dinámica/adaptativa. Enrutamiento de consultas (query routing), características de la consulta y modelos de LTR para seleccionar/ponderar los canales; trabajos recientes muestran que una simple combinación entrenada a menudo supera a RRF y es poco sensible a la normalización.[29]

Re-clasificación y pipelines multi-etapa

Los sistemas híbridos suelen construirse como recuperación → fusión → re-clasificación. Para la re-clasificación se utilizan:

  • Cross-encoders (BERT/T5). Los más precisos, pero costosos: MonoBERT/MonoT5 para reordenar los N mejores candidatos.[30][31]
  • Interacción tardía como re-clasificador. La familia ColBERT también puede actuar como re-clasificador; los aceleradores modernos (PLAID, WARP) reducen la latencia sin pérdida de calidad.[32][33]

El compromiso entre calidad ↔ latencia/costo es especialmente importante en RAG y con SLAs estrictos (ver latencias de cola p95/p99).[34]

Evaluación en benchmarks

  • BEIR. Un conjunto unificado de colecciones/tareas heterogéneas para la evaluación zero-shot/out-of-domain de recuperadores (p. ej., TREC‑COVID, NFCorpus, NQ, HotpotQA, FiQA‑2018, DBPedia-entity, ArguAna, Webis‑Touché‑2020, FEVER/Climate‑FEVER, Scidocs, SciFact, CQADupStack y otros).[35]
  • TREC Deep Learning / MS MARCO. Recursos clásicos para entrenar/evaluar recuperadores y re-clasificadores en un entorno de big data.[36][37][38]
  • Métricas de calidad. nDCG@k, Recall@k, MRR; para el rendimiento: latencia p50/p95/p99, QPS; para la operación: memoria/costo (CPU/GPU, índice).[39][40]
  • Estudios de ablación. Se recomienda registrar la contribución de cada canal/peso y la sensibilidad a los parámetros k en RRF y α en la combinación; evaluar la robustez a reformulaciones y cambios OOD (out-of-domain).[41][42]

Aspectos de ingeniería y prácticas de producción

  • Índices y ANN. FAISS (Flat/HNSW/IVF-PQ), HNSW, ScaNN para MIPS/similitud de coseno.[43][44][45]
  • Pila de IR. Lucene/Anserini/Pyserini para pipelines sparse, dense e híbridos; reproducibilidad «con dos botones» en BEIR.[46][47]
  • Bases de datos vectoriales y motores de búsqueda. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch tienen modos nativos de búsqueda híbrida (BM25F+vector) y/o fusión con RRF/combinación lineal.[48][49][50][51][52]
  • Patrón RAG. Arquitectura: recuperación → fusión → re-clasificación → contexto LLM con limitación de tokens y trazabilidad de fuentes.[53]
  • Actualización de índices, deduplicación, tokenización. Es importante alinear la tokenización entre BM25 y el vectorizador; calibración de puntuaciones (normalización/escalado) antes de la combinación.[54]

Limitaciones y preguntas abiertas

  • Portabilidad y multilingüismo. Los modelos dense (GTR/E5) mejoran la transferencia pero son sensibles al dominio/idioma; los modelos sparse (SPLADE) suelen ser más robustos en entornos OOD.[55][56]
  • Integración con LLM y alucinaciones. La recuperación híbrida reduce las omisiones y el ruido en los contextos de RAG, pero no elimina por completo las alucinaciones; se necesitan re-clasificadores estrictos y filtrado de fuentes.[57]
  • Costo y privacidad. Almacenamiento de índices multivectoriales, compresión, cifrado y pila on-premise; evaluación del TCO.
  • Tendencias. HyDE/doc2query/PRF como expansión de documentos/consultas;[58][59] aprendizaje de la combinación (α por consulta), interacciones tardías más eficientes (PLAID/WARP), documentos largos e índices multivectoriales.[60][61]

Tabla comparativa de métodos

A fecha de 2025-09-10 (ejemplo con la colección de BEIR trec-covid; nDCG@10 / Recall@100):[62]

Comparación de métodos en trec-covid
Método Tipo (sparse/dense/híbrido) Idea/Modelo Esquema de fusión Re-clasificador nDCG@10 / R@100 Latencia (rel.) Fuentes
BM25 sparse Coincidencia exacta de términos (PRF/BM25) 0.595 / 0.109 muy baja [63][64]
SPLADE++ (ED) sparse (aprendido) Expansión/ponderación dispersa de términos 0.727 / 0.128 baja-media [65][66]
Contriever (MS MARCO FT) dense Bi-codificador de aprendizaje contrastivo 0.596 / 0.091 media [67][68]
BGE-base-en-v1.5 dense Embedder universal potente 0.781 / 0.141 media [69]
Cohere embed-english-v3.0 dense Modelo de embedding de texto de nivel industrial 0.818 / 0.159 media [70]
BM25 + dense (ej.: BM25+BGE) híbrido Recuperación paralela + fusión de listas RRF (k≈60) o combinación ponderada opc.: MonoT5/ColBERT (varía según la implementación; generalmente > que el mejor canal individual) media [71][72][73]

Nota: la última fila ilustra el esquema; las cifras exactas dependen de la elección del embedder, la normalización y los parámetros de fusión (consulte las fuentes y los scripts reproducibles de Pyserini).

Enlaces externos

Literatura

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

Referencias

  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 (ver capítulos sobre TF‑IDF, evaluación y el problema de 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. (acceso 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
  23. OpenSearch Docs. Score ranker processor (RRF). (acceso 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). ver arriba.
  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). (acceso 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
  49. Weaviate Docs. Hybrid search. (acceso 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
  50. pgvector GitHub. (acceso 2025‑09‑10). github.com/pgvector/pgvector.
  51. Vespa Docs. Hybrid Text Search Tutorial. (acceso 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
  52. Elastic Docs. Reciprocal Rank Fusion. (acceso 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). ver arriba.
  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 (acceso 2025‑09‑10): resultados para trec-covid de 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. Ver enlace arriba.
  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.