ForHosting KIT · Mathématiques

Calculateur de similarité cosinus

Mesurez à quel point deux vecteurs pointent dans la même direction, de -1 s'ils sont opposés à 1 s'ils coïncident. La longueur ne compte pas : 1, 2, 3 et 10, 20, 30 obtiennent un 1 parfait, idéal pour comparer textes, notes ou sondages. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Premier texte
1, 2, 3
Second texte
4, -5, 6
Vous obtenez
N
3
Produit scalaire
12
Norme de a
3,7416573868
Norme de b
8,7749643874

Vous envoyez les deux listes de composantes — plongements, poids de caractéristiques, comptages de termes, scores d'enquête — et elle renvoie le produit scalaire, les deux normes et un unique score de similarité entre -1 et 1 : 1 signifie direction identique, 0 signifie orthogonal et -1 signifie opposé.

Ce que la similarité cosinus mesure vraiment

La distance euclidienne indique à quelle distance se trouvent deux points ; la similarité cosinus indique s'ils pointent dans la même direction. Cette distinction compte plus qu'il n'y paraît. Deux documents peuvent avoir des longueurs très différentes et porter sur le même sujet ; deux profils de clients peuvent différer en dépenses absolues et partager la même forme de préférences.

En divisant le produit scalaire par le produit des normes, la similarité cosinus élimine l'échelle et ne conserve que la direction. Le résultat se situe toujours entre -1 et 1. Un score de 1 signifie que les vecteurs sont parfaitement alignés, 0 qu'ils sont orthogonaux et ne partagent aucune composante directionnelle, et -1 qu'ils sont exactement opposés.

Comme la norme est éliminée, un vecteur [1, 2, 3] et un vecteur [10, 20, 30] obtiennent un 1 parfait : ils décrivent les mêmes proportions à des intensités différentes, ce qui est précisément ce que recherchent la plupart des comparaisons de textes, de goûts ou de comportements.

Comment le score est calculé

Il accumule ensuite trois sommes en une seule passe : le produit scalaire Σ aᵢbᵢ et les normes au carré Σ aᵢ² et Σ bᵢ². La similarité est le produit scalaire divisé par le produit des racines carrées des normes, bornée dans [-1, 1] pour absorber le bruit des flottants et arrondie à douze décimales afin que la réponse soit stable octet par octet d'une machine à l'autre.

Si l'un des vecteurs a une norme nulle — toutes ses composantes sont nulles — la division est indéfinie et l'appel échoue avec un message explicite, car un vecteur nul n'a pas de direction à comparer. La réponse inclut également le produit scalaire, les deux normes, une classification lisible et les étapes intermédiaires pour vous permettre de vérifier chaque chiffre.

Où elle s'intègre en pratique

La similarité cosinus est la métrique de référence derrière la recherche sémantique, les moteurs de recommandation, la déduplication et le contrôle qualité des regroupements. Si vous stockez des plongements de texte pour la recherche, c'est le score qui classe les candidats ; si vous construisez des profils d'utilisateurs comme vecteurs de caractéristiques, c'est ainsi que vous trouvez les plus proches voisins.

Pour les équipes qui comparent de nombreux vecteurs, l'arrondi stable et les cas d'erreur explicites rendent son utilisation sûre dans les tests et les suites de régression : les longueurs différentes et les vecteurs nuls échouent bruyamment au lieu de produire des classements silencieusement faux.

Classer des candidats de plongements

Évaluez la proximité du plongement d'une requête avec chaque plongement de document et classez les résultats par similarité directionnelle, pas par longueur de vecteur.

Détecter les éléments quasi identiques

Marquez deux vecteurs de caractéristiques comme doublons lorsque leur similarité cosinus dépasse un seuil proche de 1, même si leurs comptages bruts diffèrent.

Comparer des profils de préférences

Trouvez des utilisateurs ayant la même forme de goûts en comparant des vecteurs normalisés de notes ou de comportements pour un moteur de recommandation.

Combien cela coûte-t-il ?

L'exécution est également gratuite dans votre navigateur sur cette page avec le même code.

Que signifie un score de 0 ?

Les vecteurs sont orthogonaux : ils ne partagent aucune composante directionnelle. Un score de 1 signifie direction identique et -1 des directions exactement opposées.

Que se passe-t-il avec un vecteur nul ?

Un vecteur dont toutes les composantes sont nulles n'a pas de direction, donc la similarité est indéfinie et l'appel échoue avec une erreur claire au lieu de renvoyer un nombre trompeur.

La norme du vecteur affecte-t-elle le score ?

Non. Le score ne mesure que la direction : [1, 2, 3] et [10, 20, 30] ont une similarité cosinus de 1 car leurs proportions sont identiques.

Quels formats d'entrée sont acceptés ?

Les composantes doivent être des nombres finis dans les limites publiées.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/math/cosine-similarity

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/math/cosine-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":[1,2,3],"b":[4,-5,6]}'
{
  "a": [
    1,
    2,
    3
  ],
  "b": [
    4,
    -5,
    6
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.cosine_similarity",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_abs1000000000000
max_dim1000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

L'API de similarité cosinus mesure à quel point deux vecteurs pointent dans la même direction, quelle que soit leur longueur. Elle s'exécute en une seule passe déterministe, de sorte que le nombre affiché dans la version gratuite du navigateur est exactement celui que renvoie l'API payante.

Comment le score est calculé

Le point de terminaison convertit les deux entrées en vecteurs de nombres finis, en acceptant aussi bien les tableaux JSON que le texte brut séparé par des virgules, et vérifie que les deux ont la même longueur — une comparaison entre vecteurs de dimensions différentes n'a aucun sens mathématique, elle est donc rejetée avec une erreur invalid_input claire au lieu d'être tronquée silencieusement.

Où elle s'intègre en pratique

La capacité s'exécute sur notre edge mondial sans rien conserver après la requête, et le même code déterministe qui alimente l'API payante s'exécute gratuitement dans votre navigateur sur cette page, ce qui vous permet de vérifier une paire de vecteurs en les collant avant d'intégrer l'appel dans un pipeline. Vous ne payez que lorsque vous l'automatisez : $0.002 par requête, sans surcoût par dimension dans les limites publiées.

Les vecteurs peuvent-ils avoir des longueurs différentes ?

Non. La similarité cosinus n'est définie qu'entre vecteurs de même dimension, donc les longueurs différentes sont rejetées avec une erreur invalid_input.

Consulter la documentation complète du KIT →