0%
Busca híbrida e reranqueamento

Busca híbrida

Dois métodos imperfeitos que falham em casos diferentes

10-15 min

Busca híbrida e reranqueamento

Seu sistema responde corretamente às perguntas formuladas em linguagem natural e erra sistematicamente três categorias: referências exatas como MNT-2019-07, siglas internas e nomes próprios raros. Você já tentou um modelo de embedding maior, uma dimensão mais alta, um chunking mais fino. O recall se mexe dois pontos. Essas perguntas representam 30% do tráfego real, porque os usuários que conhecem a referência de um documento a digitam em vez de descrever o que procuram.

Nenhum modelo de embedding resolverá isso, pelo motivo visto na lição 3: uma referência alfanumérica não tem semântica aprendida, e seu vetor é ruído. Já um índice lexical a encontra imediatamente, pois esse é exatamente o seu ofício — casar strings raras. Simetricamente, o índice lexical falha onde o vetorial se destaca: a pergunta que não compartilha nenhuma palavra com a resposta. Os dois métodos não competem, eles se complementam, e a questão interessante é a da sua fusão.

BM25 em trinta linhas

O BM25 classifica os documentos segundo a frequência dos termos da consulta, ponderando pela raridade deles no corpus e amortecendo o efeito do comprimento. Você pode obtê-lo do PostgreSQL com ts_rank ou implementá-lo em memória.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!