Cosine Similarity
Mesure mathématique qui évalue le degré de similitude entre deux éléments, tels que des documents ou des produits, sur la base de l'orientation de leur signification numérique plutôt que sur leur longueur.
Qu'est-ce que c'est
La Similarité Cosinus (Cosine Similarity) est une technique statistique utilisée pour déterminer à quel point deux objets sont proches dans un espace multidimensionnel. Dans le contexte de l'Intelligence Artificielle moderne et du traitement du langage naturel, c'est l'outil qui permet à l'ordinateur de dire que la phrase « Comment puis-je exporter des factures vers Excel ? » est sémantiquement proche de « Guide d'extraction de données financières », même si les mots exacts sont différents.
Pour une PME, cette métrique est le moteur invisible derrière les systèmes de recommandation et les moteurs de recherche intelligents. Au lieu de chercher des mots-clés exacts (comme la commande 'Ctrl+F'), la similarité cosinus analyse le « contexte » et l'« intention » codés dans des vecteurs numériques (embeddings).
Comment ça marche
Imaginez que chaque concept ou document soit transformé en une flèche (vecteur) pointant dans une direction spécifique sur un graphique.
- La Direction est la Signification : Si deux flèches pointent dans des directions très proches, l'angle entre elles est petit. Cela signifie que les thèmes sont très similaires.
- Le Calcul : La métrique calcule le cosinus de l'angle entre ces deux vecteurs.
- Si la valeur est 1, l'angle est nul : les éléments ont une signification identique.
- Si la valeur est 0, les éléments sont orthogonaux : ils n'ont aucun rapport entre eux.
- Si la valeur est -1, ils sont opposés (bien qu'en IA textuelle, les valeurs soient rarement négatives).
Le grand avantage de cette approche par rapport à d'autres métriques (comme la Distance Euclidienne) est qu'elle ignore la magnitude. Si nous avons un manuel technique de 50 pages sur les « Pompes à Chaleur » et une petite brochure d'une page sur le même sujet, la similarité cosinus reconnaîtra qu'ils traitent tous deux du même sujet, tandis que d'autres métriques pourraient penser qu'ils sont différents simplement parce que l'un est beaucoup plus long que l'autre.
Quand l'utiliser
La Similarité Cosinus est le choix standard dans plusieurs scénarios pratiques de conseil en IA :
- Systèmes de RAG (Retrieval-Augmented Generation) : Lorsqu'un Chatbot doit lire les manuels PDF de votre entreprise pour répondre à un client, il utilise cette métrique pour trouver le paragraphe exact contenant la réponse.
- Classification d'Inventaire : Pour regrouper des produits d'un catalogue e-commerce qui n'ont pas de descriptions normalisées, facilitant ainsi la navigation de l'utilisateur.
- Détection de Doublons : Identifier si un ticket de support qui vient d'arriver est identique à un ticket résolu hier, permettant l'automatisation de la réponse.
- Systèmes de Recommandation B2B : Suggérer des pièces de rechange basées sur l'historique des commandes ou sur la compatibilité technique décrite en texte libre.
Erreurs courantes
- Ignorer la qualité des Embeddings : La similarité cosinus n'est qu'un calcul mathématique. Si le modèle d'IA qui a transformé le texte en chiffres (le modèle d'embedding) est faible ou ne comprend pas le langage technique, le résultat sera mauvais, quelle que soit la précision mathématique.
- Confondre similarité avec vérité : Ce n'est pas parce que deux documents sont sémantiquement proches que l'un est la réponse correcte à l'autre. C'est seulement une mesure de parenté thématique.
- Ne pas considérer le contexte de négation : Parfois, deux vecteurs peuvent être proches même si l'un dit « peut faire X » et l'autre « ne peut pas faire X », si le modèle de base n'est pas assez robuste pour capter la négation.
- Gaspiller des ressources sur de petites bases : Si votre entreprise n'a que 50 documents, une simple recherche par mots-clés peut suffire. La similarité cosinus brille lorsque nous avons des milliers de points de données à croiser.
Exemple pratique pour une PME
Imaginez une entreprise de distribution de matériel électrique avec un catalogue de 20 000 références. Un client écrit dans le chat du portail : « J'ai besoin de quelque chose pour protéger les circuits contre les pics de tension dans les environnements industriels ».
Le système de base de données traditionnel chercherait les mots exacts. Si le produit dans le catalogue est enregistré sous « Parafoudre Type 2 », la recherche classique échouerait.
Avec la Similarité Cosinus :
- La phrase du client est convertie en vecteur.
- Le système compare ce vecteur avec les vecteurs de tous les produits du catalogue.
- Le calcul identifie que « protéger contre les pics de tension » et « Parafoudre » pointent vers la même direction conceptuelle.
- Le système renvoie le bon produit en haut de la liste, convertissant une frustration client en vente immédiate.
Questions fréquemment posées
Q : Quelle est la différence entre la Cosine Similarity et la recherche par mots-clés ? R : La recherche par mots-clés exige une correspondance exacte des lettres. La Similarité Cosinus recherche la proximité des concepts, permettant de trouver des résultats même en utilisant des synonymes ou des termes techniques différents.
Q : Ai-je besoin d'une super machine pour calculer cela ? R : Non. Bien que le calcul de milliers de vecteurs semble lourd, il existe des technologies appelées Vector Databases (comme Pinecone ou Weaviate) qui effectuent des millions de ces comparaisons en quelques millisecondes sur un ordinateur ordinaire.
Q : Cette métrique fonctionne-t-elle pour les images ? R : Oui, à condition que les images aient été converties en vecteurs par un modèle d'IA visuelle. C'est ainsi que fonctionnent les recherches d'images similaires.
Q : La valeur de similarité peut-elle servir de score de confiance ? R : Oui, beaucoup d'entreprises définissent un seuil (ex : 0,85). Si la similarité est inférieure à cette valeur, le système suppose qu'il n'a pas trouvé d'information pertinente et préfère dire « je ne sais pas » plutôt que d'inventer une réponse.
Exemples pratiques
- 01Comparer la question d'un client avec une base de données de FAQ pour trouver la réponse la plus probable.
- 02Regrouper des factures de différents fournisseurs utilisant des descriptions distinctes pour le même service.
- 03Recommander des articles de blog similaires en se basant sur ce que l'utilisateur vient de lire.
- 04Identifier les CV qui se rapprochent le plus de la description d'un poste dans un cabinet de conseil.
Vous voulez utiliser Cosine Similarity dans votre entreprise ?
30 minutes, gratuit, sans engagement. Nous indiquons où l'intégrer.
Diagnostic IA gratuit