A busca semântica é uma abordagem de recuperação que classifica e retorna resultados com base no significado subjacente de uma consulta, em vez de exigir que as palavras literais da consulta apareçam no conteúdo correspondente. Enquanto a busca tradicional por palavras-chave, exemplificada por sistemas de índice invertido e pelas fórmulas de classificação TF-IDF e BM25, corresponde a documentos que contêm os mesmos tokens da consulta, a busca semântica faz uma pergunta diferente: quais itens armazenados estão conceitualmente mais próximos do que o usuário quis dizer. Uma busca por "lugar barato para ficar perto da praia" deve trazer à tona uma listagem descrita como "quartos econômicos de frente para o oceano", mesmo que as duas frases compartilhem quase nenhuma palavra.
Como funciona
A técnica dominante representa tanto a consulta quanto cada item de um corpus como um vetor de incorporação, um vetor numérico denso produzido por um modelo treinado, de modo que textos semanticamente semelhantes gerem vetores próximos. No momento da consulta, o sistema incorpora a consulta recebida e recupera os itens cujos vetores estão mais próximos por uma métrica de distância como similaridade de cosseno, uma operação executada em escala por um banco de dados vetorial usando indexação de vizinhos mais próximos aproximados. Essa abordagem geral, frequentemente chamada de recuperação densa, contrasta com os métodos esparsos de correspondência de termos que a precederam.
A busca semântica tem raízes anteriores à abordagem atual baseada em vetores de incorporação. A análise semântica latente, no final dos anos 1980 e início dos anos 1990, usava fatoração de matrizes sobre estatísticas de co-ocorrência palavra-documento para capturar alguma noção de similaridade temática, e mecanismos de busca construídos sobre um grafo de conhecimento tentavam raciocinar sobre entidades e relações em vez de strings. A versão baseada em vetores de incorporação tornou-se dominante somente depois que Word2vec e, posteriormente, modelos de incorporação contextuais da era dos transformadores, desenvolvidos no campo mais amplo do processamento de linguagem natural, tornaram a produção de vetores densos de alta qualidade barata em escala.
Aplicações
A busca semântica é o mecanismo de recuperação por trás dos sistemas de geração aumentada por recuperação, onde passagens relevantes são extraídas de um repositório de documentos e inseridas no prompt de um LLM para fundamentar sua saída em material de origem específico e reduzir alucinações. Ela também é usada diretamente em produtos de busca ao consumidor e empresarial, descoberta de produtos em comércio eletrônico, desvio de suporte ao cliente, revisão de documentos jurídicos e médicos e busca de código, sempre que a formulação do usuário provavelmente não corresponda exatamente ao vocabulário do conteúdo-alvo.
Abordagens híbridas e limitações
A busca semântica pura pode ter desempenho inferior em consultas que dependem de strings exatas, como códigos de produto, nomes próprios ou termos técnicos raros, onde uma correspondência por palavra-chave é inequívoca e a recuperação densa pode derivar para um resultado apenas tematicamente relacionado, mas incorreto. Por esse motivo, a maioria dos sistemas de produção usa busca híbrida, combinando um sinal esparso baseado em palavras-chave, como BM25, com um sinal denso baseado em vetores de incorporação, e então mesclando ou reclassificando os dois conjuntos de resultados. Um reclassificador de segundo estágio, frequentemente um modelo transformer menor treinado especificamente para pontuar a relevância consulta-documento, é comumente aplicado aos principais candidatos da passagem inicial de recuperação para melhorar a precisão.
A qualidade da busca semântica depende fortemente dos dados de treinamento do modelo de incorporação e da correspondência de domínio: um modelo treinado principalmente em texto geral da web pode recuperar mal dentro de um corpus especializado, como jurisprudência ou literatura de química, a menos que tenha sido adaptado por meio de ajuste fino ou que o corpus seja incorporado com um modelo específico do domínio. Como em qualquer sistema baseado em similaridade, a busca semântica também pode apresentar resultados incorretos com confiança quando nenhum item verdadeiramente relevante existe no índice, pois ela sempre retornará a correspondência mais próxima, mesmo que essa correspondência seja um ajuste ruim.