Recherche hybride
Dernière mise à jour:
Qu'est-ce que la recherche hybride
La recherche par mots-clés, généralement fondée sur des index plein texte et des fonctions de classement comme BM25, excelle sur les correspondances exactes : références produit, noms, sigles et expressions entre guillemets. La recherche sémantique, fondée sur les embeddings, excelle sur le sens : synonymes, reformulations et questions approximatives. Chacune a des angles morts que l'autre couvre.
La recherche hybride exécute les deux méthodes pour la même requête et combine leurs résultats. On obtient une seule liste de passages, bien classée à la fois pour les termes exacts et pour l'intention.
Comment ça fonctionne
La requête est envoyée à deux moteurs de récupération. Le moteur par mots-clés classe les passages selon la correspondance de leurs mots avec la requête. Le moteur vectoriel les classe selon la similarité des embeddings. Les deux listes sont ensuite fusionnées, le plus souvent avec l'une de ces méthodes :
- Reciprocal rank fusion (RRF) : chaque passage reçoit un score selon sa position dans chaque liste, de sorte que ceux bien classés des deux côtés remontent.
- Pondération des scores : les scores normalisés des deux moteurs sont additionnés avec des poids choisis.
- Reclassement : un modèle distinct réordonne les candidats fusionnés selon leur pertinence pour la question.
Un exemple
Le chatbot d'un revendeur d'électronique reçoit la question « Le XR-220 fonctionne-t-il avec les chargeurs USB-C ? ». Le moteur par mots-clés trouve la fiche produit, car elle contient « XR-220 ». Le moteur vectoriel trouve un article général sur la compatibilité des chargeurs. Avec la recherche hybride, la fiche produit arrive en tête et l'article reste disponible comme contexte complémentaire.
La recherche sémantique seule aurait pu renvoyer la fiche d'un modèle proche. La recherche par mots-clés seule passerait à côté de l'article s'il ne cite jamais le numéro de modèle.
Pourquoi c'est important pour les chatbots d'entreprise
Les questions des clients mêlent deux types de langage : des formulations courantes et des identifiants exacts. Si la récupération manque le bon passage, même un modèle de langage performant ne peut pas répondre correctement et risque de combler le vide par une supposition. La recherche hybride limite ces ratés et rend les réponses fondées sur les sources plus fiables.
La rank fusion est un choix courant pour les chatbots, car les scores par mots-clés et les scores de similarité n'ont pas la même échelle et se comparent mal. Raisonner sur les positions plutôt que sur les scores bruts évite ce problème et demande peu de réglages.
Comment intoCHAT l'utilise
intoCHAT utilise une récupération hybride pour chaque question. Il lance une recherche vectorielle et une recherche plein texte par mots-clés sur vos contenus d'entraînement, puis fusionne les deux classements par rank fusion. Les réponses de vos paires question-réponse priment sur les autres sources, et les sources marquées d'une étoile remontent dans le classement. Rien à configurer : vous améliorez les résultats en améliorant vos contenus.