Expansion des requêtes basée sur le LLM

Vous est-il déjà arrivé de taper un mot clé dans un moteur de recherche et d'obtenir un résultat différent de celui que vous souhaitiez ? Ou encore, vous voulez rechercher quelque chose, mais vous ne savez pas quels mots utiliser pour l'exprimer le plus précisément possible ? Ne vous inquiétez pas, la technologie d'"expansion des requêtes" peut vous aider à résoudre ces problèmes.

La technique de l'expansion des requêtes a connu un regain d'intérêt ces derniers temps. Auparavant, elle faisait partie intégrante des moteurs de recherche, puis elle a été mise en veilleuse pendant un certain temps pour un certain nombre de raisons. Mais aujourd'hui, avec l'essor d'une nouvelle technique appelée "Agentic Search" (recherche agentique), l'expansion des requêtes revient sur le devant de la scène.

 

Pourquoi ai-je besoin d'extensions de requête ?

Lorsque nous utilisons normalement les moteurs de recherche, les termes de recherche que nous saisissons ont tendance à être courts et familiers. Cela peut entraîner deux problèmes :

  • Les termes de recherche sont trop générauxPar exemple, si vous souhaitez connaître les dernières avancées en matière d'"intelligence artificielle", mais que vous ne tapez que "intelligence artificielle", il est difficile pour le moteur de recherche de déterminer l'aspect que vous souhaitez connaître.
  • Termes de recherche trop spécifiquesPar exemple, vous souhaitez rechercher des informations sur une certaine maladie, mais vous ne savez pas quelle est la terminologie la plus exacte.

Tous ces problèmes affectent la qualité des résultats de la recherche. Même des techniques de recherche plus avancées, telles que la recherche agentique, sont confrontées aux mêmes problèmes.

Qu'est-ce que la recherche agentique ?

La recherche raisonnée est une méthode de recherche plus intelligente. Vous pouvez la considérer comme un assistant intelligent qui non seulement comprend les mots clés que vous saisissez, mais vous aide également à trouver des informations plus précises et plus complètes en fonction du contexte et de votre intention.

Par exemple, si vous cherchez "comment faire un gâteau", un moteur de recherche traditionnel ne renverra que les pages contenant les mots "faire" et "gâteau". Mais la recherche inférentielle comprend que votre intention est d'apprendre à faire un gâteau, et peut donc renvoyer des tutoriels plus détaillés, des vidéos ou même des recettes pour différents types de gâteaux.

Bien que la recherche inférentielle soit plus intelligente, elle peine toujours à saisir avec précision notre intention si nos termes de recherche sont trop courts ou trop vagues. Pour résoudre ce problème, nous avons besoin d'une technique pour "développer" ou "réécrire" nos termes de recherche afin qu'ils expriment de manière plus précise et plus complète notre intention de recherche. C'est ce qu'on appelle "l'expansion de la requête".

 

Qu'est-ce que l'expansion des requêtes ?

L'expansion de requête est une technique d'optimisation des résultats de recherche. L'idée de base est simple : il s'agit d'ajouter des mots apparentés au terme de recherche initial afin de permettre aux moteurs de recherche de trouver plus facilement les résultats souhaités.

Par exemple, si vous souhaitez rechercher "Comment préparer le porc braisé", l'extension de la requête peut ajouter automatiquement "recettes","pratique","la vie quotidienne d'une famille","porc entrelardé"Ces mots. Ainsi, les résultats de la recherche ne contiendront pas seulement des contenus avec "porc braisé" dans le titre ou le corps, mais aussi des recettes qui vous apprennent à faire du porc braisé, des remèdes maison, et même des tutoriels sur la façon de faire du porc braisé avec de la pancetta, ce qui rend les résultats de la recherche plus complets et plus adaptés à vos besoins.

基于LLM的查询扩展 (Query Expansion)

Figure 1 : Organigramme de l'expansion d'une requête à l'aide d'un dictionnaire de synonymes

L'expansion des requêtes peut être utilisée dans tous les types de moteurs de recherche, y compris les moteurs de recherche par mots clés traditionnels et les moteurs de recherche inférentielle plus avancés. Pour la recherche inférentielle, l'expansion des requêtes peut aider à mieux comprendre l'intention de recherche de l'utilisateur et donc à fournir des résultats plus pertinents.

