Rerangement de Documents
Le rerangement de documents affine les résultats de recherche récupérés en priorisant les documents les plus pertinents pour la requête d’un utilisateur, améliorant ainsi la précision des systèmes IA et RAG.

Rerangement de Documents
Le rerangement de documents réorganise les documents récupérés en fonction de la pertinence de la requête, affinant ainsi les résultats de recherche. L’expansion de requête améliore la recherche en ajoutant des termes associés, ce qui accroît le rappel et traite l’ambiguïté. Combiner ces techniques dans les systèmes RAG améliore la précision de la récupération et la qualité des réponses.
Le rerangement de documents est le processus de réorganisation des documents récupérés en fonction de leur pertinence par rapport à la requête de l’utilisateur. Après une étape initiale de récupération, le rerangement affine les résultats en évaluant plus précisément la pertinence de chaque document, garantissant que les documents les plus pertinents sont priorisés.
Qu’est-ce que la génération augmentée par la récupération (RAG) ?
La génération augmentée par la récupération (RAG) est un cadre avancé qui combine les capacités des grands modèles de langage (LLM) avec des systèmes de récupération d’information. Dans RAG, lorsqu’un utilisateur soumet une requête, le système récupère des documents pertinents depuis une vaste base de connaissances et transmet ces informations au LLM pour générer des réponses informées et contextuellement précises. Cette approche améliore la précision et la pertinence du contenu généré par l’IA en l’ancrant dans des données factuelles.

