Usamos cookies para melhorar a tua experiência e medir o tráfego. Política de cookies

    Scalor
    CONVENCE-NOS →
    Glossário/Retrieval & RAG

    BM25

    ranking lexical

    Algoritmo de ordenação que mede a relevância de um documento com base na frequência das palavras pesquisadas, ajustando a importância de termos comuns para evitar resultados irrelevantes.

    O que é

    O BM25 (Best Matching 25) é a evolução do clássico algoritmo TF-IDF e constitui, ainda hoje, o padrão de ouro para a chamada "pesquisa lexical" ou por palavras-chave. Ao contrário dos modelos de Inteligência Artificial mais recentes baseados em vetores (que tentam perceber o significado), o BM25 foca-se na correspondência exata de termos. No contexto de uma PME que organiza a sua base de dados de conhecimento, o BM25 é o motor que garante que, ao pesquisar por "fatura de eletricidade", os documentos que contêm exatamente essas palavras apareçam no topo da lista.

    Apesar de ser um algoritmo com décadas, é extraordinariamente robusto. É a base de sistemas como o Elasticsearch e o Solr, e continua a ser um componente indispensável em sistemas modernos de RAG (Retrieval-Augmented Generation), pois consegue capturar detalhes específicos (como números de série ou referências de produtos) que modelos de linguagem complexos por vezes ignoram.

    Como funciona

    O BM25 funciona através de uma fórmula matemática que avalia a relevância de um documento para uma consulta específica com base em três pilares fundamentais:

    1. Frequência do Termo (TF): Quanto mais vezes uma palavra aparece num documento, maior é a pontuação do mesmo. No entanto, o BM25 aplica o que chamamos de "saturação". Isto significa que a diferença entre uma palavra aparecer 1 vez ou 2 vezes é muito valorizada, mas a diferença entre aparecer 100 ou 101 vezes é quase irrelevante. Isto evita que documentos que repetem a mesma palavra vezes sem conta (spam) dominem os resultados.

    2. Frequência Inversa do Documento (IDF): O algoritmo penaliza palavras que aparecem em quase todos os documentos da base de dados (como "o", "de", "que") e dá muito mais peso a palavras raras e distintivas (como "transmuta" ou "SKU-990").

    3. Normalização do Comprimento do Documento: Documentos mais longos têm naturalmente mais palavras, o que aumenta a probabilidade de conterem os termos de pesquisa por puro acaso. O BM25 ajusta a pontuação para que um manual de 500 páginas não ganhe injustamente a um guia rápido de 2 páginas apenas por ter mais volume de texto.

    Quando usar

    Para uma PME, o BM25 deve ser a primeira escolha, ou pelo menos um componente central, em vários cenários práticos:

    • Catálogos de Produtos: Se um cliente pesquisa pela referência exata "XYZ-123", o BM25 é o método mais fiável para encontrar esse produto. Modelos de IA baseados em significado (embeddings) podem erradamente sugerir produtos semelhantes mas com referências diferentes.
    • Sistemas de Gestão Documental (DMS): Para procurar contratos por nome de cliente, NIF ou morada, a precisão lexical é superior à semântica.
    • Motores de busca internos: Quando a velocidade é crítica e o hardware é limitado. O BM25 é extremamente leve computacionalmente comparado com modelos de Deep Learning.
    • Pesquisa Híbrida: Atualmente, a melhor prática é combinar o BM25 com pesquisa vetorial. O BM25 garante que as palavras exatas são encontradas, enquanto a IA trata de sinónimos e contexto.

    Erros comuns

    1. Ignorar a Pesquisa Híbrida: Muitas empresas abandonam totalmente o BM25 para usar apenas bases de dados vetoriais. O resultado? O sistema deixa de encontrar termos técnicos exatos ou códigos de produto, frustrando os utilizadores. O BM25 e a IA devem trabalhar juntos.
    2. Falta de Tratamento de Texto (Stemming): Um erro comum é não configurar o BM25 para entender que "carros" e "carro" são a mesma raiz. Em português, é essencial aplicar um analisador que remova sufixos para que a pesquisa seja eficaz.
    3. Não configurar Stopwords: Se não filtrar palavras comuns da língua portuguesa, o motor de busca perde eficiência, embora o BM25 (via IDF) já tente mitigar este problema.
    4. Confiar apenas no BM25 para sinónimos: O BM25 é cego a significados. Se pesquisar por "gastos" e o documento disser "despesas", o BM25 não o encontrará. É aqui que ele falha isoladamente.

    Exemplo prático para uma PME

    Imaginemos uma empresa portuguesa de distribuição de material elétrico com 50.000 referências em catálogo. Um técnico de manutenção está no terreno e precisa de encontrar o manual de um disjuntor específico. Ele pesquisa por "Disjuntor Siemens 5SY41".

    • Sem BM25 (Pesquisa simples por base de dados): O sistema pode devolver mil resultados que contenham "Siemens" ou "Disjuntor", sem ordem de relevância, obrigando o técnico a procurar manualmente.
    • Com BM25: O sistema identifica que "5SY41" é o termo mais raro e importante (IDF elevado). Coloca imediatamente no topo os manuais que contêm essa referência exata, mesmo que o documento seja curto. A saturação de termos garante que um catálogo geral que mencione a palavra "disjuntor" 500 vezes não apareça à frente do manual específico que o técnico procura.
    • Com Pesquisa Híbrida (BM25 + RAG): O sistema encontra o manual (via BM25) e o chatbot de IA lê o conteúdo para responder: "Para esse disjuntor, o binário de aperto recomendado é 2.5 Nm".

    Perguntas frequentes

    Q: O BM25 é melhor que a pesquisa vetorial (Embeddings)?
    R: Não é melhor nem pior, é diferente. O BM25 é excelente para palavras exatas e IDs. A pesquisa vetorial é excelente para conceitos e sinónimos. O ideal para uma PME é usar ambos em modo híbrido.

    Q: Preciso de servidores potentes para correr BM25?
    R: Pelo contrário. É um algoritmo extremamente eficiente que corre em hardware comum com tempos de resposta de milissegundos, mesmo com milhões de documentos.

    Q: O BM25 funciona bem em português de Portugal?
    R: Sim, desde que o motor de busca (como o Elasticsearch) esteja configurado com um analisador de português para tratar as flexões de género e número das palavras.

    Q: Posso usar BM25 num sistema de RAG?
    R: Deve. Integrar BM25 no passo de 'retrieval' do RAG reduz drasticamente as alucinações ao garantir que a IA recebe os documentos tecnicamente corretos baseados em termos precisos.

    Exemplos práticos

    • 01Recuperar o contrato específico do cliente 'Sonae' numa base de dados com milhares de ficheiros PDF.
    • 02Filtrar peças num catálogo de e-commerce através da referência de fabricante (ex: 'REF-9920-X').
    • 03Ordenar resultados de uma FAQ interna para que os artigos com os termos exatos da dúvida apareçam primeiro.
    • 04Componente lexical de um sistema RAG para garantir que termos técnicos não são ignorados pela IA.

    Termos relacionados

    Embedding
    Representação numérica do significado de um conteúdo que permite aos computadores medirem a proximidade semântica entre diferentes conceitos, textos ou imagens.
    Hybrid Search
    Combina a precisão da correspondência de palavras-chave tradicionais com a compreensão semântica da inteligência artificial para otimizar a recuperação de informação em bases de dados.
    RAG
    Técnica que permite a um modelo de IA consultar documentos externos atualizados e privados antes de gerar uma resposta, garantindo maior precisão e reduzindo alucinações.
    Reranker
    Componente de IA que reorganiza resultados de uma pesquisa para colocar os mais relevantes no topo, corrigindo as imprecisões do motor de busca inicial.
    Vector Database
    Sistema de armazenamento especializado em dados numéricos que representam o significado de informação não estruturada, permitindo pesquisas por contexto em vez de palavras-chave exatas.

    Quer usar BM25 na sua empresa?

    30 minutos, gratuito, sem compromisso. Dizemos onde encaixa.

    Diagnóstico IA gratuito