Dans les moteurs de recherche traditionnels, l'expansion des requêtes est principalement utilisée pour résoudre les deux problèmes suivants :

  • morphologie (linguistique)Les formes différentes d'un même mot (par exemple, "run" et "running") sont considérées comme des mots différents, ce qui donne lieu à des résultats de recherche incomplets.
  • Synonymes et mots apparentésSi vous recherchez "perdre du poids"un moteur de recherche traditionnel peut ne pas trouver un moteur de recherche contenant "suivre un régime","perte de graisse"ou"Contrôle du poids"Mais en réalité, ces mots sont très pertinents.

Beaucoup de choses ont été envisagées pour réaliser l'expansion des requêtes, comme par exemple :

  • Élaboration manuelle d'un dictionnaire de synonymesC'est comme un dictionnaire qui vous indique quels sont les mots qui ont des significations similaires.
  • Recherche automatique de mots pertinents dans un grand nombre d'articlesLes mots : Déterminez s'ils sont liés en analysant les mots qui apparaissent souvent ensemble.
  • Analyse des enregistrements de rechercheLes mots-clés : Voyez quels sont les autres mots-clés utilisés par les internautes lorsqu'ils recherchent un contenu similaire.
  • Sur la base du retour d'information des utilisateursLes moteurs de recherche ont besoin de l'avis de l'utilisateur pour déterminer quels mots sont les plus pertinents.

 

Modélisation sémantique des vecteurs et extension des requêtes

Ces dernières années, avec le développement de l'intelligence artificielle, une nouvelle technologie appelée "modélisation vectorielle sémantique" a vu le jour. Il s'agit d'un "traducteur de mots" qui traduit chaque mot en une chaîne de nombres (que nous appelons "vecteurs"). Ces nombres représentent le sens du mot, et plus le sens du mot est proche, plus la chaîne de nombres correspondante (vecteur) est proche.

Avec les modèles vectoriels sémantiques, les moteurs de recherche devraient théoriquement être plus intelligents, et l'expansion des requêtes semble inutile. Par exemple, si vous recherchez "Comment préparer le porc braisé", le modèle vectoriel sémantique doit connaître "recettes","pratique"Ces mots sont suffisamment proches du sens de "porc braisé" pour qu'un moteur de recherche puisse trouver une recette même si vous ne les tapez pas.

En réalité, le modèle des vecteurs sémantiques n'est pas parfait. Les "chaînes de chiffres" (vecteurs) qu'il produit peuvent contenir des informations ambiguës, ce qui se traduit par des résultats de recherche moins précis.

Par exemple, si vous recherchez "grenade"le moteur de recherche peut renvoyer quelque chose à propos de "Téléphone Apple"et peut également renvoyer des informations sur les résultats "fruits"Le résultat peut également retourner "Apple Inc."pour obtenir des informations sur les stocks. Mais si ce que vous recherchez vraiment, ce sont des informations sur les "Technologie de culture des pommes"mais peut être submergé par d'autres résultats. Si nous ajoutons le terme de recherche "plantation"En outre, il aidera les moteurs de recherche à mieux comprendre notre intention et à trouver des résultats qui correspondent davantage à nos besoins.

 

Expansion des requêtes avec les grands modèles d'IA (LLM)

Nous disposons désormais d'un outil plus puissant pour développer les requêtes, à savoir le grand modèle d'IA (LLM).

Qu'est-ce qu'un grand modèle d'IA (LLM) ? Il s'agit en quelque sorte d'un "linguiste" très compétent qui a été formé sur des quantités massives de données textuelles et qui a acquis un grand nombre de connaissances et de compétences linguistiques.

L'expansion des requêtes avec LLM présente plusieurs avantages significatifs par rapport aux méthodes traditionnelles d'expansion des requêtes :

  • vaste vocabulaire: LLM Voyez beaucoup de mots et ne vous souciez pas de trouver les bons synonymes ou les mots apparentés.
  • Faites preuve de discernementLe LLM peut d'abord déterminer quels mots sont pertinents pour votre sujet de recherche, ce que les méthodes traditionnelles ne peuvent pas faire. Il vous aide à filtrer les extensions qui ne sont pas pertinentes.
  • Flexible et personnalisableLLM : Vous pouvez indiquer à LLM les extensions que vous souhaitez en fonction d'une tâche de recherche spécifique. C'est comme si vous donniez à LLM une "commande" pour lui indiquer les résultats que vous souhaitez obtenir.

