[!NOTE] Tradução automática Este artigo foi traduzido automaticamente a partir da versão original em inglês.

Melhor stack de classificação de resultados de busca para produtos AI

Uma pilha de busca eficaz funciona como um funil. Os métodos mais económicos recolhem primeiro um conjunto alargado de candidatos; os métodos mais dispendiosos refinam posteriormente um conjunto muito menor. Os problemas surgem frequentemente quando as equipas substituem a busca por texto exato por embeddings em vez de combinar os dois métodos.

Comece com filtros e o BM25, um método robusto de classificação por texto exato. Adicione recuperação densa para identificar correspondências semânticas e, em seguida, funda as duas listas de resultados através da Reciprocal Rank Fusion (RRF) ou de um método semelhante. Realize uma nova classificação da lista reduzida com a ajuda de um cross-encoder. Utilize um LLM apenas para um conjunto final muito pequeno, nos casos em que o ganho em qualidade justifica o aumento da latência e dos custos associados.

Pilha recomendada

EtapaPadrãoTarefa
FiltragemFiltros estruturadosAplicar restrições relativas a inquilino, permissões, produto, idioma, horário e disponibilidade.
Recuperação lexicalBM25Nomes exatos, IDs, códigos de erro, termos legais e tokens de alta precisão.
Recuperação densaEmbeddingsSinónimos, paráfrases, intenção difusa e recuperação semântica.
FusãoFusão de Rank Recíproco ou composição de recuperadores ponderadosFunda os candidatos esparsos e densos sem fingir que as suas pontuações são comparáveis.
RerankingCodificador cruzadoReorganizar de 20 para 100 candidatos com base na interação consulta-documento.
Precisão finalLLM reranker ou responder ao modeloA relevância mais refinada é determinada somente após a lista ter um tamanho reduzido.
AvaliaçãoRecall@k, nDCG, MRR, rótulos de clique, rótulos humanosDemonstre que cada fase aprimora a anterior.

Valores predefinidos de casos de uso

Superfície do produtoBoa predefiniçãoPorquê?
Pesquisa de documentaçãoBM25 mais embeddings mais codificador cruzadoOs nomes exatos de API e as questões semânticas são igualmente importantes.
RAG recuperaçãoRecuperação híbrida combinada com reranker e verificações de citaçãoA falta de evidências costuma ser pior do que uma geração lenta.
Pesquisa de produtosFiltros lexicais, recuperação híbrida e funcionalidades empresariaisA disponibilidade, o preço, a popularidade e as facetas exatas são fatores cruciais.
Suporte à pesquisaRecuperação híbrida aliada à atualidade e aos metadados do ticketA formulação semelhante e a política atual são igualmente importantes.
Base de conhecimento internaLinha de base BM25, seguida de recuperação densa a partir de registos de consultasComece a medir os resultados antes de aumentar o custo do modelo.
Busca jurídica ou de conformidadeBase lexical básica aliada a filtros rigorosos, seguida de uma expansão semântica cuidadosaOs falsos positivos e os falsos negativos acarretam custos elevados em ambos os casos.

Por que o BM25 ainda faz parte da pilha de ferramentas

Embeddings encontrar texto com significado semelhante, mas que não substitui de forma fiável uma correspondência exata. Códigos de erro, nomes de funções, códigos SKU de produtos, frases legais e nomes de pessoas costumam transmitir a intenção através da sua grafia exata. O BM25 continua a ser uma base sólida, uma vez que premia os termos que o utilizador realmente digitou.

A recuperação densa melhora o recall quando os utilizadores não conhecem o vocabulário exato. O padrão adequado não é o BM25 nem embeddings. Utilize o BM25 para o recall lexical, embeddings para o recall semântico, e a fusão para combinar ambos.

Quando adicionar um reranker

Adicione um cross-encoder sempre que os documentos corretos aparecerem entre os 50 primeiros, mas não nas posições mais altas. Esse é o sinal mais claro de que a geração de candidatos está a funcionar corretamente e de que o processo de classificação necessita de intervenção.

Não adicione um LLM reranker antes de um cross-encoder, a menos que o conjunto de candidatos seja muito pequeno. Este também requer um mecanismo de avaliação de relevância suficientemente refinado para justificar o custo envolvido. O uso de LLM reranking pode ser útil, mas é dispendioso e lento. Compare os resultados obtidos com este método contra um reranker mais económico.

Sequência de avaliação

  1. Rotular um pequeno conjunto de consultas reais.
  2. Medir o desempenho do BM25 isoladamente.
  3. Adicionar recuperação densa e medir a variação no recall.
  4. Adicionar fusão de métodos e medir o nDCG bem como o Recall@k.
  5. Incorporar o cross-encoder reranking e avaliar a Precisão@1 e o nDCG.
  6. Adicionar LLM reranking apenas se isso melhorar a qualidade, após considerar os custos e o tempo de resposta.
  7. Monitorizar as métricas em produção: taxa de resultados nulos, taxa de reformulação, taxa de cliques, correção de respostas, latência p95 e custos.

Leitura aprofundada

Referências