La similarité cosinus (cosinus de Salton) : mesurer la proximité sémantique entre documents

Dans les systèmes de recherche d’information, il est nécessaire de disposer d’une méthode permettant de mesurer la proximité entre deux textes. Une fois les documents transformés en vecteurs dans un espace mathématique, il devient possible d’appliquer différentes mesures de distance ou de similarité. Parmi ces mesures, l’une des plus utilisées est la similarité cosinus, également appelée cosinus de Salton, du nom de Gerard Salton, chercheur pionnier dans le domaine de la recherche d’information.

Cette mesure permet d’évaluer la similarité entre deux vecteurs en calculant le cosinus de l’angle qui les sépare dans un espace vectoriel.

Le modèle vectoriel de l’information

Pour comprendre le cosinus de Salton, il faut d’abord comprendre le modèle vectoriel de la recherche d’information. Dans ce modèle, chaque document est représenté par un vecteur dans un espace multidimensionnel. Chaque dimension correspond à un terme du vocabulaire global du corpus.

La valeur associée à chaque dimension correspond généralement à une pondération du mot dans le document, souvent calculée à l’aide de méthodes comme TF-IDF.

Ainsi, un document peut être représenté comme un vecteur :

D1 = (0.2, 0.8, 0, 0.4, 0.1)

Un autre document peut être représenté par :

D2 = (0.1, 0.7, 0.2, 0.3, 0)

Ces vecteurs peuvent être visualisés comme des points dans un espace multidimensionnel.

Principe de la similarité cosinus

La similarité cosinus mesure l’angle entre deux vecteurs. Mathématiquement, elle est définie par la formule :

cos(θ) = (A · B) / (||A|| ||B||)

où :

  • A · B représente le produit scalaire des vecteurs
  • ||A|| et ||B|| représentent la norme (ou longueur) des vecteurs.

Le résultat varie généralement entre 0 et 1 dans les applications de recherche d’information.

Une valeur proche de 1 signifie que les deux vecteurs pointent dans une direction similaire, ce qui indique une forte similarité entre les documents.

Une valeur proche de 0 indique que les documents sont peu liés.

Interprétation géométrique

Dans un espace vectoriel, chaque document est représenté comme un vecteur partant de l’origine. La similarité cosinus mesure l’angle entre ces vecteurs.

Trois situations peuvent être distinguées :

Vecteurs alignés

cos(θ) ≈ 1

Les documents sont très similaires.

Vecteurs partiellement proches

cos(θ) ≈ 0.5

Les documents partagent certains termes ou concepts.

Vecteurs orthogonaux

cos(θ) ≈ 0

Les documents sont totalement indépendants.

Cette approche présente un avantage important : elle mesure la similarité directionnelle, indépendamment de la longueur des vecteurs. Ainsi, deux documents peuvent être considérés comme similaires même si l’un est beaucoup plus long que l’autre.

Application à la recherche d’information

Dans un moteur de recherche, la requête d’un utilisateur peut également être représentée sous forme de vecteur. La similarité cosinus est alors utilisée pour comparer ce vecteur avec les vecteurs des documents présents dans l’index. Les documents dont les vecteurs sont les plus proches de celui de la requête sont considérés comme les plus pertinents.

Ce principe constitue la base du modèle vectoriel de recherche d’information, largement utilisé dans les premiers moteurs de recherche modernes.

Limites du cosinus de Salton

Bien que très efficace, cette méthode présente certaines limites. Elle repose principalement sur la fréquence des mots, ce qui signifie qu’elle ne capture pas toujours les relations sémantiques profondes entre les termes. Par exemple, deux textes utilisant des synonymes différents peuvent être considérés comme peu similaires même s’ils parlent du même sujet.

De plus, cette approche ne prend pas en compte :

  • la structure grammaticale des phrases
  • l’ordre des mots
  • le contexte sémantique.

Ces limitations ont conduit au développement de méthodes plus avancées basées sur les embeddings et les modèles neuronaux du langage.

Du cosinus de Salton à la recherche vectorielle moderne

Malgré ses limites, la similarité cosinus reste une mesure fondamentale dans les systèmes modernes. Elle est encore utilisée dans de nombreux systèmes de recherche vectorielle, notamment pour comparer les embeddings produits par les modèles de langage.

Dans ces systèmes, les textes sont représentés par des vecteurs beaucoup plus riches que les vecteurs TF-IDF traditionnels, mais la mesure de proximité repose souvent toujours sur le même principe géométrique.

Ainsi, bien que les représentations du langage aient profondément évolué avec l’apparition des modèles neuronaux, le cosinus de Salton reste un outil central pour mesurer la similarité entre documents dans les espaces vectoriels.

Retour en haut