Une fois que vous avez généré des extensions à l'aide de LLM, le processus est similaire à l'expansion de requête traditionnelle : ajoutez ces mots à vos termes de recherche originaux, puis utilisez le modèle de vecteur sémantique pour générer un "vecteur de requête", et utilisez ensuite ce vecteur pour effectuer une recherche.

基于LLM的查询扩展 (Query Expansion)

Figure 2 : Extension d'une requête vectorielle à l'aide de LLM

 

Expérience : voir l'effet de l'expansion des requêtes

Pour vérifier que l'expansion des requêtes assistée par LLM fonctionne ou non, nous avons fait quelques expériences.

environnement expérimental

  • LLMNous avons utilisé l'outil de recherche de Google Gémeaux 2.0 Modèle Flash.
  • modèle vectorielNous avons utilisé deux modèles vectoriels : jina-embeddings-v3 et all-MiniLM-L6-v2.
  • ensemble de donnéesNous avons utilisé des ensembles de données de test de recherche accessibles au public.

Méthodes expérimentales

Deux types d'invites ont été conçus pour guider le LLM dans la création d'une extension. Les invites sont comme des instructions que vous donnez au LLM pour lui indiquer le type de résultat que vous souhaitez obtenir.

  • Indices communsLes résultats de l'analyse de l'information peuvent être appliqués à un grand nombre de tâches de recherche.
  • Invitations spécifiques à la tâcheMots clés : mots clés conçus pour des tâches de recherche spécifiques (par exemple, les recherches médicales).

Nous avons également testé différents nombres d'extensions : 100, 150 et 250.

L'effet des indices génériques

Nous avons constaté que le mot-clé générique suivant fonctionnait bien :

Please provide additional search keywords and phrases for
each of the key aspects of the following queries that make
it easier to find the relevant documents (about {size} words
per query):
{query}
Please respond in the following JSON schema:
Expansion = {"qid": str, "additional_info": str}
Return: list [Expansion]

Cette invite peut traiter plusieurs termes de recherche à la fois et générer une liste de termes étendus pour chaque terme de recherche.

Nous l'avons d'abord testé avec le modèle jina-embeddings-v3 avec les résultats suivants :

