Hybrid retrieval (PT)

From Systems analysis Wiki
Jump to navigation Jump to search

Recuperação Híbrida (Hybrid Retrieval) — é uma classe de métodos de recuperação de informação que combina sinais lexicais (sparse) e semânticos (dense/late-interaction) para aumentar o recall e a precisão dos resultados. Esquemas híbridos unem as vantagens da correspondência exata de termos (BM25/TF-IDF) e da proximidade vetorial (bi-encoders, modelos multivetoriais de interação tardia), além de utilizar métodos de fusão de classificações robustos a pontuações de diferentes escalas (como Reciprocal Rank Fusion, CombSUM/CombMNZ) e re-ranking com cross-encoders.[1][2][3]

Definição e Motivação

Recuperação híbrida é uma busca paralela ou em cascata por dois (ou mais) canais de sinais independentes, seguida por fusão e/ou re-ranking. As motivações típicas incluem: (i) superar a "lacuna de vocabulário" (sinônimos, reformulações), (ii) robustez a erros de digitação/morfologia, (iii) extração de códigos/identificadores específicos (onde modelos sparse são fortes), e (iv) generalização para novos domínios/idiomas (onde modelos dense fornecem generalização semântica).[4][5][6]

Componentes da Busca Híbrida

Lexical (sparse)

  • Modelos clássicos. TF-IDF e BM25/BM25F são métodos de base padrão que utilizam índices invertidos; o BM25 é fundamentado no framework probabilístico PRF e é amplamente usado no primeiro estágio de ranqueamento.[7]
  • Modelos sparse treináveis.
    • SPLADE / SPLADE++/v3. Um modelo neuro-sparse que aprende a expandir e ponderar termos através de uma cabeça MLM com regularização de esparsidade; demonstra resultados fortes e boa capacidade de generalização (BEIR).[8][9][10]
    • uniCOIL/COIL. Listas invertidas contextualizadas e sua versão simplificada, uniCOIL; são compatíveis com índices invertidos clássicos.[11]

Semântico (dense/late-interaction)

  • Bi-encoder (single-vector). A consulta e o documento são codificados por modelos vetoriais, e a similaridade é calculada por produto escalar (dot-product)/MIPS. Exemplos: DPR,[12] ANCE,[13] Contriever,[14] GTR,[15] E5.[16]
  • Late-interaction (multi-vector). Modelam correspondências em nível de token durante a interação "tardia": ColBERT/ColBERTv2; o trade-off é uma maior precisão com um índice/latência maior, o que é mitigado por otimizações de engenharia (PLAID, WARP).[17][18][19]

Esquemas de Hibridização e Fusão de Ranks

  • Busca paralela e união de candidatos. Listas de candidatos (sparse e dense) são obtidas independentemente com suas pontuações internas; em seguida, as classificações são fundidas.[20]
  • RRF (Reciprocal Rank Fusion). Uma técnica robusta a pontuações de classificações incomparáveis, que soma os ranks recíprocos:

RRF(d)=i=1m1k+ranki(d), onde geralmente k60.[21] É suportada em motores de busca industriais (Elasticsearch/OpenSearch) como um recuperador/processador integrado.[22][23]

  • CombSUM/CombMNZ e outros. Funções clássicas de "soma de pontuações" (com normalização, se necessário).[24][25][26]
  • Combinação linear ponderada.

S(d)=αSsparse(d)+(1α)Sdense(d), α[0,1]. A escolha de α pode ser fixa ou treinável (por coleção/por consulta).[27]

  • Normalização de pontuações. Para CombSUM/CombMNZ, métodos como min-max, z-score, etc., são frequentemente usados para alinhar as escalas;[28] alternativamente, o RRF baseia-se apenas nos ranks.
  • Ponderação dinâmica/adaptativa. Roteamento de consultas (query routing), características da consulta e modelos LTR (learning-to-rank) para selecionar/ponderar os canais; trabalhos recentes mostram que uma simples combinação ponderada e treinada frequentemente supera o RRF e é pouco sensível à normalização.[29]

Re-ranking e Pipelines Multi-estágio

Sistemas híbridos são geralmente construídos como retrieval → fusion → rerank. Para o re-ranking, são utilizados:

  • Cross-encoders (BERT/T5). Os mais precisos, porém custosos: MonoBERT/MonoT5 para reordenar os top N candidatos.[30][31]
  • Late-interaction como re-ranker. A família ColBERT também pode atuar como re-ranker; aceleradores modernos (PLAID, WARP) reduzem a latência sem perda de qualidade.[32][33]

O trade-off qualidade ↔ latência/custo é especialmente importante em RAG e com SLAs rigorosos (ver latências de cauda p95/p99).[34]

