BM25, embeddings e rerankers: escolher as fases de pesquisa
Tradução automática
Este artigo foi traduzido automaticamente a partir da versão original em inglês.
O BM25 ordena o texto pela correspondência com os termos da consulta. Os embeddings encontram candidatos com significado semelhante. Um reranker volta a pontuar os candidatos recuperados para melhorar a sua ordem. Para os engenheiros que constroem sistemas de pesquisa ou RAG, estas fases resolvem falhas diferentes e devem ser testadas separadamente.
Comece pelo BM25 e aplique as permissões dos documentos. Adicione embeddings quando faltarem passagens relevantes porque a consulta usa palavras diferentes. Adicione um reranker quando as passagens certas forem recuperadas, mas aparecerem demasiado abaixo na lista. Mantenha cada fase apenas se melhorar os resultados anotados dentro do orçamento de tempo e custo.
Por exemplo, uma consulta sobre ERR-42 exige um tratamento correto dos identificadores. Uma pergunta sobre uma falha após sair da suspensão pode exigir correspondência semântica se o manual disser «falha ao retomar». O reranking só ajuda depois de a passagem necessária entrar no conjunto de candidatos.
O que faz cada fase
| Fase | Método | Objetivo |
|---|---|---|
| Filtragem | Filtros estruturados | Aplicar restrições de tenant, permissões, produto, idioma, tempo e disponibilidade. |
| Recuperação lexical | BM25 | Fazer corresponder termos; preservar IDs e códigos de erro com campos ou analisadores adequados. |
| Recuperação densa | Embeddings | Sinónimos, paráfrases, intenção imprecisa e recall semântico. |
| Fusão | Reciprocal Rank Fusion ou combinação ponderada de recuperadores | Combinar candidatos esparsos e densos sem assumir que as pontuações são comparáveis. |
| Reranking | Cross-encoder | Ler a consulta em conjunto com cada candidato para pontuar uma lista reduzida. |
| Precisão final | Reranker baseado em LLM ou modelo de resposta | Resolver nuances de relevância apenas quando a lista for pequena. |
| Avaliação | Recall@k, nDCG, MRR, anotações de cliques, anotações humanas | Verificar se cada fase adicionada melhora a referência. |
Pontos de partida por caso de utilização
| Produto | Abordagem a testar | Motivo |
|---|---|---|
| Pesquisa de documentação | BM25 mais embeddings mais cross-encoder | Tanto os nomes exatos de API como as perguntas semânticas são importantes. |
| Recuperação para RAG | Referência BM25; comparar recuperação híbrida e reranking | Avaliar a cobertura da evidência, a fundamentação das respostas e a latência. |
| Pesquisa de produtos | Filtros lexicais mais recuperação híbrida mais atributos de negócio | Disponibilidade, preço, popularidade e facetas exatas são importantes. |
| Pesquisa de suporte | Recuperação híbrida mais atualidade e metadados de pedidos de suporte | Tanto formulações semelhantes como a política em vigor são importantes. |
| Base de conhecimento interna | Referência BM25, seguida de recuperação densa a partir de registos de consultas | Comece com resultados mensuráveis antes de adicionar custos de modelos. |
| Pesquisa jurídica ou de conformidade | Referência lexical mais filtros rigorosos, seguida de expansão semântica cuidadosa | Tanto os falsos positivos como os falsos negativos têm custos elevados. |
Porque é que o BM25 continua a fazer parte do sistema
Os embeddings encontram texto com significado semelhante, mas não substituem de forma fiável a correspondência exata. Códigos de erro, nomes de funções, SKU de produtos, expressões jurídicas e nomes de pessoas transmitem frequentemente a intenção através da sua grafia exata. O BM25 é uma referência útil porque favorece os termos correspondentes. A análise do texto pode alterar esses termos: o analisador padrão do Elasticsearch divide o texto e converte-o para minúsculas. Preserve IDs sensíveis à pontuação, como ERR-42, utilizando um analisador adequado ou um campo de valor exato. A ordenação do BM25 não garante igualdade exata entre cadeias de caracteres.
A recuperação densa pode adicionar resultados relevantes quando os utilizadores não conhecem o vocabulário do documento. Teste-a juntamente com o BM25. Se os dois recuperadores encontrarem resultados úteis e complementares, o RRF pode combinar as suas listas ordenadas. Usa as posições dos resultados em vez de comparar as pontuações lexicais e de embeddings em bruto.
Quando adicionar um reranker
Adicione um cross-encoder quando os documentos relevantes entrarem no conjunto de candidatos, mas ficarem demasiado abaixo na ordenação. Um cross-encoder lê a consulta em conjunto com cada documento candidato. Isto exige uma passagem pelo modelo para cada par, pelo que deve ser aplicado a uma lista reduzida. Escolha a quantidade de candidatos com base no recall e na latência medidos; os primeiros 50 são uma experiência útil, não um limiar universal.
Teste um reranker baseado em LLM quando um cross-encoder não detetar distinções de que a sua aplicação precisa, como a versão de uma política que se aplica. Acrescenta trabalho do modelo cujo custo depende da quantidade de candidatos e do comprimento da entrada. Compare qualidade, latência e custo na mesma lista reduzida antes de o manter.
Recall@k mede quanto do material relevante anotado aparece nos primeiros k resultados. O MRR favorece uma posição elevada para o primeiro resultado relevante; o nDCG mede a ordenação quando as anotações têm diferentes níveis de relevância. Precision@1 verifica se o primeiro resultado é relevante.
Sequência de avaliação
- Anote consultas reais que abranjam intenções, idiomas, permissões e custos de falha importantes. Comece com uma amostra pequena e aumente-a até que os segmentos e a incerteza sustentem a decisão.
- Meça apenas o BM25.
- Teste a recuperação densa quando o BM25 não encontrar passagens relevantes.
- Se os dois conjuntos de resultados se complementarem, teste a fusão com nDCG e Recall@k.
- Teste o reranking com cross-encoder quando os candidatos relevantes ficarem demasiado abaixo na ordenação; meça Precision@1 e nDCG.
- Adicione reranking com LLM apenas se melhorar a qualidade depois de contabilizar o custo e a latência.
- Monitorize as métricas de produção: taxa de consultas sem resultados, taxa de reformulação, taxa de cliques, correções de respostas, latência p95 e custo.
Leitura adicional
- O artigo Etapas da ordenação de pesquisa apresenta o guia completo de implementação.
- O artigo Métricas de avaliação de RAG explica a avaliação da recuperação e das citações.