Simple Science

La science de pointe expliquée simplement

# Informatique# Recherche d'informations# Intelligence artificielle# Apprentissage automatique

Améliorer l'autocomplétion des requêtes avec des données réelles

Un nouveau jeu de données améliore les suggestions de saisie automatique des requêtes en utilisant des données réelles d'utilisateurs.

― 9 min lire


Améliorer les suggestionsAméliorer les suggestionsde rechercheautomatique.améliorer les algorithmes de saisieUtiliser des données réelles pour
Table des matières

Tu as déjà commencé à taper quelque chose dans une barre de recherche, et soudain, une liste de suggestions apparaît ? Ça, c'est l'autocomplétion de requêtes (QAC) ! C'est comme si le moteur de recherche essayait de lire dans tes pensées pour t'aider à trouver ce que tu cherches sans que tu doives tout taper. Plutôt cool, non ?

Mais voilà le hic : même si le QAC est super utile, le faire fonctionner correctement, c'est pas aussi simple que ça en a l'air. Beaucoup de moteurs de recherche n'ont pas de bonnes données pour entraîner leurs systèmes QAC, ce qui fait qu'ils ne peuvent pas donner les meilleures suggestions. Imagine essayer de deviner le plat préféré de ton pote quand tout ce que t'as, c'est le mot « fromage ». Pas évident, hein ?

Le besoin de meilleures données

Pour que le QAC fonctionne mieux, on a besoin de Jeux de données réalistes et larges. Malheureusement, la plupart des jeux de données disponibles publiquement pour le QAC ne sont pas top. Ils ont surtout juste le terme de recherche final, mais pas les Préfixes réels que les utilisateurs tapent. Du coup, les chercheurs doivent trouver ces préfixes en devinant, et c'est pas l'idéal.

On a une solution ! Un nouveau jeu de données a été créé à partir de vraies journaux de recherche Amazon, contenant plus de 395 millions d'entrées. Ça veut dire qu'à chaque fois que quelqu'un tape quelque chose, on a ses préfixes. Parle d'un vrai trésor de données !

Qu’est-ce qu’il y a dans le jeu de données ?

Ce jeu de données contient une mine d'infos :

  • Les préfixes réels que les utilisateurs ont tapés avant de choisir un terme de recherche.
  • Des ID de session pour regrouper les recherches du même utilisateur.
  • Des horodatages pour voir quand les utilisateurs cherchaient.

Ça aide les chercheurs à mieux comprendre le contexte des recherches. Par exemple, si tu cherches « iphone », tu as commencé à taper « iph » ou « apple » ? Ces détails, ça compte !

Pourquoi c'est important

La recherche sur le QAC manque malgré son importance. Même si les moteurs de recherche sont omniprésents, on n'a pas assez travaillé pour les rendre plus intelligents. Avec ce nouveau jeu de données, les chercheurs peuvent enfin plonger dans l'idée d'améliorer les systèmes QAC.

Comment fonctionne le QAC ?

Quand tu commences à taper, le système QAC essaie de deviner ce que tu veux. Il regarde le préfixe que t'as tapé et le compare à des données historiques pour faire des suggestions. Idéalement, il devrait montrer ton terme de recherche prévu en haut de la liste.

Mais voici le truc : les gens peuvent être imprévisibles. Parfois, les utilisateurs ne tapent pas en ligne droite. Ils peuvent revenir en arrière ou changer ce qu'ils veulent chercher. Par exemple, tu pourrais commencer à taper "meilleures chaussures de course" mais finir par chercher "chaussures de course pour femmes". Pas étonnant que le QAC soit compliqué !

Nos découvertes

Dans notre examen, on a regardé différentes méthodes pour voir comment elles fonctionnent avec ce jeu de données. Après avoir testé plusieurs systèmes, on a découvert que les modèles affinés basés sur des recherches passées fonctionnent le mieux - surtout quand ils prennent en compte le contexte des recherches précédentes.

Cependant, même les systèmes les plus avancés n'ont pas fait aussi bien que ce qu'ils pourraient théoriquement. C'est comme essayer de cuire le gâteau parfait mais ne finir qu'avec un gâteau légèrement brûlé. On espère que ce jeu de données incitera plus de gens à trouver des approches créatives pour améliorer le QAC !

La tâche du QAC

Quand un utilisateur tape un préfixe, le système QAC vise à montrer une liste de suggestions pertinentes. Il a deux objectifs principaux :

  1. Fournir le terme de recherche final prévu par l'utilisateur dans la liste de suggestions.
  2. Classer ce terme le plus haut possible dans la liste.

Un peu comme essayer de trouver ta chanson préférée dans une playlist pleine de morceaux au hasard !

Préparation du jeu de données

Le jeu de données inclut des entrées avec tous les détails juteux dont tu as besoin pour aider à entraîner des algorithmes :

  • ID de terme de recherche : un identifiant unique pour chaque recherche.
  • ID de session : groupe les recherches au sein de la même session.
  • Préfixes : la séquence de préfixes menant au terme de recherche final.
  • Infos de timing : horodatages pour quand le premier préfixe a été tapé et quand la recherche finale a eu lieu.
  • Popularité : à quelle fréquence un terme de recherche apparaît dans le jeu de données.

Cette collecte de données aide à maintenir une vision claire des modèles de saisie des utilisateurs - un peu comme un détective qui assemble des indices !

