Nous utilisons des cookies pour améliorer votre expérience et mesurer le trafic. Politique des cookies

    Scalor
    CONVAINCS-NOUS →
    Glossaire/Retrieval & RAG

    BM25

    ranking lexical

    Algorithme de classement qui mesure la pertinence d'un document en fonction de la fréquence des mots recherchés, en ajustant l'importance des termes courants pour éviter les résultats non pertinents.

    Qu'est-ce que c'est

    Le BM25 (Best Matching 25) est l'évolution de l'algorithme classique TF-IDF et constitue, encore aujourd'hui, la référence absolue pour la recherche dite "lexicale" ou par mots-clés. Contrairement aux modèles d'Intelligence Artificielle plus récents basés sur des vecteurs (qui tentent de comprendre le sens), le BM25 se concentre sur la correspondance exacte des termes. Dans le contexte d'une PME organisant sa base de connaissances, le BM25 est le moteur qui garantit que, lors d'une recherche sur "facture d'électricité", les documents contenant exactement ces mots apparaissent en haut de la liste.

    Bien qu'il s'agisse d'un algorithme vieux de plusieurs décennies, il est extraordinairement robuste. Il est à la base de systèmes tels que Elasticsearch et Solr, et reste un composant indispensable dans les systèmes modernes de RAG (Retrieval-Augmented Generation), car il parvient à capturer des détails spécifiques (comme des numéros de série ou des références de produits) que les modèles de langage complexes ignorent parfois.

    Comment ça marche

    Le BM25 fonctionne via une formule mathématique qui évalue la pertinence d'un document pour une requête spécifique basée sur trois piliers fondamentaux :

    1. Fréquence du Terme (TF) : Plus un mot apparaît souvent dans un document, plus son score est élevé. Cependant, le BM25 applique ce que nous appelons la "saturation". Cela signifie que la différence entre un mot apparaissant 1 ou 2 fois est très valorisée, mais la différence entre 100 ou 101 apparitions est presque non pertinente. Cela évite que les documents répétant le même mot en boucle (spam) ne dominent les résultats.

    2. Fréquence Inverse du Document (IDF) : L'algorithme pénalise les mots qui apparaissent dans presque tous les documents de la base de données (comme "le", "de", "que") et donne beaucoup plus de poids aux mots rares et distinctifs (comme "transmuta" ou "SKU-990").

    3. Normalisation de la longueur du document : Les documents plus longs contiennent naturellement plus de mots, ce qui augmente la probabilité de contenir les termes de recherche par pur hasard. Le BM25 ajuste le score pour qu'un manuel de 500 pages ne l'emporte pas injustement sur un guide rapide de 2 pages pile parce qu'il a plus de volume de texte.

    Quand l'utiliser

    Pour une PME, le BM25 doit être le premier choix, ou du moins un composant central, dans plusieurs scénarios pratiques :

    • Catalogues de produits : Si un client recherche la référence exacte "XYZ-123", le BM25 est la méthode la plus fiable pour trouver ce produit. Les modèles d'IA basés sur le sens (embeddings) peuvent suggérer par erreur des produits similaires mais avec des références différentes.
    • Systèmes de gestion documentaire (DMS) : Pour rechercher des contrats par nom de client, numéro de TVA ou adresse, la précision lexicale est supérieure à la sémantique.
    • Moteurs de recherche internes : Lorsque la vitesse est critique et que le matériel est limité. Le BM25 est extrêmement léger computationnellement par rapport aux modèles de Deep Learning.
    • Recherche Hybride : Actuellement, la meilleure pratique consiste à combiner le BM25 avec la recherche vectorielle. Le BM25 garantit que les mots exacts sont trouvés, tandis que l'IA s'occupe des synonymes et du contexte.

    Erreurs courantes

    1. Ignorer la recherche hybride : De nombreuses entreprises abandonnent totalement le BM25 pour utiliser uniquement des bases de données vectorielles. Résultat ? Le système ne trouve plus les termes techniques exacts ou les codes produits, frustrant les utilisateurs. Le BM25 et l'IA doivent travailler ensemble.
    2. Manque de traitement de texte (Stemming) : Une erreur courante est de ne pas configurer le BM25 pour comprendre que "voitures" et "voiture" ont la même racine. En français, il est essentiel d'appliquer un analyseur qui supprime les suffixes pour que la recherche soit efficace.
    3. Ne pas configurer les Stopwords : Si vous ne filtrez pas les mots courants de la langue française, le moteur de recherche perd en efficacité, bien que le BM25 (via l'IDF) tente déjà d'atténuer ce problème.
    4. Se fier uniquement au BM25 pour les synonymes : Le BM25 est aveugle aux significations. Si vous recherchez "dépenses" et que le document indique "frais", le BM25 ne le trouvera pas. C'est là qu'il échoue s'il est utilisé isolément.

    Exemple pratique pour une PME

    Imaginons une entreprise française de distribution de matériel électrique avec 50 000 références au catalogue. Un technicien de maintenance est sur le terrain et doit trouver le manuel d'un disjoncteur spécifique. Il recherche "Disjoncteur Siemens 5SY41".

    • Sans BM25 (Recherche simple par base de données) : Le système peut renvoyer mille résultats contenant "Siemens" ou "Disjoncteur", sans ordre de pertinence, obligeant le technicien à chercher manuellement.
    • Avec BM25 : Le système identifie que "5SY41" est le terme le plus rare et le plus important (IDF élevé). Il place immédiatement en tête les manuels contenant cette référence exacte, même si le document est court. La saturation des termes garantit qu'un catalogue général mentionnant le mot "disjoncteur" 500 fois n'apparaisse pas avant le manuel spécifique que le technicien recherche.
    • Avec Recherche Hybride (BM25 + RAG) : Le système trouve le manuel (via BM25) et le chatbot IA lit le contenu pour répondre : "Pour ce disjoncteur, le couple de serrage recommandé est de 2,5 Nm".

    Questions fréquemment posées

    Q : Le BM25 est-il meilleur que la recherche vectorielle (Embeddings) ? R : Ce n'est ni meilleur ni pire, c'est différent. Le BM25 est excellent pour les mots exacts et les identifiants. La recherche vectorielle est excellente pour les concepts et les synonymes. L'idéal pour une PME est d'utiliser les deux en mode hybride.

    Q : Ai-je besoin de serveurs puissants pour faire tourner le BM25 ? R : Au contraire. C'est un algorithme extrêmement efficace qui fonctionne sur du matériel standard avec des temps de réponse en millisecondes, même avec des millions de documents.

    Q : Le BM25 fonctionne-t-il bien en français ? R : Oui, à condition que le moteur de recherche (comme Elasticsearch) soit configuré avec un analyseur français pour traiter les flexions de genre et de nombre des mots.

    Q : Puis-je utiliser le BM25 dans un système de RAG ? R : Vous le devriez. Intégrer le BM25 dans l'étape de 'retrieval' du RAG réduit considérablement les hallucinations en garantissant que l'IA reçoit les documents techniquement corrects basés sur des termes précis.

    Exemples pratiques

    • 01Récupérer le contrat spécifique du client 'LVMH' dans une base de données contenant des milliers de fichiers PDF.
    • 02Filtrer des pièces dans un catalogue e-commerce via la référence fabricant (ex : 'REF-9920-X').
    • 03Classer les résultats d'une FAQ interne pour que les articles contenant les termes exacts de la question apparaissent en premier.
    • 04Composant lexical d'un système RAG pour garantir que les termes techniques ne sont pas ignorés par l'IA.

    Vous voulez utiliser BM25 dans votre entreprise ?

    30 minutes, gratuit, sans engagement. Nous indiquons où l'intégrer.

    Diagnostic IA gratuit