Qu'est-ce que la similarité vectorielle ?

La similarité vectorielle mesure à quel point deux vecteurs se ressemblent dans un espace multidimensionnel. Les vecteurs sont des listes ordonnées de nombres qui représentent des points de données — ils apparaissent dans les embeddings d'apprentissage automatique, les systèmes de recommandation, le traitement du langage naturel, la reconnaissance d'images et l'informatique scientifique. Comparer deux vecteurs vous indique à quel point les points de données sous-jacents sont proches ou liés.

Deux concepts fondamentaux sont utilisés :

  • Similarité : Un score indiquant à quel point deux vecteurs se ressemblent. Les valeurs plus élevées signifient généralement une plus grande similarité (par exemple, une similarité cosinus de 1 signifie une direction identique).
  • Distance : Une mesure de l'éloignement de deux vecteurs. Les valeurs plus basses signifient généralement une plus grande similarité (par exemple, une distance euclidienne de 0 signifie des vecteurs identiques).

Description de l'outil

Cet outil calcule la similarité ou la distance entre deux vecteurs numériques en utilisant plus de 50 méthodes bien connues provenant de la théorie de l'information, des statistiques et de la géométrie. Entrez deux vecteurs, choisissez une méthode dans l'onglet similarité ou distance, et le résultat est calculé instantanément dans votre navigateur.

Exemples

Entrée

Vecteur A : 1, 2, 3
Vecteur B : 4, 5, 6
Méthode Résultat
Similarité cosinus 0.9746318461970762
Distance euclidienne 5.196152422706632
Distance de Manhattan 16.5

Formats d'entrée acceptés

Tous les éléments suivants sont équivalents :

1, 2, 3
[1, 2, 3]
(1 2 3)
1;2;3

Fonctionnalités

  • 50+ méthodes — choisissez parmi les distances (euclidienne, Manhattan, Chebyshev, cosinus, Kullback-Leibler, Jensen-Shannon, et plus) ou les similarités (cosinus, Jaccard, Dice, Tanimoto, et plus)
  • Entrée flexible — accepte les valeurs séparées par des virgules, des espaces ou des points-virgules avec ou sans crochets
  • Résultats instantanés — tous les calculs s'exécutent côté client sans envoi de données à un serveur

Méthodes supportées

Méthodes de similarité

Méthode Description
Cosinus Mesure l'angle entre deux vecteurs ; largement utilisée en NLP et dans les systèmes de recommandation
Kumar-Hassebrook Similarité généralisée combinant Jaccard et cosinus
Dice Deux fois l'intersection divisée par la somme des comptages d'éléments
Tanimoto Coefficient Jaccard étendu pour les vecteurs continus
Intersection Somme des minimums élément par élément
Czekanowski Rapport de deux fois la somme des minimums à la somme totale
Motyka Intersection divisée par la somme de tous les éléments
Kulczynski Moyenne harmonique des rapports de précision et de rappel
Accord au carré Basé sur les racines carrées des produits d'éléments
Pearson Coefficient de corrélation linéaire entre les deux vecteurs

Méthodes de distance

Méthode Description
Euclidienne Distance en ligne droite dans un espace n-dimensionnel
Euclidienne au carré Distance euclidienne sans la racine carrée
Manhattan (City Block) Somme des différences absolues élément par élément
Chebyshev Différence absolue maximale sur toutes les dimensions
Canberra Distance Manhattan pondérée sensible aux valeurs proches de zéro
Sørensen Somme des différences absolues divisée par la somme de toutes les valeurs
Gower Moyenne normalisée des différences absolues
Soergel Rapport des différences absolues aux maximums élément par élément
Lorentzian Somme des logarithmes naturels des différences absolues plus un
Clark Distance pondérée utilisant les différences absolues sur les sommes
Wave Hedges Somme des différences absolues divisée par les maximums élément par élément
Czekanowski Forme de distance du coefficient Czekanowski
Motyka Forme de distance du coefficient Motyka
Kulczynski Forme de distance du coefficient Kulczynski
Tanimoto Forme de distance du coefficient Tanimoto
Ruzicka Complément de la similarité Ruzicka
Produit interne Produit scalaire négatif comme mesure de distance
Moyenne harmonique Distance basée sur les moyennes harmoniques des paires d'éléments
Jaccard Proportion de composants non correspondants
Dice Forme de distance du coefficient Dice
Fidélité Basée sur la racine carrée des produits d'éléments (liée à Bhattacharyya)
Bhattacharyya Mesure le chevauchement entre deux distributions de probabilité
Hellinger Racine carrée de la distance Bhattacharyya
Matusita Racine carrée de la moitié de la somme des différences au carré des racines carrées
Accord au carré Forme de distance du coefficient Accord au carré
Pearson Forme de distance du coefficient de corrélation Pearson
Neyman Divergence de type chi-carré
Au carré Distance chi-carré au carré
Symétrique probabiliste Version symétrique de la divergence chi-carré
Divergence Distance au carré doublement pondérée
Additive symétrique Moyenne des divergences chi-carré de Neyman et Pearson
Kullback-Leibler Divergence théorique de l'information entre les distributions
Jeffreys Divergence Kullback-Leibler symétrique
Divergence K Divergence asymétrique basée sur la distribution moyenne
Topsøe Deux fois la divergence Jensen-Shannon
Jensen-Shannon Version lissée et symétrique de Kullback-Leibler
Différence Jensen Basée sur l'inégalité de Jensen pour les fonctions convexes
Taneja Divergence moyenne arithmétique-géométrique
Kumar-Johnson Basée sur les différences au carré des puissances paires
Intersection Complément de la similarité d'intersection
Moyenne (City Block + Chebyshev) Moyenne des distances Manhattan et Chebyshev

Comment ça marche

L'outil analyse chaque entrée de vecteur en une séquence de nombres, supprime les crochets optionnels et divise sur les virgules, les espaces ou les points-virgules. Il transmet ensuite les deux tableaux à la fonction sélectionnée de la bibliothèque ml-distance, qui effectue le calcul en JavaScript pur. Les deux vecteurs doivent avoir le même nombre de dimensions ; sinon, l'outil affiche une erreur de validation.

Limitations

  • Certaines méthodes (par exemple, Kullback-Leibler, Bhattacharyya) exigent que toutes les valeurs soient strictement positives et somment à 1 (distributions de probabilité). L'utilisation de vecteurs arbitraires peut produire Infinity ou NaN, que l'outil traite comme une erreur de calcul.
  • Les très grands vecteurs (des milliers de dimensions) sont supportés mais peuvent causer un léger délai selon la méthode choisie.