Expansion de requête

L’expansion de requête enrichit les requêtes utilisateur avec du contexte ou des termes supplémentaires, augmentant la précision de la récupération et la qualité des réponses dans les systèmes d’IA comme RAG et les chatbots.

Expansion de requête

Expansion de requête

L’expansion de requête améliore les requêtes des utilisateurs en ajoutant des termes ou du contexte, ce qui optimise la récupération de documents pour des réponses précises. Dans les systèmes RAG, elle augmente le rappel et la pertinence, aidant les chatbots et l’IA à fournir des réponses exactes en gérant efficacement les requêtes vagues ou synonymes.

L’expansion de requête désigne le processus d’enrichissement de la requête originale d’un utilisateur par l’ajout de termes ou de contexte supplémentaires avant de l’envoyer au mécanisme de recherche. Cette augmentation permet de récupérer des documents ou informations plus pertinents, qui sont ensuite utilisés pour générer une réponse plus précise et contextuellement appropriée. Si les documents sont recherchés avec des requêtes alternatives puis reclassés, le processus RAG obtient des résultats de documents bien plus précis dans la fenêtre de contexte du prompt.

Illustration de l’expansion de requête

Qu’est-ce que la génération augmentée par récupération (RAG) ?

La génération augmentée par récupération (RAG) est une architecture d’IA qui combine des mécanismes de recherche avec des modèles génératifs pour produire des réponses plus précises et contextuellement pertinentes. Dans les systèmes RAG, un composant de recherche récupère des documents ou des segments de données pertinents d’une base de connaissances à partir d’une requête utilisateur. Ensuite, un modèle génératif (souvent un grand modèle de langage ou LLM) utilise ces informations récupérées pour générer une réponse cohérente et informative.

Le rôle de l’expansion de requête dans les systèmes RAG

Améliorer la performance de la recherche

Dans les systèmes RAG, la qualité de la réponse générée dépend fortement de la pertinence des documents récupérés. Si le composant de recherche n’obtient pas les informations les plus pertinentes, le modèle génératif peut produire des réponses sous-optimales ou hors sujet. L’expansion de requête relève ce défi en améliorant la requête initiale, augmentant ainsi les chances de récupérer tous les documents pertinents.

Augmenter le rappel

En élargissant la requête originale avec des termes associés, des synonymes ou des paraphrases, l’expansion de requête élargit l’espace de recherche. Cela augmente le rappel du système de recherche, c’est-à-dire qu’il capture une plus grande proportion de documents pertinents de la base de connaissances. Un rappel plus élevé offre un contexte plus riche au modèle génératif, améliorant la qualité globale de la sortie du système RAG.

Comment l’expansion de requête est-elle utilisée dans les systèmes RAG ?

Étapes du processus d’expansion de requête

  1. Réception de la requête utilisateur : Le processus commence avec la requête originale de l’utilisateur, qui peut être incomplète, vague ou utiliser une terminologie spécifique qui ne correspond pas aux documents de la base de connaissances.
  2. Génération de requêtes élargies : Le système génère des requêtes supplémentaires sémantiquement similaires à l’originale. Cela peut se faire via diverses techniques, notamment en exploitant les grands modèles de langage (LLMs).
  3. Récupération des documents : Chaque requête élargie est utilisée pour récupérer des documents depuis la base de connaissances. Il en résulte un ensemble plus large et diversifié de documents potentiellement pertinents.
  4. Agrégation des résultats : Les documents récupérés sont agrégés, les doublons supprimés et classés selon leur pertinence.
  5. Génération de la réponse : Le modèle génératif utilise les documents agrégés pour produire une réponse finale à la requête de l’utilisateur.

Techniques d’expansion de requête

1. Utilisation des grands modèles de langage (LLMs)

Les LLMs comme GPT-4 peuvent générer des requêtes sémantiquement similaires ou des paraphrases de la requête originale. En comprenant le contexte et les nuances du langage, les LLMs produisent des expansions de qualité couvrant différentes façons de poser la même question.

Exemple :

  • Requête originale : « Effets du changement climatique »
  • Requêtes élargies générées par le LLM :
    • « Impact du réchauffement climatique »
    • « Conséquences des changements environnementaux »
    • « Variabilité climatique et ses effets »

2. Génération de réponse hypothétique

Dans cette approche, le système génère une réponse hypothétique à la requête utilisateur à l’aide d’un LLM. Cette réponse hypothétique est ensuite ajoutée à la requête originale pour fournir davantage de contexte lors de la recherche.

