Garantindo precisão semântica com pontuação mínima

Melhore a precisão semântica empregando limiares mínimos de pontuação. O artigo inclui exemplos concretos de busca semântica e híbrida.

O Elasticsearch está repleto de novos recursos para ajudar você a criar as melhores soluções de pesquisa para o seu caso de uso. Aprenda a como colocá-los em prática em nosso webinar prático sobre como criar uma experiência moderna de IA de busca. Você também pode iniciar um teste gratuito na nuvem ou experimentar o Elastic em sua máquina local agora mesmo.

A busca semântica abriu um mundo de oportunidades para a relevância da busca. Modelos esparsos e densos de alta qualidade, como ELSER, E5 e Jina Embedding v4, retornam resultados relevantes com base no significado das palavras, em vez da correspondência de palavras-chave. No entanto, a busca semântica às vezes retorna resultados irrelevantes na cauda final ou para consultas que não apresentam resultados relevantes no índice. Essa propriedade dos modelos esparsos e densos pode confundir os usuários ou desperdiçar tokens preciosos para grandes modelos de linguagem (LLMs).

Neste artigo, você aprenderá como usar o parâmetro de pontuação mínima para aumentar a precisão dos seus resultados de busca semânticos. Se você quiser testar os exemplos fornecidos neste post do blog, acesse o caderno Jupyter associado.

Contexto: Precisão e recall

Na relevância da pesquisa, a precisão e a recall são conceitos-chave. Qualquer leitor que ainda não esteja familiarizado é altamente incentivado a pesquisar sobre eles. Segue abaixo um resumo.

  • Precisão: a fração dos resultados de busca retornados que são relevantes para o usuário.
  • Recall: a fração de todos os documentos relevantes no corpus que estão incluídos no conjunto de resultados de busca.

Ou, em outras palavras, a precisão retorna apenas resultados relevantes e o recall retorna todos os resultados relevantes. Como você pode imaginar, esses são requisitos frequentemente concorrentes. A busca semântica tende a ter uma memória muito alta, mas pode ter dificuldades com precisão. Continue lendo para saber como se locomover por esta propriedade.

Apresentando o parâmetro de pontuação mínima

O parâmetro ‘min_score’ nos permite melhorar a precisão ao definir uma pontuação mínima, que truncará o conjunto de resultados removendo quaisquer correspondências com uma pontuação inferior ao limite definido. Aqui está um exemplo simples:

Normalização da pontuação

Definir uma pontuação mínima é muito bom; no entanto, nem todos os modelos semânticos retornam uma pontuação adequada para um limite estático. ELSER, por exemplo, retorna uma pontuação que é ilimitada. Algumas pontuações de modelos densos estão fortemente agrupadas e só fazem sentido no contexto da consulta específica.

Para a maioria dos casos de busca semântica, recomendamos usar uma abordagem de normalização antes de aplicar o 'min_score'. A normalização garante que a pontuação do documento esteja dentro de um intervalo definido. Os recuperadores Elasticsearch fornecem dois desses normalizadores, 'l2_norm' e 'minmax'. O mais comumente usado é o 'minmax', pois é fácil de entender e funciona bem em muitos cenários. As principais propriedades do 'minmax' incluem:

  • As pontuações dos documentos são distribuídas entre 0 e 1.
  • O documento com maior pontuação é sempre pontuado como 1.
  • O documento com menor pontuação sempre é pontuado como 0.
    • Isso pode torná-lo menos adequado para buscar palavras-chave. Consulte a seção “Busca híbrida” para uma discussão mais aprofundada.

A seguir está um exemplo de consulta semântica normalizada com min_score. O tamanho da janela de classificação foi aumentado para 500 para permitir que possamos retornar uma lista maior de resultados de busca, começando em 100.

O tamanho foi ajustado para um valor maior do que o normalmente visto na produção. Isso é para que possamos inspecionar a qualidade dos resultados de busca e ajustar os resultados.

Busca híbrida usando o recuperador linear

Para busca híbrida, a abordagem mais simples é normalizar todas as pontuações, atribuir pesos e aplicar uma pontuação mínima. Note que, ao escolher pesos cuja soma seja 1, você mantém a pontuação total dentro de um intervalo de 0 a 1. Isso facilita entender as pontuações finais e afinar min_score. A seguir está um exemplo:

Busca híbrida usando o RRF

Com o BM25, muitas vezes controlamos a precisão por outros meios, como usando o operador AND ou minimum_should_match. Além disso, consultas compostas por termos únicos, precisos e raros naturalmente causam resultados de busca com poucos resultados, muitas vezes todos altamente relevantes. Isso pode resultar em:

  • Os resultados mais distantes na lista recebem uma pontuação normalizada baixa no recuperador BM25, mesmo que a pontuação absoluta do BM25 esteja próxima das pontuações mais altas.
  • Ao adicionar uma pontuação BM25 muito baixa à pontuação semântica, o total pode ser aproximado como a pontuação semântica.
  • A falta de contribuição da pontuação BM25 pode fazer com que o documento seja descartado pelo min_score threshold.

Como solução, podemos usar a fusão de classificação recíproca (RRF) para combinar os resultados BM25 e semânticos. O RRF contorna o desafio de comparar pontuações de diferentes algoritmos de busca focando na posição em cada conjunto de resultados. Nesse cenário, o min_score é aplicado apenas ao recuperador semântico.

Conclusão

Usando min_score, mostramos como podemos reduzir o número de falsos positivos em nossos conjuntos de resultados causados pela alta recordação de algoritmos de busca semântica. Para saber mais sobre recuperadores, consulte este post do blog e a documentação do Elasticsearch.

Conteúdo relacionado

Pronto para criar buscas de última geração?

Uma pesquisa suficientemente avançada não se consegue apenas com o esforço de uma só pessoa. O Elasticsearch é impulsionado por cientistas de dados, especialistas em operações de aprendizado de máquina, engenheiros e muitos outros que são tão apaixonados por buscas quanto você. Vamos nos conectar e trabalhar juntos para construir a experiência de busca mágica que lhe trará os resultados desejados.

Experimente você mesmo(a)