Melhorando o Autocompletar de Consultas com Dados Reais
Um novo conjunto de dados melhora as sugestões de autocomplete de busca usando dados reais de usuários.
Dante Everaert, Rohit Patki, Tianqi Zheng, Christopher Potts
― 8 min ler
Índice
- A Necessidade de Dados Melhores
- O que Tem Dentro do Conjunto de Dados?
- Por Que Isso Importa
- Como O QAC Funciona?
- Nossas Descobertas
- A Tarefa do QAC
- Preparação do Conjunto de Dados
- O Quadro Geral
- Métricas de Desempenho
- Nossos Sistemas de Referência
- Resultados dos Nossos Testes
- Árvores de Prefixos
- Recuperação de Informação Neural
- Usando Modelos de Linguagem Grandes (LLMs)
- A Importância do Contexto
- Limitações e Considerações Éticas
- Detalhes dos Dados
- Conclusão
- Fonte original
- Ligações de referência
Já começou a digitar algo na barra de busca e, de repente, aparece uma lista de sugestões? Isso é o Query Autocomplete (QAC) pra você! É como se o buscador estivesse tentando ler sua mente e te ajudar a encontrar o que você procura sem você precisar digitar tudo. Bem legal, né?
Mas aqui vai o problema: embora o QAC seja super útil, fazer ele funcionar bem não é tão fácil assim. Muitas ferramentas de busca não têm dados bons pra treinar seus sistemas de QAC, o que significa que não conseguem dar as melhores sugestões. Imagina tentar adivinhar a comida favorita do seu amigo quando tudo que você tem é a palavra “queijo”. Difícil, né?
A Necessidade de Dados Melhores
Pra fazer o QAC funcionar melhor, precisamos de Conjuntos de dados realistas e grandes. Infelizmente, a maioria dos conjuntos de dados disponíveis publicamente pra QAC não é muito boa. Eles geralmente só têm o termo final de busca, mas não os Prefixos reais que os usuários digitam. Então, os pesquisadores precisam inventar esses prefixos chutando, o que não é o ideal.
Temos uma solução! Um novo conjunto de dados foi criado a partir de registros reais de buscas na Amazon, contendo mais de 395 milhões de entradas. Isso significa que toda vez que alguém digita algo, temos os prefixos. Uma verdadeira mina de dados!
O que Tem Dentro do Conjunto de Dados?
Esse conjunto de dados tem um monte de informações valiosas:
- Os prefixos reais que os usuários digitam antes de selecionar um termo de busca.
- IDs de sessão pra agrupar buscas do mesmo usuário.
- Carimbos de data e hora pra saber quando os usuários estavam buscando.
Isso ajuda os pesquisadores a entenderem melhor o contexto das buscas. Por exemplo, se você pesquisou “iphone”, você começou digitando “iph” ou “apple”? Esses detalhes importam!
Por Que Isso Importa
As pesquisas sobre QAC têm sido escassas, apesar de sua importância. Enquanto ferramentas de busca estão em todo lugar, não houve foco suficiente em como torná-las mais inteligentes. Com esse novo conjunto de dados, os pesquisadores finalmente podem investigar como melhorar os sistemas de QAC.
Como O QAC Funciona?
Quando você começa a digitar, o sistema de QAC tenta adivinhar o que você quer. Ele olha pro prefixo que você digitou e compara com dados históricos pra sugerir opções. Idealmente, ele deve mostrar seu termo de busca pretendido no topo da lista.
Mas aqui vem o problema: as pessoas podem ser imprevisíveis. Às vezes, os usuários não digitam de forma linear. Eles podem voltar atrás ou mudar o que querem pesquisar. Por exemplo, você pode começar digitando "melhores tênis de corrida", mas acabar buscando "tênis de corrida para mulheres". Não é à toa que o QAC é complicado!
Nossas Descobertas
Na nossa análise, olhamos pra vários métodos pra ver como eles se saem com esse conjunto de dados. Depois de testar vários sistemas, descobrimos que modelos ajustados com base em buscas anteriores são os melhores-especialmente quando levam em conta o contexto de buscas passadas.
No entanto, mesmo os sistemas mais avançados não foram tão bem quanto poderiam teoricamente. É como tentar assar o bolo perfeito, mas acabar com um levemente queimado. Esperamos que esse conjunto de dados incentive mais gente a bolar abordagens criativas pra melhorar o QAC!
A Tarefa do QAC
Quando um usuário digita um prefixo, o sistema de QAC tem como objetivo mostrar uma lista de sugestões relevantes. Ele tem dois objetivos principais:
- Fornecer o termo final de busca pretendido pelo usuário na lista de sugestões.
- Classificar esse termo o mais alto possível na lista.
Mais ou menos como tentar encontrar sua música favorita em uma playlist cheia de músicas aleatórias!
Preparação do Conjunto de Dados
O conjunto de dados inclui entradas com todos os detalhes que você precisa pra ajudar a treinar os algoritmos:
- ID do termo de busca: Um identificador único pra cada busca.
- ID de sessão: Agrupa buscas dentro da mesma sessão.
- Prefixos: A sequência de prefixos que leva ao termo final de busca.
- Informações de tempo: Carimbos de data e hora de quando o primeiro prefixo foi digitado e quando a busca final ocorreu.
- Popularidade: Com que frequência um termo de busca aparece no conjunto de dados.
Essa coleta de dados ajuda a manter uma visão clara dos padrões de digitação dos usuários-tipo um detetive montando pistas!
O Quadro Geral
Enquanto esse conjunto de dados fornece insights valiosos, a tarefa do QAC ainda é complexa. O mesmo prefixo pode levar a vários termos de busca relevantes, tornando isso um desafio para os sistemas. Pra enfrentar esse desafio, testamos vários sistemas no conjunto de dados pra ver quais abordagens funcionam melhor.
Métricas de Desempenho
Pra ver como um sistema de QAC se sai bem, usamos duas métricas importantes:
- Success@10: Isso verifica se o termo de busca correto está entre as 10 primeiras sugestões.
- Ranking Recíproco: Isso analisa onde a resposta correta está classificada na lista.
Essas métricas ajudam a gente a saber se estamos avançando ou se estamos perdidos na selva digital.
Nossos Sistemas de Referência
Pra medir como diferentes métodos se saem no nosso conjunto de dados, testamos vários sistemas. Não buscamos as soluções mais sofisticadas, apenas algumas tentativas honestas pra ver onde estamos.
Dividimos esses métodos principalmente em dois grupos:
- Abordagens de Recuperação de Informação (IR): Essas usam dados pra encontrar sugestões com base em prefixos.
- Abordagens Gerativas: Essas criam novas sugestões usando modelos treinados nos dados.
Resultados dos Nossos Testes
Descobrimos que sistemas tradicionais focados em correspondência de prefixos não foram tão bons quanto esperávamos. Eles se saíram significativamente pior do que modelos projetados pra entender o contexto. Isso foi uma grande revelação!
Árvores de Prefixos
Uma das primeiras abordagens que testamos usa uma estrutura chamada trie (pense nisso como uma árvore genealógica para palavras). Ela adivinha as conclusões com base no que sabe. No entanto, teve dificuldades em entender o contexto e teve Sucesso limitado com prefixos aleatórios.
Recuperação de Informação Neural
Em seguida, olhamos para modelos que utilizam semântica em vez de apenas correspondências literais. Esses modelos conseguem reconhecer o significado por trás das palavras. Por exemplo, se você digita "tênis de corrida feminino", ele pode sugerir "tênis nike para mulheres", o que é maravilhoso!
Usando Modelos de Linguagem Grandes (LLMs)
Recentemente, tem havido muito burburinho sobre o uso de Modelos de Linguagem Grandes pra tarefas como essas. Eles conseguem gerar sugestões com base no prefixo e ainda considerar buscas anteriores.
Testamos primeiro um LLM não ajustado, e embora tenha se saído razoavelmente bem, não era ótimo em adivinhar o que as pessoas realmente queriam. Mas assim que ajustamos o LLM com os dados de treinamento, ele superou tudo que testamos. Foi como ver uma criança pequena aprendendo a andar-era meio instável no começo, mas rapidamente pegou o jeito!
A Importância do Contexto
Usar contexto nas sugestões parece ter sido um divisor de águas. Quando o sistema incluía buscas anteriores, ele se desempenhava significativamente melhor. Isso enfatiza que o QAC não é apenas sobre completar prefixos, mas entender a jornada do usuário.
Limitações e Considerações Éticas
Enquanto criamos o conjunto de dados, tomamos medidas significativas pra proteger a privacidade do usuário. Informações sensíveis foram filtradas, e garantimos que o foco permanecesse na tarefa em questão. No entanto, algumas buscas específicas foram removidas pra manter as coisas éticas.
É crucial lembrar que os dados vêm dos registros de busca da Amazon. Portanto, os resultados podem não se aplicar a outros Contextos. O caráter voltado pra compras pode não refletir o que as pessoas estão buscando em outras áreas, como pesquisa acadêmica ou entretenimento.
Detalhes dos Dados
Resumindo, o conjunto de dados contém uma variedade rica de informações úteis para pesquisadores que buscam aprimorar sistemas de QAC. Não só fornece insights sobre o comportamento do usuário, mas também atua como um catalisador para inovações na tecnologia de motores de busca.
Conclusão
No final, a introdução desse conjunto de dados tem o potencial de dar um novo fôlego à pesquisa sobre QAC. Ainda há muito trabalho a ser feito, mas é claro que incorporar contexto e aproveitar modelos modernos pode levar a melhorias significativas.
Enquanto avançamos, esperamos que esses dados incentivem mais pensamentos criativos e soluções inovadoras, ajudando a criar melhores ferramentas para todos que usam motores de busca. Então, da próxima vez que você digitar na barra de busca, você pode encontrar a sugestão perfeita esperando por você, graças ao trabalho árduo de pesquisadores e desenvolvedores. Saúde pra isso!
Título: AmazonQAC: A Large-Scale, Naturalistic Query Autocomplete Dataset
Resumo: Query Autocomplete (QAC) is a critical feature in modern search engines, facilitating user interaction by predicting search queries based on input prefixes. Despite its widespread adoption, the absence of large-scale, realistic datasets has hindered advancements in QAC system development. This paper addresses this gap by introducing AmazonQAC, a new QAC dataset sourced from Amazon Search logs, comprising 395M samples. The dataset includes actual sequences of user-typed prefixes leading to final search terms, as well as session IDs and timestamps that support modeling the context-dependent aspects of QAC. We assess Prefix Trees, semantic retrieval, and Large Language Models (LLMs) with and without finetuning. We find that finetuned LLMs perform best, particularly when incorporating contextual information. However, even our best system achieves only half of what we calculate is theoretically possible on our test data, which implies QAC is a challenging problem that is far from solved with existing systems. This contribution aims to stimulate further research on QAC systems to better serve user needs in diverse environments. We open-source this data on Hugging Face at https://huggingface.co/datasets/amazon/AmazonQAC.
Autores: Dante Everaert, Rohit Patki, Tianqi Zheng, Christopher Potts
Última atualização: 2024-10-22 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2411.04129
Fonte PDF: https://arxiv.org/pdf/2411.04129
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.