Processus :

  • Générer une réponse hypothétique à la requête.
  • Combiner la requête originale et la réponse hypothétique.
  • Utiliser le texte combiné comme requête pour la recherche.

Exemple :

  • Requête originale : « Quels facteurs ont contribué à l’augmentation du chiffre d’affaires ? »
  • Réponse hypothétique générée :
    • « Le chiffre d’affaires de l’entreprise a augmenté grâce à des campagnes marketing réussies, à la diversification des produits et à l’expansion vers de nouveaux marchés. »
  • Requête combinée :
    • « Quels facteurs ont contribué à l’augmentation du chiffre d’affaires ? Le chiffre d’affaires de l’entreprise a augmenté grâce à des campagnes marketing réussies, à la diversification des produits et à l’expansion vers de nouveaux marchés. »

3. Approche multi-requêtes

Cette méthode consiste à générer plusieurs requêtes alternatives reflétant différentes formulations ou aspects de la requête originale. Chaque requête est utilisée indépendamment pour récupérer des documents.

Processus :

  • Générer plusieurs requêtes similaires à l’aide d’un LLM.
  • Récupérer les documents pour chaque requête séparément.
  • Combiner et classer les documents récupérés.

Exemple :

  • Requête originale : « Facteurs clés de la croissance de l’entreprise »
  • Requêtes élargies :
    • « Principaux facteurs d’expansion de l’activité »
    • « Qu’est-ce qui a conduit à l’amélioration des performances de l’entreprise ? »
    • « Contributeurs significatifs à la croissance organisationnelle »

Exemples et cas d’usage

Cas pratique : améliorer RAG pour l’analyse de rapports annuels

Scénario :
Un système d’IA est conçu pour répondre à des questions sur le rapport annuel d’une entreprise. Un utilisateur demande : « Y a-t-il eu un important renouvellement dans l’équipe dirigeante ? »

Mise en œuvre :

  1. Génération de réponse hypothétique :
    • Le système génère une réponse hypothétique : « Il y a eu peu de renouvellement dans l’équipe dirigeante, assurant stabilité et continuité pour les initiatives stratégiques. »
  2. Expansion de requête :
    • La réponse hypothétique est combinée à la requête originale pour former une requête élargie.
  3. Récupération :
    • La requête élargie permet de récupérer les sections les plus pertinentes du rapport annuel concernant les changements au sein de l’équipe dirigeante.
  4. Génération :
    • L’IA génère une réponse précise à partir des informations récupérées.

Avantage :
En fournissant davantage de contexte via la réponse hypothétique, le système récupère des informations qui auraient pu être manquées avec la requête originale seule.

Cas pratique : améliorer la recherche dans les chatbots de support client

Scénario :
Un chatbot de support client aide les utilisateurs à résoudre des problèmes. Un utilisateur tape : « Mon internet est lent. »

Mise en œuvre :

  1. Expansion de requête via LLM :
    • Générer des requêtes élargies :
      • « Rencontre une baisse de la vitesse internet »
      • « Connexion haut débit lente »
      • « Problèmes de latence internet »
  2. Récupération :
    • Chaque requête récupère des articles d’aide et des étapes de dépannage liés aux lenteurs de connexion.
  3. Génération de réponse :
    • Le chatbot compile les informations récupérées et guide l’utilisateur dans les solutions possibles.

Avantage :
Le chatbot couvre un éventail plus large de problèmes et de solutions, augmentant les chances de résoudre efficacement le problème de l’utilisateur.

Cas pratique : assistance à la recherche académique

Scénario :
Un étudiant utilise un assistant IA pour trouver des ressources sur le sujet : « Effets de la privation de sommeil sur la fonction cognitive. »

Mise en œuvre :

  1. Génération multi-requêtes :
    • Générer des requêtes similaires :
      • « Comment le manque de sommeil affecte-t-il les capacités de réflexion ? »
      • « Déficits cognitifs dus au manque de sommeil »
      • « Privation de sommeil et performance mentale »
  2. Récupération :
    • Récupérer des articles de recherche pour chaque requête.
  3. Agrégation et classement :
    • Combiner les résultats, prioriser les études les plus pertinentes et récentes.
  4. Génération de réponse :
    • L’IA fournit un résumé des découvertes et suggère des articles clés.

