Calculateur de similarité de Jaccard pour texte | Mots et n-grammes
Transformez deux textes en ensembles et calculez l'indice de Jaccard J = |A ∩ B| / |A ∪ B| ainsi que sa distance 1 − J. Basculez à la volée entre une tokenisation par mot, 2-gramme ou 3-gramme et le traitement de la casse.
💡 Mesurer le recouvrement sans tenir compte de l'ordre
Quand on cherche à savoir à quel point deux passages se ressemblent, les distances qui parcourent le texte caractère par caractère laissent souvent passer un copier-coller qui s'est contenté de réordonner les mots. L'indice de Jaccard traite chaque texte comme un ensemble d'éléments et ne pose qu'une question : quelle part du vocabulaire commun les deux partagent-ils ? Cette vision ensembliste est l'outil de base des contrôles de plagiat, du repérage d'articles dupliqués et du filtrage des quasi-doublons dans les index de recherche. Elle est précise pour repérer un recouvrement exact ou quasi exact, mais reste, par construction, insensible à la reformulation.
L'outil propose trois façons de construire l'ensemble. Le mode mot découpe selon les espaces et la ponctuation et conserve lettres, chiffres et caractères CJK selon leurs catégories Unicode. Les modes 2-gramme et 3-gramme glissent caractère par caractère, ce qui garde du sens pour les textes courts et pour les écritures sans espaces comme le chinois, le japonais ou le coréen. En passant la même paire dans les trois modes, vous observez sur un seul écran comment le recouvrement évolue du niveau du mot au niveau du caractère.
🧐 Questions fréquentes
En quoi Jaccard diffère-t-il de la similarité cosinus ? Jaccard est ensembliste et ne regarde que la présence d'un élément, ce qui le rend précis et peu sujet aux faux positifs sur les correspondances quasi exactes. La similarité cosinus vectorise la fréquence des termes et mesure l'angle entre documents, donc elle capte la reformulation. En pratique : Jaccard quand vous visez la précision, cosinus quand il vous faut un rappel qui résiste à la réécriture.
Pourquoi le mode mot renvoie-t-il 1 élément sur un texte CJK ? Le mode mot découpe selon les espaces et la ponctuation ; une langue sans espaces se réduit alors à un seul élément. Pour le chinois, le japonais ou le coréen, choisissez le 2-gramme ou le 3-gramme : l'ensemble se construit caractère par caractère et le score redevient parlant.
Que signifie la distance de Jaccard ? La distance vaut 1 − indice et exprime l'écart entre les deux textes sur une échelle de 0 à 1. Un indice plus élevé indique plus de ressemblance ; une distance plus grande, plus de différence. Lorsque les deux ensembles sont vides, l'indice est défini comme 0.
Faut-il préférer le 2-gramme ou le 3-gramme ? Pour des entrées courtes ou des comparaisons d'un ou deux mots, le 2-gramme produit plus d'éléments et fait ressortir les petites différences. Pour des textes longs, le 3-gramme réduit le bruit et reste plus stable. Le plus sûr est d'essayer les deux et de regarder l'indice bouger.
📚 De la botanique à la fouille de textes
Le coefficient vient du botaniste suisse Paul Jaccard, qui l'a conçu pour mesurer la part d'espèces végétales que deux régions ont en commun. Cet outil écologique qui demandait à quel point les flores de deux sites se ressemblent s'applique tel quel au texte dès qu'on traite un passage comme un ensemble de mots ou de n-grammes. Si ce même rapport « partagé sur total » se retrouve aussi bien dans la comparaison de séquences génomiques que dans le rapprochement des goûts d'utilisateurs en recommandation, c'est précisément grâce à cette simplicité : peu importe la nature des éléments, seul compte le nombre de coïncidences.