Coefficient de Dice
night et nacht obtiennent 0,25 : chaque mot compte 4 paires de lettres et ils ne partagent que ht. Le coefficient de Dice va de 0, sans paire commune, à 1, textes identiques, un nombre simple pour repérer noms et titres quasi identiques. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte a
- night
- Texte b
- nacht
- Coefficient
- 0,25
- Pourcentage
- 25
- Bigrammes de A
- 4
- Bigrammes de B
- 4
Le coefficient de Sørensen–Dice est une mesure classique de chevauchement d'ensembles qui s'applique proprement aux chaînes lorsque chacune est représentée comme le multiensemble de ses bigrammes de caractères — chaque paire de caractères adjacents de gauche à droite. Contrairement à la distance d'édition, qui compte insertions et suppressions, Dice renvoie une similarité bornée dans l'intervalle fermé de zéro à un, afin que vous puissiez fixer des seuils sans rééchelonner selon la longueur. Cette capacité accepte deux textes, normalise éventuellement la casse, construit les multiensembles de bigrammes et renvoie le coefficient avec les comptages de bigrammes et le total des paires partagées. Des chaînes identiques marquent toujours un ; une chaîne de moins de deux caractères face à un partenaire différent marque zéro car aucun bigramme ne peut se chevaucher.
Ce que mesure le coefficient de Dice sur bigrammes de caractères
Sørensen–Dice a été défini pour des ensembles finis comme le double de la taille de l'intersection divisé par la somme des tailles des ensembles. Pour la comparaison floue de chaînes, les jetons naturels sont les bigrammes de caractères : pour une chaîne de longueur n vous formez les n moins un paires ordonnées de caractères consécutifs, en comptant les doublons lorsque la même paire se répète.
Cette vue multiensemble compte pour les chaînes aux lettres répétées ou aux motifs rythmiques, car une paire partagée ne peut contribuer qu'au minimum de ses comptes dans chaque texte. La formule est donc dice égal à deux fois la taille de l'intersection multiensemble, divisée par la somme des deux comptages de bigrammes. Un score de un signifie que les deux sacs multiensembles sont identiques au sens des bigrammes — ce qui vaut lorsque les chaînes normalisées sont égales.
Un score de zéro signifie qu'elles ne partagent aucune paire adjacente, fréquent pour de courts mots sans lien. Les valeurs intermédiaires quantifient le chevauchement partiel : night versus nacht partage la paire ht une fois parmi quatre bigrammes de chaque côté lorsque les longueurs sont prises en compte, produisant un coefficient moyen plutôt qu'une correspondance binaire.
Comme la mesure est symétrique et libre d'échelle au sens où numérateur et dénominateur croissent avec la longueur, elle est largement utilisée pour le rapprochement d'enregistrements, la recherche tolérante aux fautes de frappe et la détection de quasi-doublons lorsque vous avez besoin d'un seul nombre comparable sans entraîner de modèle.
Où la similarité de Dice apporte de la valeur dans les produits et pipelines
La recherche produit et l'hygiène de catalogue utilisent un calculateur du coefficient de Dice pour signaler des titres quasi-doublons qui diffèrent d'un mot permuté ou d'une lettre manquante sans déployer d'embeddings. Les outils de support client comparent des objets de tickets en texte libre à une banque de modèles connus et acheminent les scores élevés vers des macros.
Les tâches de nettoyage de données en CRM et logistique apparient noms de villes, SKU et noms de personnes entre systèmes qui divergent sur la casse ou les diacritiques lorsque le repli de casse est activé. Une validation échouée ne consomme pas de solde. Gardez des chaînes modestes pour un usage interactif, épinglez coefficient à douze décimales dans les tests, et vous obtenez des scores flous reproductibles pour des démos de devoirs, plugins LMS et workers en bordure sans importer une bibliothèque complète de correspondance floue.
Cas d’usage
Contrôle de titres et SKU quasi-doublons
Notez des titres de produits ou des SKU de catalogue les uns contre les autres avec Dice sur bigrammes de caractères et signalez les paires au-dessus d'un seuil choisi avant fusion ou publication.
Recherche et saisie semi-automatique tolérantes aux fautes
Classez des chaînes de requête contre un dictionnaire ou des recherches récentes avec un score Dice de 0 à 1 pour faire remonter les quasi-correspondances sans régler la distance d'édition par longueur.
Rapprochement d'enregistrements et nettoyage CRM
Comparez noms, villes ou champs en texte libre entre imports avec repli de casse optionnel pour regrouper les correspondances floues avant relecture humaine.
Questions fréquentes
Qu'est-ce que le coefficient de Sørensen–Dice pour les chaînes ?
C'est 2 fois l'intersection multiensemble des bigrammes de caractères divisée par la somme des deux comptages de bigrammes. Le résultat est une similarité entre 0 et 1 pour la comparaison floue de chaînes.
Quel score obtiennent des chaînes identiques ou vides ?
Des chaînes identiques (après repli de casse optionnel) renvoient toujours coefficient 1. Deux chaînes vides sont identiques et marquent 1 ; vide contre non vide marque 0.
Est-ce la même chose que la similarité sémantique de texte ?
Non. Cette capacité n'utilise que des bigrammes de caractères — elle n'embarque pas le sens. Pour une proximité de signification, utilisez un outil de similarité sémantique ; pour l'orthographe floue et la forme de surface, Dice est l'outil adapté.
Comment le coefficient de Dice est-il calculé ?
C'est le double du nombre de paires de lettres communes, divisé par le total des paires des deux textes. Night et nacht ont 4 paires chacun et en partagent une, ht, d'où 2 divisé par 8, soit 0,25.
Les majuscules modifient-elles le score ?
Par défaut oui, donc Night et night ne sont pas identiques. Si vous désactivez la distinction de casse, les deux textes passent en minuscules avant la comparaison des paires, et Night et night obtiennent 1.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/str/dice-coefficient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text_a":"night","text_b":"nacht"}'const res = await fetch("https://api.kit.forhosting.com/str/dice-coefficient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text_a": "night",
"text_b": "nacht"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/dice-coefficient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text_a": "night",
"text_b": "nacht"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/dice-coefficient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text_a":"night","text_b":"nacht"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text_a":"night","text_b":"nacht"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/dice-coefficient", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text_a": "night",
"text_b": "nacht"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.dice_coefficient",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Contrat d'entrée, options et forme de la réponse
Chaque chaîne peut être vide ; vide contre vide est traité comme identique et renvoie le coefficient un, tandis que vide contre non vide renvoie zéro. Envoyez en POST un corps JSON avec deux champs chaîne obligatoires : text_a et text_b (les alias a, b, string_a, string_b, left, right, s1, s2, first et second sont acceptés par le même solveur pur). L'option case_sensitive vaut true par défaut, de sorte que Night et night diffèrent ; mettez-la à false pour mettre les deux côtés en minuscules avec toLowerCase du standard du langage avant l'extraction des bigrammes. Des valeurs non chaînes pour text_a ou text_b, des nulls et un case_sensitive non booléen lèvent invalid_input et ne sont pas facturés. En cas de succès le corps renvoie text_a, text_b et case_sensitive ; coefficient est le score de Dice arrondi à douze décimales pour des goldens stables ; percent est coefficient multiplié par cent avec six chiffres fractionnaires pour l'affichage ; bigrams_a et bigrams_b sont les tailles du multiensemble (longueur moins un lorsque la longueur est au moins un) ; shared_bigrams est la taille de l'intersection multiensemble utilisée au numérateur ; et formula reformule l'identité en ASCII simple. Associez le coefficient à votre propre seuil — par exemple exigez coefficient supérieur ou égal à zéro virgule huit pour une correspondance souple — car l'API n'invente jamais de règle métier de réussite ou d'échec. Il n'y a ni requête réseau, ni modèle de langage, ni graine aléatoire : les mêmes entrées produisent toujours le même payload sur le chemin gratuit du navigateur et sur le Worker en bordure.
Où la similarité de Dice apporte de la valeur dans les produits et pipelines
Comme l'implémentation est parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.
Questions techniques
Comment appeler l'API de similarité par coefficient de Dice ?
Envoyez un JSON avec text_a et text_b (ou les alias a et b). Optionnellement mettez case_sensitive à false. La réponse inclut coefficient, percent, comptages de bigrammes et shared_bigrams.
Combien coûte le calculateur du coefficient de Dice ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.