Skip to main content
IA & Machine Learning

Similarité Cosinus

Une mesure mathématique de similarité entre deux vecteurs basée sur le cosinus de l'angle entre eux.

Également appelé: Distance cosinus, Similarité angulaire, Similarité vectorielle

Définition

La similarité cosinus mesure à quel point deux vecteurs sont similaires en calculant le cosinus de l’angle entre eux. Les valeurs vont de -1 (opposé) à 1 (identique), avec 0 indiquant orthogonal (pas de similarité). C’est la métrique la plus courante pour comparer les embeddings de texte car elle se concentre sur la direction (sens) plutôt que la magnitude (longueur).

Pourquoi c’est important

La similarité cosinus est fondamentale pour la recherche et récupération IA moderne :

  • Direction sur magnitude — capture l’orientation sémantique, pas la longueur du vecteur
  • Comparaison normalisée — fonctionne avec embeddings de différentes magnitudes
  • Efficacité — rapide à calculer, surtout avec bibliothèques optimisées
  • Interprétabilité — facile à comprendre : 1 = même, 0 = non lié, -1 = opposé
  • Métrique standard — défaut dans la plupart des bases vectorielles et APIs d’embedding

Elle permet une comparaison significative de texte, images et autres représentations embedées.

Comment ça fonctionne

┌────────────────────────────────────────────────────────────┐
│                   SIMILARITÉ COSINUS                       │
├────────────────────────────────────────────────────────────┤
│                                                            │
│         FORMULE: cos(θ) = (A · B) / (||A|| × ||B||)        │
│                                                            │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                                                     │   │
│  │              B                                      │   │
│  │             /                                       │   │
│  │            /  θ = angle                             │   │
│  │           /                                         │   │
│  │          /                                          │   │
│  │         ──────────────► A                           │   │
│  │                                                     │   │
│  │  cos(0°) = 1.0    → Direction identique             │   │
│  │  cos(45°) ≈ 0.71  → Direction similaire             │   │
│  │  cos(90°) = 0.0   → Orthogonal (non lié)            │   │
│  │  cos(180°) = -1.0 → Direction opposée               │   │
│  │                                                     │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                            │
│  EXEMPLE DE CALCUL:                                        │
│  Vecteur A = [0.8, 0.6]                                    │
│  Vecteur B = [0.6, 0.8]                                    │
│                                                            │
│  A · B = (0.8 × 0.6) + (0.6 × 0.8) = 0.96                  │
│  ||A|| = √(0.8² + 0.6²) = 1.0                              │
│  ||B|| = √(0.6² + 0.8²) = 1.0                              │
│                                                            │
│  cos(θ) = 0.96 / (1.0 × 1.0) = 0.96 → Très similaire      │
│                                                            │
└────────────────────────────────────────────────────────────┘

Comparaison avec autres métriques:

MétriqueFormuleQuand utiliser
Cosinus1 - cos(θ)Embeddings normalisés, similarité texte
Euclidienne√Σ(a-b)²Distances absolues importantes
Produit scalaireΣ(a×b)Vecteurs déjà normalisés

Questions fréquentes

Q : Pourquoi cosinus au lieu de distance euclidienne ?

R : Cosinus ignore la magnitude du vecteur, se concentrant uniquement sur la direction. Deux documents sur “droit fiscal” devraient être similaires même si l’un est plus long avec plus grande magnitude d’embedding. Cosinus capture cela; Euclidienne les traite comme plus différents.

Q : Que signifie une similarité cosinus de 0.8 ?

R : Les vecteurs pointent dans presque la même direction—ils sont sémantiquement similaires. Pour embeddings texte, 0.8+ indique typiquement forte pertinence. Cependant, les seuils varient par modèle; calibrez avec vos données.

Q : La similarité cosinus peut-elle être négative ?

R : Oui, quand les vecteurs pointent dans des directions opposées. Avec la plupart des embeddings texte, les négatifs sont rares car les modèles produisent typiquement des vecteurs dans l’espace positif. Une valeur proche de 0 est plus courante pour contenu non lié.

Q : Similarité cosinus = distance cosinus ?

R : Ce sont des inverses. Distance cosinus = 1 - similarité cosinus. Les bases utilisent souvent “distance” (plus bas = plus similaire) tandis que les APIs rapportent “similarité” (plus haut = plus similaire). Vérifiez la convention de votre outil.

Termes associés


Références

Singhal (2001), “Modern Information Retrieval: A Brief Overview”, IEEE Data Engineering Bulletin. [3 000+ citations]

Manning et al. (2008), “Introduction to Information Retrieval”, Cambridge University Press. [20 000+ citations]

Mikolov et al. (2013), “Efficient Estimation of Word Representations in Vector Space”, arXiv. [35 000+ citations]

Johnson et al. (2019), “Billion-scale similarity search with GPUs”, IEEE Transactions on Big Data. [1 500+ citations]

References

Singhal (2001), “Modern Information Retrieval: A Brief Overview”, IEEE Data Engineering Bulletin. [3,000+ citations]

Manning et al. (2008), “Introduction to Information Retrieval”, Cambridge University Press. [20,000+ citations]

Mikolov et al. (2013), “Efficient Estimation of Word Representations in Vector Space”, arXiv. [35,000+ citations]

Johnson et al. (2019), “Billion-scale similarity search with GPUs”, IEEE Transactions on Big Data. [1,500+ citations]