Avantage :
L’étudiant bénéficie d’informations complètes couvrant divers aspects du sujet, facilitant une recherche approfondie.

Avantages de l’expansion de requête dans les systèmes RAG

  • Rappel amélioré : En récupérant davantage de documents pertinents, le système offre un meilleur contexte pour générer des réponses précises.
  • Gestion des requêtes vagues : Apporte une solution aux requêtes courtes ou ambiguës en ajoutant du contexte.
  • Reconnaissance des synonymes : Cible les documents contenant des synonymes ou des termes associés absents de la requête originale.
  • Expérience utilisateur améliorée : Les utilisateurs reçoivent des réponses plus précises et informatives sans avoir à affiner leurs requêtes manuellement.

Défis et points de vigilance

Sur-expansion

Ajouter trop de requêtes élargies peut introduire des documents non pertinents, ce qui réduit la précision de la recherche.

Atténuation :

  • Génération contrôlée : Limiter le nombre de requêtes élargies.
  • Filtrage de pertinence : Utiliser des mécanismes de scoring pour prioriser les expansions les plus pertinentes.

Ambiguïté et polysémie

Les mots à sens multiples peuvent entraîner des expansions non pertinentes.

Atténuation :

  • Expansion contextuelle : Utiliser des LLMs qui prennent en compte le contexte de la requête.
  • Techniques de désambiguïsation : Mettre en place des algorithmes pour distinguer les différents sens selon le contexte de la requête.

Ressources informatiques

Générer et traiter plusieurs requêtes élargies peut être coûteux en ressources.

Atténuation :

  • Modèles efficaces : Utiliser des LLMs et des systèmes de recherche optimisés.
  • Mécanismes de cache : Mettre en cache les requêtes fréquentes et leurs expansions pour réduire la charge de calcul.

Intégration avec les systèmes de recherche

S’assurer que les requêtes élargies fonctionnent efficacement avec les algorithmes de recherche existants.

Atténuation :

  • Ajustement du scoring : Modifier le scoring de recherche pour tenir compte des requêtes élargies.
  • Approches hybrides : Combiner recherche par mots-clés et recherche sémantique.

Techniques pour une expansion de requête efficace

Pondération des termes

Attribuer des poids aux termes dans les requêtes élargies pour refléter leur importance.

  • TF-IDF (Term Frequency-Inverse Document Frequency) : Mesure l’importance d’un terme dans un document par rapport à un corpus.
  • Scoring BM25 : Fonction de classement utilisée par les moteurs de recherche pour estimer la pertinence des documents.
  • Poids personnalisés : Ajuster les poids selon la pertinence des termes élargis.

Reclassement des documents récupérés

Après la récupération, reclasser les documents pour prioriser la pertinence.

  • Cross-Encoders : Modèles évaluant la pertinence du couple requête-document.
  • Modèles de reclassement (ex : ColBERT, FlashRank) : Modèles spécialisés offrant un reclassement efficace et précis.

Exemple :

Utiliser un Cross-Encoder après la récupération pour scorer et reclasser les documents selon leur pertinence par rapport à la requête originale.

Exploiter les retours utilisateurs

Intégrer les interactions des utilisateurs pour améliorer l’expansion de requête.

  • Retour implicite : Analyser le comportement de l’utilisateur, comme les clics et le temps passé sur un document.
  • Retour explicite : Permettre à l’utilisateur d’affiner les requêtes ou de sélectionner les résultats préférés.

Lien avec l’IA, l’automatisation IA et les chatbots

Expansion de requête alimentée par l’IA

L’utilisation de l’IA et des LLMs pour l’expansion de requête exploite la compréhension avancée du langage pour améliorer la recherche. Cela permet aux systèmes d’IA, y compris les chatbots et assistants virtuels, de fournir des réponses plus précises et adaptées au contexte.

Automatisation de la recherche d’information

Automatiser l’expansion de requête réduit la nécessité pour les utilisateurs de formuler des requêtes précises. L’automatisation IA gère la complexité en arrière-plan, optimisant ainsi l’efficacité des systèmes de recherche d’information.

Amélioration des interactions chatbot

Les chatbots bénéficient de l’expansion de requête par une meilleure compréhension des intentions, notamment lorsqu’un utilisateur utilise un langage courant ou des phrases incomplètes. Cela conduit à des interactions plus satisfaisantes et à une résolution de problèmes plus efficace.

Exemple :

