Busca facetada: Use IA para aprimorar o escopo e os resultados da busca.

Descubra como usar a pesquisa facetada no Elasticsearch para refinar rapidamente as opções dentro de categorias.

O Elasticsearch conta com integrações nativas com as principais ferramentas e provedores de IA generativa do setor. Confira nossos webinars sobre como ir além do básico do RAG ou criar aplicativos prontos para produção com o banco de dados vetorial da Elastic.

Para criar as melhores soluções de busca para seu caso de uso, inicie um teste gratuito na nuvem ou experimente o Elastic em sua máquina local agora mesmo.

Neste artigo, exploraremos como a Inteligência Artificial (IA), especificamente utilizando modelos de linguagem avançados como o GPT-4, pode ajudar a criar facetas mais contextuais, tornando-as ainda mais relevantes e úteis para os usuários.

A busca facetada é uma ferramenta poderosa em plataformas de comércio eletrônico. Isso ajuda a organizar e refinar os resultados da pesquisa com base nas características dos itens exibidos. Embora frequentemente confundidos com filtros, os facets funcionam de maneira diferente. Os filtros são atributos fixos, definidos por informações sempre presentes no índice, como a categoria ou o formato de um produto. As facetas, por outro lado, são dinâmicas e geradas a partir dos resultados retornados pela pesquisa executada.

Imagine um catálogo de roupas: campos como "categoria" (por exemplo, camisetas, calças) ou "gênero" (por exemplo, masculino, feminino) são filtros que ajudam a refinar os resultados. As facetas, no entanto, refletem características específicas dos produtos que aparecem nos resultados, como cores comuns, tamanhos disponíveis ou materiais. Isso permite uma experiência de busca mais adaptável e contextual.

Abaixo, você encontrará uma imagem onde interagimos com uma faceta e podemos ver os resultados da pesquisa filtrados por ela.

Como a IA pode aprimorar a geração de facetas

A Inteligência Artificial é frequentemente associada à busca semântica e aos embeddings, mas e quanto às facetas? Como a IA pode ser utilizada para tornar os filtros mais úteis e específicos ao contexto de cada pesquisa?

Uma possibilidade intrigante é usar IA para criar novas categorizações que vão além das classificações tradicionais do índice. Ao analisar características específicas do conteúdo, essas novas categorias podem fornecer uma contextualização mais rica e precisa, tornando os aspectos mais relevantes e alinhados às necessidades dos usuários. Isso possibilita um refinamento mais significativo dos resultados em comparação com as categorias de documentos originais.

Como a IA pode refinar as classificações de filmes para melhores buscas

Vamos analisar os seguintes filmes, todos atualmente classificados no gênero Drama:

  • Réquiem para um Sonho
    Resumo: As utopias induzidas por drogas de quatro pessoas de Coney Island são destruídas quando seus vícios se tornam profundos.
  • Beleza Americana
    Resumo: Um pai suburbano sexualmente frustrado entra em crise de meia-idade após se apaixonar pela melhor amiga de sua filha.
  • Good Will Hunting
    Resumo: Will Hunting, um zelador do MIT, tem um talento especial para matemática, mas precisa da ajuda de um psicólogo para encontrar um rumo na vida.

Essa classificação por gênero não capta as diferenças sutis ou os contextos únicos de cada filme. Ao utilizar inteligência artificial para analisar sinopses e temas centrais, podemos criar novas categorias que reflitam melhor o verdadeiro contexto de cada filme. Por exemplo:

  • Réquiem para um Sonho - Nova categoria: "Vício e Dependência"
  • Beleza Americana - Nova Categoria: "Crise da Meia-Idade"
  • Gênio Indomável - Nova categoria: "Luta Intelectual"

Essas novas categorias tornam as buscas muito mais precisas, ao mesmo tempo que oferecem aos usuários filtros mais relevantes para refinar seus resultados. Essa abordagem é particularmente eficaz quando as categorias originais são muito genéricas, permitindo que os usuários encontrem exatamente o que procuram com maior facilidade.

