ForHosting KIT · Texte et IA

Calculateur de similarité de Jaro pour deux chaînes

MARTHA et MARHTA obtiennent 0,9444444444444445, tout près de 1 alors que deux lettres ont échangé leur place. Jaro récompense les caractères communs dans un ordre compatible au lieu de compter les modifications, ce qui convient aux noms et codes courts. 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
MARTHA
Deuxième
MARHTA
Vous obtenez
Similarité
0,9444444444

La similarité de Jaro mesure à quel point deux chaînes se ressemblent en recherchant les caractères identiques situés à une distance limitée, puis en vérifiant si ces caractères conservent un ordre compatible. Le résultat va de zéro, en l’absence de correspondance admissible, à un pour des chaînes identiques. Cette mesure convient particulièrement aux noms courts, libellés, identifiants et autres valeurs pour lesquels une substitution mineure ou une transposition ne doit pas écarter automatiquement une correspondance possible.

Comprendre la signification du score de Jaro

La similarité de Jaro est une mesure fondée sur les caractères et destinée au rapprochement approximatif. Elle ne compte pas les insertions, suppressions ou substitutions nécessaires pour transformer une valeur en une autre. Elle repère plutôt les caractères égaux dans une fenêtre dont la largeur dépend de la chaîne la plus longue.

Elle combine ensuite trois proportions : la part reconnue dans la première chaîne, celle reconnue dans la seconde et la part des caractères appariés qui conservent un ordre compatible. Un résultat égal à un signifie que les chaînes sont identiques selon cette procédure ; zéro signifie qu’aucun caractère n’a satisfait aux conditions. Les valeurs intermédiaires expriment divers degrés de ressemblance, mais l’outil ne décide pas si un score constitue une correspondance.

Vous devez choisir ce seuil selon le coût des faux positifs et des faux négatifs. Les noms, codes compacts et libellés courts profitent souvent de Jaro, car la méthode valorise les caractères communs et leur ordre sans transformer chaque léger déplacement en opération d’édition indépendante.

Préparer les chaînes et interpréter les résultats uniformément

La comparaison est exacte et sensible à la casse. Une majuscule et une minuscule sont des caractères différents ; les espaces et la ponctuation interviennent également dans le calcul. L’implémentation compare des points de code Unicode : de nombreux emoji supplémentaires sont donc traités comme un seul élément plutôt que comme deux unités UTF-16.

Elle n’effectue toutefois aucune normalisation Unicode. Un caractère précomposé peut ainsi différer d’une lettre de base suivie d’un signe combinant, même si leur apparence est identique. Préparez les deux entrées de la même manière avant l’appel si votre processus doit harmoniser la casse, les espaces, les accents ou les formes Unicode.

En laissant ces choix hors du calculateur, vous rendez le comportement explicite et évitez de modifier silencieusement les identifiants à conserver littéralement. Deux chaînes vides obtiennent un, puisqu’elles sont identiques ; une chaîne vide comparée à une chaîne non vide obtient zéro. Pour un lot de données, appliquez une politique unique à toute la collection et consignez-la avec le seuil retenu.

Intégrer le score avec prudence dans un rapprochement

Un score de Jaro constitue un indice dans un processus de rapprochement, et non la preuve que deux enregistrements désignent la même entité. Commencez par des paires représentatives et étiquetées issues de vos propres données, calculez leurs scores, puis observez le chevauchement entre vraies et fausses correspondances. Vous pourrez alors définir un seuil ou une zone de révision adapté aux conséquences d’une mauvaise décision.

Pour des clients ou des fournisseurs, associez le score textuel à des champs indépendants, par exemple un identifiant interne stable, un élément d’adresse vérifié ou une date. La méthode est symétrique : inverser les deux chaînes produit le même résultat, ce qui facilite le classement des candidats et la déduplication. Elle analyse la proximité et l’ordre des caractères, mais ne comprend ni le sens, ni les synonymes, ni la translittération, ni la phonétique.

Une autre technique conviendra mieux aux textes longs ou à la similarité sémantique.

Classer des noms potentiellement dupliqués

Évaluez des paires de clients, fournisseurs ou contacts avant de confier les cas ambigus à une personne.

Comparer des libellés courts de catalogue

Repérez les produits ou catégories qui ne diffèrent que par une petite faute ou une transposition locale.

Tester des règles de rapprochement approximatif

Produisez des scores déterministes sur des exemples étiquetés afin de choisir un seuil propre à votre application.

Dans quel intervalle se situe le résultat ?

La similarité se situe entre zéro et un. Un correspond à des chaînes identiques, et zéro à l’absence de caractères appariés admissibles.

La comparaison est-elle sensible à la casse ?

Oui. Convertissez les deux chaînes dans une même casse avant l’envoi si votre politique doit ignorer cette différence.

Les accents ou la ponctuation sont-ils supprimés ?

Non. Chaque point de code Unicode intervient tel qu’il est fourni, y compris les espaces, la ponctuation et les caractères accentués.

La similarité de Jaro équivaut-elle à Jaro-Winkler ?

Non. Jaro-Winkler ajoute un ajustement fondé sur le préfixe. Cette capacité renvoie uniquement la similarité de Jaro non ajustée.

Quel score faut-il considérer comme une correspondance ?

Il n’existe aucun seuil universel. Choisissez-le avec des données étiquetées représentatives et prévoyez une zone de révision pour les paires incertaines.

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/str/jaro-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/str/jaro-similarity \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first":"MARTHA","second":"MARHTA"}'
{
  "first": "MARTHA",
  "second": "MARHTA"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.jaro_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.

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.

Intégrer le score avec prudence dans un rapprochement

Les requêtes API appliquent ce même calcul déterministe et coûtent $0.002, pour des validations reproductibles et des processus auditables.

Combien coûte une comparaison par API ?

Chaque requête API coûte $0.002.

Consulter la documentation complète du KIT →