Comprendre l’expansion de requête
Qu’est-ce que l’expansion de requête ?
Définition
L’expansion de requête est une technique utilisée en récupération d’information pour accroître l’efficacité des requêtes de recherche. Elle consiste à enrichir la requête originale en y ajoutant des termes ou expressions sémantiquement liés. Le principal objectif est de combler l’écart entre l’intention de l’utilisateur et le langage utilisé dans les documents pertinents, améliorant ainsi la récupération d’informations pertinentes.
Comment ça fonctionne
En pratique, l’expansion de requête peut être réalisée par diverses méthodes :
- Expansion par synonymes : Incorporer des synonymes des termes de la requête pour couvrir différentes expressions du même concept.
- Termes associés : Ajouter des termes contextuellement liés mais non synonymes directs.
- Expansion basée sur les LLM : Utiliser de grands modèles de langage pour générer des requêtes élargies en prédisant des mots ou expressions pertinents pour la requête originale.
En élargissant la requête, le système de récupération peut ratisser plus large et capturer des documents qui auraient pu être manqués en raison de variations de terminologie ou de formulation.
Pourquoi l’expansion de requête est-elle importante dans les systèmes RAG ?
Amélioration du rappel
Le rappel désigne la capacité du système à retrouver tous les documents pertinents. L’expansion de requête améliore le rappel en :
- Récupérant des documents utilisant des termes différents pour décrire le même concept.
- Capturant des documents traitant des sous-thèmes ou aspects plus larges de la requête.
Traiter l’ambiguïté des requêtes
Les utilisateurs soumettent souvent des requêtes courtes ou ambiguës. L’expansion de requête aide à :
- Clarifier l’intention de l’utilisateur en considérant plusieurs interprétations.
- Fournir une recherche plus complète en incluant divers aspects du sujet.
Amélioration de la correspondance documentaire
En incluant des termes supplémentaires pertinents, le système augmente la probabilité de faire correspondre la requête avec des documents qui peuvent utiliser un vocabulaire différent, améliorant ainsi l’efficacité globale du processus de récupération.
Méthodes d’expansion de requête
1. Pseudo-relevance feedback (PRF)
Qu’est-ce que le PRF ?
Le feedback de pseudo-pertinence est une méthode automatique d’expansion de requête où le système suppose que les documents les mieux classés lors d’une recherche initiale sont pertinents. Il extrait des termes significatifs de ces documents pour affiner la requête originale.
Comment fonctionne le PRF
- Exécution initiale de la requête : La requête originale de l’utilisateur est exécutée et des documents principaux sont récupérés.
- Extraction de termes : Les termes clés de ces documents sont identifiés selon leur fréquence ou importance.
- Affinement de la requête : La requête originale est enrichie de ces termes clés.
- Deuxième récupération : La requête élargie sert à effectuer une nouvelle recherche, idéalement pour récupérer des documents plus pertinents.
Avantages et inconvénients
- Avantages : Améliore le rappel sans intervention de l’utilisateur.
- Inconvénients : Si les résultats initiaux contiennent des documents non pertinents, l’expansion peut inclure des termes trompeurs et réduire la précision.
2. Expansion de requête basée sur les LLM
Exploiter les grands modèles de langage
Avec les avancées de l’IA, des LLM comme GPT-3 et GPT-4 peuvent générer des expansions de requête sophistiquées en comprenant le contexte et la sémantique.
Comment fonctionne l’expansion basée sur les LLM
- Génération de réponse hypothétique : Le LLM génère une réponse hypothétique à la requête originale.
- Expansion contextuelle : La réponse fournit un contexte supplémentaire et des termes associés.
- Requête combinée : La requête originale et la sortie du LLM sont combinées pour former une requête élargie.
Exemple
Requête originale :
« Quels ont été les facteurs les plus importants ayant contribué à l’augmentation des revenus ? »
Réponse générée par le LLM :
« Au cours de l’exercice, plusieurs facteurs clés ont contribué à l’augmentation significative du chiffre d’affaires de l’entreprise, notamment des campagnes marketing réussies, la diversification des produits, des initiatives de satisfaction client, une tarification stratégique et des investissements dans la technologie. »
Requête élargie :
« Requête originale : Quels ont été les facteurs les plus importants ayant contribué à l’augmentation des revenus ?
Réponse hypothétique : [Réponse générée par le LLM] »
Avantages
- Compréhension approfondie : Capture des relations et concepts nuancés.
- Personnalisation : Adapte l’expansion au domaine ou contexte spécifique.
Défis
- Ressources de calcul : Peut nécessiter une puissance de traitement importante.
- Sur-expansion : Risque d’ajouter des termes non pertinents ou trop nombreux.
Mise en œuvre de l’expansion de requête dans les systèmes RAG
Processus étape par étape
- Saisie de la requête utilisateur : Le système reçoit la requête originale de l’utilisateur.
- Expansion basée sur les LLM :
- Le système demande au LLM de générer une réponse hypothétique ou des requêtes associées.
- Exemple de prompt :
« Fournissez une réponse détaillée ou des requêtes associées pour : [Requête de l’utilisateur] »
- Combinaison des requêtes :
- La requête originale et le contenu élargi sont combinés.
- Cela garantit que la requête élargie reste pertinente par rapport à l’intention de l’utilisateur.
- Utilisation en récupération :
- La requête élargie sert à la récupération de documents dans la base de connaissances.
- Cela peut se faire par recherche par mots-clés, recherche sémantique ou une combinaison.
Avantages dans les systèmes RAG
- Récupération accrue : Plus de documents pertinents sont récupérés, offrant un meilleur contexte au LLM.
- Expérience utilisateur améliorée : Les utilisateurs reçoivent des réponses plus précises et informatives.
Comprendre le rerangement de documents
Pourquoi le rerangement est-il nécessaire
- Limites de la récupération initiale : Les méthodes de récupération initiales peuvent se baser sur des mesures générales de similarité qui ne captent pas toujours la pertinence fine.
- Éliminer le bruit : L’expansion de requête peut introduire des documents moins pertinents ; le rerangement les filtre.
- Optimiser le contexte pour les LLM : Fournir les documents les plus pertinents améliore la qualité des réponses générées par le LLM.
Méthodes de rerangement de documents
1. Modèles cross-encoder
Aperçu
Les cross-encoders sont des réseaux neuronaux qui prennent une paire d’entrées (la requête et un document) et produisent un score de pertinence. Contrairement aux bi-encoders, qui encodent séparément la requête et le document, les cross-encoders les traitent conjointement, permettant une interaction plus riche.
Fonctionnement des cross-encoders
- Appariement des entrées : Chaque document est associé à la requête.
- Encodage conjoint : Le modèle encode la paire ensemble, capturant les interactions.
- Scorage : Produit un score de pertinence pour chaque document.
- Classement : Les documents sont triés selon ces scores.
Avantages
- Haute précision : Fournit des évaluations de pertinence plus précises.
- Compréhension contextuelle : Capture des relations complexes entre la requête et le document.
Défis
- Intensif en calcul : Nécessite de la puissance de traitement, surtout pour de grands ensembles de documents.
2. ColBERT (modèles à interaction tardive)
Qu’est-ce que ColBERT ?
ColBERT (Contextualized Late Interaction over BERT) est un modèle de récupération conçu pour équilibrer l’efficacité et la performance. Il utilise un mécanisme d’interaction tardive permettant une comparaison détaillée entre les tokens de la requête et du document sans coûts informatiques élevés.
Fonctionnement de ColBERT
- Encodage au niveau des tokens : Encode séparément les tokens de la requête et du document à l’aide de BERT.
- Interaction tardive : Lors du scoring, compare les tokens des requêtes et des documents par des mesures de similarité.
- Efficacité : Permet la pré-calculation des embeddings des documents.
Avantages
- Scorage efficace : Plus rapide que les cross-encoders complets.
- Récupération performante : Maintient une haute qualité de récupération.
Cas d’utilisation
- Adapté à la récupération à grande échelle lorsque les ressources de calcul sont limitées.
3. FlashRank
Aperçu
FlashRank est une bibliothèque de rerangement légère et rapide utilisant des cross-encoders à la pointe. Elle est conçue pour s’intégrer facilement aux pipelines existants et améliorer la performance du rerangement avec un minimum de surcharge.
Fonctionnalités
- Facilité d’utilisation : API simple pour une intégration rapide.
- Rapidité : Optimisé pour un rerangement rapide.
- Précision : Utilise des modèles performants pour un rerangement de haute qualité.
Exemple d’utilisation
from flashrank import Ranker, RerankRequest
query = 'Quels ont été les facteurs les plus importants ayant contribué à l’augmentation des revenus ?'
ranker = Ranker(model_name="ms-marco-MiniLM-L-12-v2")
rerank_request = RerankRequest(query=query, passages=documents)
results = ranker.rerank(rerank_request)
Avantages
- Simplifie le rerangement : Absorbe la complexité de la gestion des modèles.
- Optimise la performance : Équilibre rapidité et précision.
Mise en œuvre du rerangement de documents dans les systèmes RAG
Processus
- Récupération initiale : Utiliser la requête élargie pour récupérer un ensemble de documents candidats.
- Rerangement : Appliquer un modèle de rerangement (ex : Cross-Encoder, ColBERT) pour évaluer la pertinence de chaque document.
- Sélection : Choisir les documents les mieux classés comme contexte pour le LLM.
Considérations
- Ressources de calcul : Le rerangement peut être coûteux ; il faut équilibrer performance et coûts.
- Choix du modèle : Sélectionner les modèles adaptés aux besoins de précision et d’efficacité de l’application.
- Intégration : S’assurer que le rerangement s’intègre parfaitement au pipeline existant.
Combiner expansion de requête et rerangement de documents dans RAG
Synergie entre expansion de requête et rerangement
Techniques complémentaires
- Expansion de requête élargit le champ de recherche, récupérant plus de documents.
- Rerangement de documents affine ces résultats en se concentrant sur les plus pertinents.
Avantages de la combinaison
- Rappel et précision accrus : Ensemble, elles améliorent la quantité et la qualité des documents récupérés.
- Récupération robuste : Pallie les limites de chaque méthode utilisée seule.
- Meilleur output du LLM : Fournit un meilleur contexte, menant à des réponses plus précises et informatives.
Comment elles fonctionnent ensemble
- Saisie de la requête utilisateur : La requête originale est reçue.
- Expansion de requête : La requête est élargie (ex : expansion basée sur LLM), produisant une requête de recherche plus complète.
- Récupération initiale : La requête élargie est utilisée pour récupérer un large ensemble de documents.
- Rerangement de documents : Les modèles de rerangement évaluent et réordonnent les documents selon leur pertinence pour la requête originale.
- Fourniture du contexte : Les documents les mieux classés sont transmis au LLM comme contexte.
- Génération de réponse : Le LLM génère une réponse informée par les documents les plus pertinents.
Étapes pratiques d’implémentation
Exemple de workflow
Expansion de requête avec LLM :
def expand_query(query): prompt = f"Fournissez des requêtes associées pour : '{query}'" expanded_queries = llm.generate(prompt) expanded_query = ' '.join([query] + expanded_queries) return expanded_query
Récupération initiale :
documents = vector_db.retrieve_documents(expanded_query)
Rerangement de documents :
from sentence_transformers import CrossEncoder cross_encoder = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2') pairs = [[query, doc.text] for doc in documents] scores = cross_encoder.predict(pairs) ranked_docs = [doc for _, doc in sorted(zip(scores, documents), reverse=True)]
Sélection des meilleurs documents :
top_documents = ranked_docs[:top_k]
Génération de la réponse avec LLM :
context = '\n'.join([doc.text for doc in top_documents]) prompt = f"Répondez à la question suivante en utilisant le contexte fourni :\n\nQuestion : {query}\n\nContexte :\n{context}" response = llm.generate(prompt)
Supervision et optimisation
- Mesures de performance : Mesurer régulièrement l’efficacité de la récupération (précision, rappel, score de pertinence).
- Boucles de feedback : Intégrer les retours utilisateurs pour améliorer l’expansion de requête et le rerangement.
- Gestion des ressources : Optimiser l’utilisation des ressources, par exemple en mettant en cache les résultats ou en limitant le nombre de documents rerangés.
Cas d’usage et exemples
Exemple 1 : Améliorer les chatbots IA pour le support client
Scénario
Une entreprise utilise un chatbot IA pour traiter les requêtes clients sur ses produits et services. Les clients posent souvent des questions de différentes manières, avec des terminologies variées.
Défis
- Diversité du langage et de la terminologie des clients.
- Besoin de réponses précises et rapides pour maintenir la satisfaction client.
Implémentation
- Expansion de requête : Le chatbot élargit les requêtes clients avec des synonymes et termes associés.
Par exemple, pour « Comment réparer mon appareil ? », la requête est élargie avec « dépannage appareil », « réparer dispositif », etc. - Rerangement de documents : Les articles d’aide et FAQ récupérés sont rerangés pour prioriser les solutions les plus pertinentes. Les cross-encoders évaluent la pertinence de chaque document pour le problème du client.
Avantages
- Précision et pertinence accrues des réponses.
- Satisfaction client améliorée et réduction des temps de résolution.
Exemple 2 : Optimisation des outils de recherche assistés par IA
Scénario
Des chercheurs utilisent un assistant IA pour trouver des articles académiques, des données et des insights pertinents pour leurs travaux.
Défis
- Requêtes complexes avec une terminologie spécialisée.
- Volume important de littérature académique à parcourir.
Implémentation
- Expansion de requête : L’assistant utilise des LLM pour élargir les requêtes avec des concepts et synonymes associés.
Une requête comme « applications de l’intrication quantique » est élargie avec « usages de l’intrication quantique », « intrication en informatique quantique », etc. - Rerangement de documents : Les articles académiques sont rerangés selon leur pertinence pour la requête affinée.
Questions fréquemment posées
- Qu'est-ce que le rerangement de documents ?
Le rerangement de documents est le processus de réorganisation des documents récupérés après une recherche initiale en fonction de leur pertinence par rapport à la requête d'un utilisateur. Il garantit que les documents les plus pertinents et utiles sont priorisés, améliorant ainsi la qualité des recherches et chatbots alimentés par l'IA.
- Comment fonctionne le rerangement de documents dans les systèmes RAG ?
Dans les systèmes RAG, le rerangement de documents utilise des modèles comme les cross-encoders ou ColBERT pour évaluer la pertinence de chaque document par rapport à la requête de l’utilisateur, après une récupération initiale. Cette étape permet d’affiner et d’optimiser l’ensemble des documents fournis aux grands modèles de langage pour générer des réponses précises.
- Qu'est-ce que l'expansion de requête et pourquoi est-elle importante ?
L’expansion de requête est une technique de récupération d’information qui enrichit la requête utilisateur originale avec des termes ou expressions associés, augmentant le rappel et traitant l’ambiguïté. Dans les systèmes RAG, elle aide à récupérer des documents plus pertinents qui pourraient utiliser une terminologie différente.
- Quelles sont les principales méthodes de rerangement de documents ?
Les méthodes clés incluent les modèles neuronaux cross-encoder (qui encodent conjointement la requête et le document pour un score de haute précision), ColBERT (qui utilise une interaction tardive pour un score efficace), et des bibliothèques comme FlashRank pour un rerangement rapide et précis.
- Comment l'expansion de requête et le rerangement de documents fonctionnent-ils ensemble ?
L’expansion de requête élargit la recherche afin de récupérer davantage de documents potentiellement pertinents, tandis que le rerangement de documents filtre et affine ces résultats pour s’assurer que seuls les documents les plus pertinents sont transmis à l’IA pour la génération de réponses, maximisant à la fois le rappel et la précision.
Améliorez la récupération IA avec le rerangement de documents
Découvrez comment le rerangement de documents et l'expansion de requête peuvent améliorer la précision et la pertinence de vos chatbots IA et flux d'automatisation. Construisez une IA plus intelligente avec FlowHunt.