ensemble de testsmot non développé100 mots élargis150 mots élargis250 mots élargis
SciFact(Mandat de vérification des faits)72.7473.3974.1674.33
TRECCOVID(Tâches de recherche médicale)77.5576.7477.1279.28
FiQA(Recherche d'options financières)47.3447.7646.0347.34
NFCorpus(Recherche d'informations médicales)36.4640.6239.6339.20
Touche2020(Tâche de recherche d'arguments)26.2426.9127.1527.54

Comme le montrent les résultats, l'expansion des requêtes améliore la recherche dans la plupart des cas.

Afin de vérifier l'efficacité de l'expansion des requêtes sur différents modèles, nous avons répété le même test avec le modèle all-MiniLM-L6-v2 et obtenu les résultats suivants :

ensemble de testsmot non développé100 mots élargis150 mots élargis250 mots élargis
SciFact(Mandat de vérification des faits)64.5168.7266.2768.50
TRECCOVID(Tâches de recherche médicale)47.2567.9070.1869.60
FiQA(Recherche d'options financières)36.8733.9632.6031.84
NFCorpus(Recherche d'informations médicales)31.5933.7633.7633.35
Touche2020(Tâche de recherche d'arguments)16.9025.3123.5223.23

Les résultats montrent que l'expansion des requêtes améliore considérablement les résultats de la recherche, en particulier pour les petits modèles tels que all-MiniLM-L6-v2.

Le tableau ci-dessous résume la levée moyenne pour chaque modèle, toutes tâches confondues :

modélisation100 mots d'expansion150 mots d'expansion250 mots d'expansion
jina-embeddings-v3+1.02+0.75+1.48
tous-MiniLM-L6-v2+6.51+5.84+5.88

tous-MiniLM-L6-v2 L'ascenseur est plus que jina-embeddings-v3 Beaucoup plus grande, probablement parce que tous-MiniLM-L6-v2 La performance initiale du modèle est faible.jina-embeddings-v3 Le modèle lui-même est mieux à même de comprendre la signification des termes de recherche, de sorte que l'aide supplémentaire apportée par l'expansion des requêtes est plus limitée.

Toutefois, ce résultat montre également que l'expansion des requêtes peut améliorer de manière significative les résultats de recherche de certains modèles aux performances moyennes, ce qui leur permet d'obtenir de bons résultats dans certaines situations.

Invitations spécifiques à la tâche

Nous avons constaté que les mots repères génériques, bien que généralement efficaces, peuvent introduire des mots non pertinents qui réduisent l'efficacité de la recherche. Nous avons donc conçu des mots repères plus spécifiques pour deux tâches de recherche particulières (vérification des faits et recherche d'options financières) :

Please provide additional search keywords and phrases for
each of the key aspects of the following queries that make
it easier to find the relevant documents scientific document
that supports or rejects the scientific fact in the query
field (about {size} words per query):
{query}
Please respond in the following JSON schema:
Expansion = {"qid": str, "additional_info": str}
Return: list [Expansion]

Les résultats expérimentaux montrent que ce mot repère plus spécifique améliore les résultats de la recherche dans presque tous les cas :

ensemble de testsmodélisationmot non développé100 mots d'expansion150 mots d'expansion250 mots d'expansion
SciFactjina-embeddings-v372.7475.85 (+2.46)75.07 (+0.91)75.13 (+0.80)
SciFacttous-MiniLM-L6-v264.5169.12 (+0.40)68.10 (+1.83)67.83 (-0.67)
FiQAjina-embeddings-v347.3447.77 (+0.01)48.20 (+1.99)47.75 (+0.41)
FiQAtous-MiniLM-L6-v236.8734.71 (+0.75)34.68 (+2.08)34.50 (+2.66)

Comme le montre le tableau ci-dessus, les résultats de la recherche se sont améliorés pour tous les paramètres, sauf dans le cas de l'utilisation du modèle tout-MiniLM-L6-v2 sur SciFact et de l'ajout de 250 extensions.

en ce qui concerne jina-embeddings-v3 nous constatons que l'ajout de 100 ou 150 extensions donne les meilleurs résultats ; l'ajout de 250 extensions réduit les résultats. Cela suggère qu'un plus grand nombre d'extensions n'est pas une meilleure solution, et que l'ajout d'un trop grand nombre de mots peut aggraver les résultats de la recherche.

 

Avantages et défis de l'expansion des requêtes

avantage

  • Peut améliorer les résultats de rechercheLes extensions de requête permettent aux moteurs de recherche de mieux comprendre votre intention et de trouver des informations plus pertinentes et plus complètes.
  • Plus efficace pour les modèles aux performances moyennesL'extension des requêtes peut aider certains modèles aux performances moyennes à obtenir des résultats de recherche décents.

défi

  • Questions relatives aux coûtsL'utilisation du LLM augmente le temps et le coût de calcul de la recherche. Des coûts supplémentaires sont encourus si des services LLM payants sont utilisés.
  • Conception des indices: La conception de bons mots indicateurs n'est pas facile et nécessite beaucoup d'expérimentation et d'ajustement. De plus, différents LLM, différents modèles vectoriels et différentes tâches de recherche peuvent tous nécessiter des mots repères différents.
  • Autres méthodes d'optimisationSi votre modèle vectoriel est peu performant, il est probablement plus rentable de passer à un meilleur modèle que de consacrer du temps à la mise à l'échelle des requêtes.

 

orientation future

Bien que l'expansion des requêtes présente encore quelques difficultés, nous pensons qu'elle jouera un rôle important dans l'avenir de la technologie de recherche. Nous explorons les pistes suivantes :

  • Voir si l'expansion des requêtes peut être utilisée pour améliorer la représentation vectorielle des documents.
  • Explorer l'utilisation de l'expansion des requêtes dans d'autres techniques de recherche d'IA telles que le réordonnancement.
  • Comparaison des extensions générées par LLM et des méthodes traditionnelles (par exemple, les dictionnaires de synonymes) pour la génération d'extensions.
  • Former le LLM spécifiquement pour la tâche d'expansion de la requête.
  • Optimisez le nombre d'extensions et évitez d'ajouter trop de mots à la fois.
  • Chercher à savoir comment reconnaître les bonnes et les mauvaises extensions.

 

 

Tous les codes et les résultats expérimentaux sont en libre accès et peuvent être entourés et reproduits :

llm-query-expansion : https://github.com/jina-ai/llm-query-expansion/

© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...