Criando novas categorias com GPT-4: Exemplo de busca facetada

Neste exemplo, mostraremos como um modelo de IA pode ser usado para criar novas categorias de filmes que sejam mais precisas e alinhadas ao contexto de cada obra. Para demonstrar esse processo, utilizaremos o pipeline de simulação da Elastic juntamente com o serviço de inferência da OpenAI. Será criado um pipeline com vários processadores, incluindo o Processador de Scripts, que será responsável por criar o prompt a ser executado no Processador de Inferência, capaz de determinar as novas categorias. Os demais processadores serão utilizados para manipular os dados e os campos auxiliares gerados durante a execução do pipeline. Vale ressaltar que essa lógica também pode ser aplicada a outras ferramentas ou modelos semelhantes.

Primeiro, precisamos criar o endpoint de inferência, onde definimos o serviço como OpenAI, o token necessário para acessar o serviço e o modelo. Neste exemplo, estou usando gpt-4o-mini. Para obter mais detalhes sobre o serviço de inferência da OpenAI, clique aqui.

Com o endpoint criado, agora estamos prontos para usá-lo para criar as novas categorias. A seguir, apresentamos um fluxo de trabalho que gerencia todo o processo de manipulação de dados de documentos e geração de prompts. Explicarei detalhadamente a função de cada processador.

O primeiro processador será responsável por construir o prompt. É muito importante detalhar claramente as instruções para que a IA possa analisar e identificar os tópicos corretamente. Neste pedido, solicito dois tópicos com base na análise do título, da descrição e dos gêneros dos filmes.

O próximo pipeline é o pipeline de inferência, que receberá a solicitação e a enviará para o nosso endpoint generate_topics_ia . A resposta gerada pelo modelo será armazenada no campo de resultado.

Em seguida, temos 3 processadores usados para manipular a resposta e defini-la no campo de tópicos, além de remover os campos temporários que eu criei.

Ao executar esse pipeline, obteremos os seguintes resultados:

Note que temos novas categorias que estão mais relacionadas ao contexto dos filmes, embora algumas sejam inicialmente do mesmo gênero.

Agora podemos usar essas novas categorias e indexá-las juntamente com o documento. Dessa forma, ao gerar as facetas, além da categoria primária, temos subcategorias mais específicas que estão alinhadas com o contexto dos filmes.

Além disso, é possível vetorizar essas novas categorias e usá-las em buscas vetoriais. Isso significa que as novas categorias não servem apenas como filtros, mas também podem ser usadas para calcular similaridades semânticas com os termos de busca, aumentando ainda mais a relevância dos resultados apresentados.

Pipeline completo:

Conclusão

O uso de IA para aprimorar os filtros pode transformar a experiência de busca, tornando os resultados mais específicos e contextuais. Ao contrário das categorias fixas, que costumam ser amplas, as categorias geradas por IA podem refletir melhor o contexto. Por exemplo, ao reclassificar filmes, podemos capturar o contexto que as categorias primárias não abrangem, fornecendo agrupamentos muito mais relevantes.

Essas novas categorias podem ser adicionadas ao índice não apenas para aprimorar a filtragem por facetas, mas também para possibilitar buscas vetoriais. O resultado é uma experiência de busca mais eficiente, com filtros mais adequados ao contexto.

Referências

https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-openai.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/simulate-pipeline-api.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/script-processor.html

Perguntas frequentes

O que é busca facetada?

A busca facetada é uma ferramenta utilizada em plataformas de comércio eletrônico. Isso ajuda a organizar e refinar os resultados da pesquisa com base nas características dos itens exibidos.

Como a IA pode aprimorar a busca facetada?

A IA pode aprimorar a geração de facetas na busca, criando novas categorizações que vão além das classificações tradicionais no índice, tornando os resultados mais específicos e contextuais.

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)