Similarité cosinus (Cosine Similarity)
Métrique mathématique qui mesure l'angle entre deux vecteurs dans un espace multidimensionnel. Elle indique le degré de proximité sémantique entre deux textes, allant de -1 (opposés) à +1 (synonymes complets), en ignorant la longueur des phrases.
1. Vue d'ensemble du concept et de sa finalité
Imaginez deux boussoles. Si les deux aiguilles pointent vers le nord, l'angle entre elles est nul et leurs directions coïncident parfaitement. Si l'une pointe vers le nord et l'autre vers l'est, l'angle est de 90 degrés.
La similarité cosinus (Cosine Similarity) agit comme une telle boussole pour les réseaux de neurones :
- Elle prend deux vecteurs (les coordonnées numériques représentant le sens de deux phrases).
- Elle mesure l'angle qui les sépare dans l'espace sémantique.
- Elle retourne une valeur comprise entre
0.0et1.0(ou entre -1 et 1), où 1.0 indique une affinité sémantique absolue.
C'est une formule mathématique fondamentale sur laquelle reposent la recherche par fichiers dans ChatGPT, Notion AI ainsi que les bases de données vectorielles.
2. Géométrie intuitive du sens
^ Concept de la nourriture
│
│ / Texte A : « Acheter du pain frais »
│ /
│ / ) angle proche de 0° -> cosinus ≈ 0,96
│ /
│ /---- Texte B : « Une viennoiserie de boulangerie »
│
│
│─────────────────────────────> Concept de l'informatique (IT)
│ Texte C : « Écrire un script en Python »
│ (angle de 90° -> cosinus ≈ 0,04)
3. Pourquoi l'angle prime sur la longueur absolue
En géométrie traditionnelle, plus une ligne est longue, plus son extrémité est éloignée. Si nous mesurions la distance euclidienne classique :
- Le mot
« voiture »(vecteur court). - Un article Wikipédia de 10 pages sur la construction automobile (vecteur très long contenant de nombreux mots).
La distance euclidienne considérerait ces éléments comme distincts, simplement parce que l'un est court et l'autre long. Or, le cosinus évalue uniquement la direction vectorielle des idées, reconnaissant que les deux textes sont entièrement dédiés au transport.
4. Échelle comparative des scores de similarité cosinus
| Score de similarité | Signification | Exemple de paire de phrases |
|---|---|---|
| 0.90 – 1.00 | Synonyme direct ou doublon | « Comment changer une roue » ↔ « Instructions de montage d'un pneu » |
| 0.75 – 0.89 | Lien contextuel étroit | « Carte de crédit » ↔ « Taux d'intérêt sur un prêt » |
| 0.40 – 0.70 | Lien tangentiel lointain | « Smartphone Apple » ↔ « Batterie pour véhicule électrique » |
| 0.00 – 0.30 | Absence totale de lien | « Culture de fraises » ↔ « Clés SSH cryptographiques » |
5. Conclusion pratique pour l'utilisateur
Lorsque vous configurez la recherche dans une base de connaissances ou un chatbot d'entreprise, vous rencontrez souvent le paramètre similarity_threshold = 0.75. Vous savez désormais qu'il s'agit d'un filtre basé sur le cosinus, qui exclut tous les documents dont l'angle de divergence par rapport à la requête utilisateur dépasse la marge d'erreur tolérée.
FAQ: Similarité cosinus (Cosine Similarity)
Termes associés
Embeddings expliqués (Comment le texte devient des nombres)
Technologie fondamentale de transformation de mots, phrases ou images en listes multidimensionnelles de nombres (vecteurs). Permet à l'ordinateur de mesurer mathématiquement la proximité sémantique entre différentes idées et concepts.
Bases de données vectorielles (Vector DBs & ANN Search)
SGBD spécialisées et extensions (Qdrant, pgvector, Milvus, Chroma, Turso), optimisées pour le stockage de millions de vecteurs multidimensionnels et la recherche approximative des plus proches voisins (Approximate Nearest Neighbors) ultra-rapide.
Recherche sémantique (recherche par sens, et non par caractères)
Technologie de recherche d'information basée sur le contenu conceptuel de la requête, plutôt que sur une correspondance exacte des lettres ou des mots-clés. Elle comprend les synonymes, les reformulations, les fautes de frappe et les questions abstraites en langage naturel.