Avaliação em Benchmarks

  • BEIR. Um conjunto unificado de coleções/tarefas heterogêneas para avaliação zero-shot/out-of-domain de recuperadores (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. Recursos clássicos para treinar/avaliar recuperadores e re-rankers em cenários de big data.[36][37][38]
  • Métricas de qualidade. nDCG@k, Recall@k, MRR; para desempenho — latência p50/p95/p99, QPS; para operação — memória/custo (CPU/GPU, índice).[39][40]
  • Ablações. Recomenda-se isolar a contribuição de cada canal/peso e a sensibilidade aos parâmetros k no RRF e α na combinação ponderada; avaliar a robustez a reformulações e a mudanças de distribuição (OOD).[41][42]

Aspectos de Engenharia e Práticas de Produção

  • Índices e ANN. FAISS (Flat/HNSW/IVF‑PQ), HNSW, ScaNN para MIPS/similaridade de cosseno.[43][44][45]
  • Stack de IR. Lucene/Anserini/Pyserini para pipelines sparse, dense e híbridos; reprodutibilidade "com dois cliques" no BEIR.[46][47]
  • Bancos de dados vetoriais e motores de busca. Qdrant, Weaviate, pgvector/PostgreSQL, Vespa, Elasticsearch/OpenSearch possuem modos nativos de busca híbrida (BM25F+vetor) e/ou RRF/combinação linear.[48][49][50][51][52]
  • Padrão RAG. Arquitetura: retrieval → fusion → rerank → contexto do LLM com limitação de tokens e rastreamento de fontes.[53]
  • Atualização de índices, desduplicação, tokenização. É importante alinhar a tokenização entre o BM25 и o vetorizador; calibração de pontuações (normalização/escalonamento) antes da combinação.[54]

Limitações e Questões Abertas

  • Generalização e multilinguismo. Modelos dense (GTR/E5) melhoram a generalização, mas são sensíveis ao domínio/idioma; modelos sparse (SPLADE) são frequentemente mais robustos em cenários OOD.[55][56]
  • Integração com LLMs e alucinações. A recuperação híbrida reduz omissões e ruído nos contextos de RAG, mas não elimina completamente as alucinações; são necessários re-rankers rigorosos e filtragem de fontes.[57]
  • Custo e privacidade. Armazenamento de índices multi-vetoriais, compressão, criptografia e stack on-premise; avaliação do TCO.
  • Tendências. HyDE/doc2query/PRF como expansão de documentos/consultas;[58][59] aprendizado da combinação (per-query α), modelos late-interaction mais eficientes (PLAID/WARP), documentos longos e índices multi-vetoriais.[60][61]

Tabela Comparativa de Métodos

Dados de 2025‑09‑10 (exemplo na coleção BEIR trec‑covid; nDCG@10 / Recall@100):[62]

Comparação de métodos em trec‑covid
Método Tipo (sparse/dense/híbrido) Ideia/Modelo Esquema de fusão Re-ranker nDCG@10 / R@100 Latência (rel.) Fontes
BM25 sparse Correspondência exata de termos (PRF/BM25) 0.595 / 0.109 muito baixa [63][64]
SPLADE++ (ED) sparse (learned) Expansão/pesos esparsos de termos 0.727 / 0.128 baixa-média [65][66]
Contriever (MS MARCO FT) dense Bi-encoder de aprendizado contrastivo 0.596 / 0.091 média [67][68]
BGE‑base‑en‑v1.5 dense Embedder universal forte 0.781 / 0.141 média [69]
Cohere embed‑english‑v3.0 dense Modelo de embedding de texto de nível industrial 0.818 / 0.159 média [70]
BM25 + dense (ex: BM25+BGE) hybrid Recuperação paralela + fusão de listas RRF (k≈60) ou combinação ponderada opc.: MonoT5/ColBERT (varia conforme a implementação; geralmente > que o melhor canal individual) média [71][72][73]

Nota: a última linha ilustra o esquema; os números exatos dependem da escolha do embedder, da normalização e dos parâmetros de fusão (consulte as fontes e os scripts reprodutíveis do Pyserini).

Ligações externas

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.

Notas

  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, avaliação e o 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. (acesso em 2025‑09‑10). elastic.co/docs/.../reciprocal-rank-fusion.
  23. OpenSearch Docs. Score ranker processor (RRF). (acesso em 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 acima.
  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). (acesso em 2025‑09‑10). qdrant.tech/.../hybrid-queries/.
  49. Weaviate Docs. Hybrid search. (acesso em 2025‑09‑10). docs.weaviate.io/weaviate/search/hybrid.
  50. pgvector GitHub. (acesso em 2025‑09‑10). github.com/pgvector/pgvector.
  51. Vespa Docs. Hybrid Text Search Tutorial. (acesso em 2025‑09‑10). docs.vespa.ai/.../hybrid-search.html.
  52. Elastic Docs. Reciprocal Rank Fusion. (acesso em 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 acima.
  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 (acesso em 2025‑09‑10): resultados em trec‑covid para 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 link acima.
  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.