Un chatbot d’assistance technique peut interpréter une requête vague telle que « Mon application ne fonctionne pas » en l’élargissant à « application qui plante », « logiciel qui ne répond pas » et « messages d’erreur de l’application », ce qui accélère la résolution.

Recherche sur l’expansion de requête pour RAG

  1. Improving Retrieval for RAG based Question Answering in question answering, enhancing accuracy with real-time data. Discover more!") Models on Financial Documents
    Cet article examine l’efficacité des grands modèles de langage (LLMs) améliorés par la génération augmentée par récupération (RAG), en particulier dans le contexte des documents financiers. Il identifie que les inexactitudes des LLMs proviennent souvent d’une récupération sous-optimale des fragments de texte plutôt que des modèles eux-mêmes. L’étude propose des améliorations du processus RAG, incluant des techniques de découpage sophistiquées et l’expansion de requête, ainsi que l’annotation de métadonnées et des algorithmes de reclassement. Ces méthodologies visent à affiner la récupération de texte, améliorant ainsi la performance des LLMs pour générer des réponses précises. Lire la suite

  2. Enhancing Retrieval and Managing Retrieval: A Four-Module Synergy for Improved Quality and Efficiency in RAG Systems
    L’article présente une approche modulaire pour améliorer les systèmes RAG, mettant l’accent sur le module Query Rewriter, qui crée des requêtes adaptées à la recherche pour optimiser la récupération de connaissances. Il traite des problèmes de plateau d’information et d’ambiguïté dans les requêtes en générant des requêtes multiples. De plus, les modules Knowledge Filter et Memory Knowledge Reservoir sont proposés pour gérer les connaissances non pertinentes et optimiser les ressources de récupération. Ces avancées visent à augmenter la qualité et l’efficacité des réponses dans les systèmes RAG, validées par des expériences sur des jeux de données QA. Accédez au code et aux détails.

  3. MultiHop-RAG: Benchmarking Retrieval-Augmented Generation for Multi-Hop Queries
    Cette recherche met en lumière les défis rencontrés par les systèmes RAG actuels pour traiter des requêtes multi-hop, qui nécessitent un raisonnement sur plusieurs éléments de preuve. Elle introduit un nouveau jeu de données conçu pour évaluer les systèmes RAG sur des requêtes multi-hop, dans le but de repousser les limites des capacités actuelles. L’article discute des progrès nécessaires pour permettre aux méthodes RAG de gérer efficacement des structures de requêtes complexes et d’améliorer l’adoption des LLMs pour des applications concrètes.

Questions fréquemment posées

Qu’est-ce que l’expansion de requêtexa0?

L’expansion de requête est le processus d’augmentation de la requête originale d’un utilisateur en ajoutant des termes associés, des synonymes ou du contexte, aidant les systèmes de recherche à obtenir des documents plus pertinents et à générer des réponses précises, en particulier dans les applications alimentées par l’IA.

Comment l’expansion de requête améliore-t-elle les systèmes RAGxa0?

Dans les systèmes RAG (Retrieval-Augmented Generation), l’expansion de requête augmente le rappel du composant de recherche en élargissant l’espace de recherche, garantissant que davantage de documents pertinents sont pris en compte pour générer des réponses précises.

Quelles techniques sont utilisées pour l’expansion de requêtexa0?

Les techniques incluent l’utilisation de grands modèles de langage pour générer des requêtes paraphrasées, la génération de réponses hypothétiques, les approches multi-requêtes, la pondération des termes et l’exploitation des retours utilisateurs pour une amélioration continue.

Quels sont les avantages de l’expansion de requêtexa0?

L’expansion de requête améliore le rappel, gère les requêtes vagues ou ambiguës, reconnaît les synonymes, et améliore l’expérience utilisateur en fournissant des réponses plus précises et informatives sans affinement manuel de la requête.

Existe-t-il des défis liés à l’expansion de requêtexa0?

Oui, les défis incluent la sur-expansion (introduction de documents non pertinents), l’ambiguïté des termes, la demande en ressources informatiques et la compatibilité avec les algorithmes de recherche. Ceux-ci peuvent être atténués par une génération contrôlée, un filtrage de pertinence et l’utilisation de modèles efficaces.

Découvrez l’expansion de requête avec FlowHunt

Découvrez comment l’expansion de requête peut améliorer la précision de votre chatbot IA et optimiser la recherche d’information. Découvrez les solutions FlowHunt pour une gestion efficace et automatisée des requêtes.

En savoir plus