La vue d'ensemble

Bien que ce jeu de données fournisse des informations précieuses, la tâche du QAC reste complexe. Le même préfixe pourrait mener à plusieurs termes de recherche pertinents, ce qui représente un défi pour les systèmes. Pour relever ce défi, nous avons testé divers systèmes sur le jeu de données pour voir quelles approches fonctionnent le mieux.

Mesures de performance

Pour voir à quel point un système QAC performe, on utilise deux mesures importantes :

  1. Succès@10 : Cela vérifie si le bon terme de recherche se trouve parmi les 10 premières suggestions.
  2. Rang réciproque : Cela regarde où la bonne réponse se classe dans la liste.

Ces mesures nous aident à savoir si on progresse ou si on se perd dans la jungle numérique.

Nos systèmes de référence

Pour évaluer à quel point différentes méthodes fonctionnent sur notre jeu de données, nous avons testé plusieurs systèmes. On ne visait pas les solutions les plus sophistiquées, juste quelques tentatives honnêtes pour voir où on en est.

On a principalement divisé ces méthodes en deux catégories :

  1. Approches de recherche d'information (IR) : Elles utilisent des données pour trouver des suggestions basées sur des préfixes.
  2. Approches génératives : Elles créent de nouvelles suggestions en utilisant des modèles entraînés sur les données.

Résultats de nos tests

On a découvert que les systèmes traditionnels axés sur la correspondance des préfixes ne fonctionnaient pas aussi bien qu'on l'espérait. Ils ont performé beaucoup moins bien que les modèles conçus pour comprendre le contexte. Ça, c'était une sacrée révélation !

Arbres de préfixes

Une des premières approches qu'on a testées utilise une structure appelée trie (pense à ça comme un arbre généalogique pour les mots). Il devine la complétion en se basant sur ce qu'il sait. Cependant, il a du mal à comprendre le contexte et a eu un succès limité avec des préfixes aléatoires.

Recherche d'information neurale

Ensuite, on a regardé des modèles qui exploitent la sémantique plutôt que de simples correspondances littérales. Ces modèles peuvent reconnaître la signification derrière les mots. Par exemple, si tu tapes "chaussure de course pour femmes", il peut suggérer "chaussures nike pour femmes", ce qui est génial !

Utilisation de modèles de langage large (LLMs)

Récemment, il y a eu beaucoup de bruit autour de l'utilisation de modèles de langage larges pour des tâches comme celles-ci. Ils peuvent générer des suggestions basées sur le préfixe et même prendre en compte les recherches précédentes.

On a d'abord testé un LLM non affiné, et bien que ce soit pas mal, il n'était pas génial pour deviner ce que les gens voulaient vraiment. Mais une fois qu'on a affiné le LLM avec les données d'entraînement, il a surperformé tout le reste qu'on a testé. C'était comme regarder un petit enfant apprendre à marcher - c'était bancal au début mais il a vite pris le coup !

L'importance du contexte

Utiliser le contexte dans les suggestions a semblé être un facteur clé. Quand le système incluait les recherches précédentes, il performait beaucoup mieux. Ça souligne que le QAC n'est pas juste une question de compléter des préfixes mais de comprendre le parcours de l'utilisateur.

Limitations et considérations éthiques

En créant le jeu de données, on a pris des mesures significatives pour protéger la vie privée des utilisateurs. Les informations sensibles ont été filtrées, et on a veillé à ce que le focus reste sur la tâche à accomplir. Cependant, certaines recherches spécifiques ont été retirées pour rester éthique.

Il est crucial de se rappeler que les données viennent des journaux de recherche Amazon. Donc, les résultats peuvent ne pas s'appliquer à d'autres Contextes. Le caractère orienté sur les achats peut ne pas refléter ce que les gens recherchent dans d'autres domaines, comme la recherche académique ou le divertissement.

Détails des données

Pour résumer, le jeu de données contient une riche variété d'informations utiles pour les chercheurs qui cherchent à améliorer les systèmes QAC. Non seulement il fournit des aperçus sur le comportement des utilisateurs, mais il agit aussi comme un catalyseur pour l'innovation dans la technologie des moteurs de recherche.

Conclusion

En fin de compte, l'introduction de ce jeu de données a le potentiel de donner un nouvel élan à la recherche sur le QAC. Il reste encore du travail à faire, mais il est clair qu'incorporer le contexte et tirer parti des modèles modernes peut conduire à des améliorations significatives.

En avançant, on espère que ces données encourageront plus de réflexions créatives et de solutions innovantes, aidant à créer de meilleurs outils pour tous ceux qui utilisent des moteurs de recherche. Donc, la prochaine fois que tu tapes dans une barre de recherche, tu pourrais bien trouver la suggestion parfaite qui t'attend, grâce au travail acharné des chercheurs et des développeurs. À la tienne !

Source originale

Titre: AmazonQAC: A Large-Scale, Naturalistic Query Autocomplete Dataset

Résumé: 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.

Auteurs: Dante Everaert, Rohit Patki, Tianqi Zheng, Christopher Potts

Dernière mise à jour: Oct 22, 2024

Langue: English

Source URL: https://arxiv.org/abs/2411.04129

Source PDF: https://arxiv.org/pdf/2411.04129

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires