Développeurs

Comment Vérifier la Similarité entre Deux Textes (Contenu Dupliqué et Similarité Cosinus)

8 min de lecture

Un score de similarité cosinus entre deux textes mesure à quel point ils partagent le même vocabulaire, pas la même idée. Un score de 74 % signifie que deux textes utilisent en grande partie les mêmes mots et méritent qu’on vérifie s’il s’agit de contenu dupliqué. Un score de 6 % ne veut pas dire que les textes n’ont rien en commun sur le fond : ça veut juste dire qu’ils sont formulés avec des mots différents. Ces deux nombres viennent d’un exemple réel plus bas, et la différence entre eux est tout l’intérêt de cet article.

Comment le score est calculé

Le principe est plus simple qu’il n’y paraît. Le texte est mis en minuscules, débarrassé de sa ponctuation, puis découpé en mots. Les mots d’une seule lettre et les mots-outils très fréquents (le, la, de, et, que, pour les textes en français, avec une liste équivalente en anglais, portugais, espagnol, italien et allemand) sont retirés, parce qu’ils apparaissent dans presque n’importe quel texte et n’apportent aucune information sur le sujet réellement traité.

Chaque texte devient ensuite un vecteur : une liste de mots avec le nombre de fois où chacun apparaît. Le score de similarité cosinus compare l’angle entre les deux vecteurs. Concrètement, on multiplie les fréquences des mots communs aux deux textes, on additionne ces produits, puis on divise par la longueur des deux vecteurs. Le résultat tombe entre 0 et 1, affiché en pourcentage. Deux textes identiques donnent 100 %. Deux textes qui ne partagent aucun mot significatif donnent 0 %.

Tout ce calcul se fait dans le navigateur, en JavaScript, sans envoyer le moindre texte à un serveur.

Exemple 1 : deux fiches produit reformulées

Voici le cas le plus courant en pratique : réécrire une fiche produit pour qu’elle « ait l’air différente », sans vraiment changer son contenu. Collez ces deux textes dans l’outil :

Texte A

“Buy affordable wireless bluetooth headphones with active noise cancellation and thirty hour battery life. Free shipping on every order today.”

Texte B

“Shop cheap wireless bluetooth headphones featuring active noise cancellation and a thirty hour battery. Enjoy free shipping on every order this week.”

Résultat : 74 % de similarité, dans la fourchette « Similarité élevée ». Les deux textes restent en anglais ici volontairement : l’outil fonctionne avec n’importe quelle langue, l’anglais sert juste de démonstration commune à cet article.

À l’œil, ces deux phrases donnent l’impression d’être différentes. Regardez pourtant ce qu’elles partagent :

  • Mots communs (13) : active, battery, bluetooth, cancellation, every, free, headphones, hour, noise, order, shipping, thirty, wireless
  • Uniquement dans A (4) : affordable, buy, life, today
  • Uniquement dans B (5) : cheap, enjoy, featuring, shop, week

Treize mots partagés contre neuf mots qui ne le sont pas : c’est ce déséquilibre qui pousse le score à 74 %, juste au-dessus du seuil « modérée » et proche du seuil « élevée » de l’outil. Un rédacteur pressé a changé les verbes d’accroche (buy devient shop, cheap remplace affordable) mais a gardé intact tout le vocabulaire technique du produit : casque, bluetooth, réduction de bruit, autonomie, livraison. C’est exactement le genre de réécriture superficielle qu’un moteur de recherche ou un outil anti-plagiat basique peut repérer.

Exemple 2 : le même texte, reformulé différemment

Prenons maintenant le texte A ci-dessus (renommé texte C, mais c’est le mot pour mot du texte A) et comparons-le à une vraie reformulation :

Texte D

“Our over ear audio devices block outside sound automatically and last more than a full day per charge, and delivery costs nothing no matter what you order.”

Résultat : 6 % de similarité, dans la fourchette « Similarité faible ». Le seul mot partagé entre les deux textes est “order”.

Lisez pourtant le texte D attentivement : casque circum-aural qui bloque le bruit extérieur, autonomie d’une journée complète, livraison gratuite. C’est le même produit, décrit avec le même argumentaire que le texte A, mais sans reprendre un seul mot technique. Un lecteur humain dirait sans hésiter qu’il s’agit du même contenu. L’outil, lui, ne compte que les mots identiques, pas le sens, et il tombe à 6 %.

C’est le point à retenir de ces deux exemples mis côte à côte : un score élevé est un signal fiable de chevauchement de vocabulaire, mais un score bas ne prouve pas que le contenu est original. Il prouve seulement que la formulation diffère. L’outil attrape très bien la réécriture paresseuse (exemple 1), beaucoup moins bien la paraphrase soignée (exemple 2).

Table des scores de similarité

ScoreInterprétation
70 % et plusSimilarité élevée
40 % à 69 %Similarité modérée
1 % à 39 %Similarité faible
0 %Aucune similarité détectée

Ces quatre paliers sont ceux affichés directement par l’outil, avec un code couleur (vert, orange, bleu) pour repérer le résultat d’un coup d’œil.

Vérifiez votre propre texte

Collez vos deux textes ci-dessous, dans n’importe quelle langue, pour obtenir le score, la liste des mots partagés et celle des mots propres à chaque texte.

Saisissez les deux textes pour calculer la similarité

Similarité cosinus TF · mots vides supprimés · fonctionne dans votre navigateur

Calculateur de Similarité de Textes
Gratuit, sans inscription, sur tous les appareils.
Ouvrir l'outil complet

Erreurs courantes et cas particuliers

Croire que c’est un vrai modèle d’embedding. L’outil ne comprend rien au sens des phrases : il compte des mots partagés. L’exemple 2 le montre bien, deux textes qui décrivent la même chose peuvent tomber à 6 % simplement parce que le vocabulaire change. Un vrai modèle d’embedding sémantique, comme ceux utilisés par les moteurs de recherche modernes, aurait probablement rapproché les textes A et D bien plus que ce simple comptage.

Se fier à un score bas pour conclure qu’il n’y a pas de duplication. Un texte réécrit avec soin peut afficher un score proche de 0 % tout en étant, dans l’esprit, une copie du texte original. Le score mesure la formulation, pas l’intention.

Comparer un court extrait à une page beaucoup plus longue et s’étonner que le score reste bas. Même si l’extrait est repris mot pour mot dans la page longue, tout le vocabulaire supplémentaire de la page dilue le résultat du calcul. Pour comparer un extrait à une page entière, il vaut mieux isoler le passage correspondant plutôt que de coller la page complète.

Oublier que les mots-outils sont retirés avant le calcul. Un texte très court composé surtout de mots comme « le », « et », « pour » peut légitimement afficher 0 %, non pas parce qu’il n’y a rien en commun, mais parce qu’il ne reste presque aucun mot significatif à comparer une fois les mots-outils enlevés.

Questions fréquentes

En quoi cet outil diffère-t-il d’un vrai modèle d’embedding comme text-embedding-3 d’OpenAI ?

Un vrai modèle d’embedding transforme un texte en un vecteur qui capture le sens, appris à partir de milliards de phrases, et peut rapprocher deux textes qui n’ont presque aucun mot en commun mais parlent de la même chose. Cet outil, lui, compte littéralement les mots partagés entre deux textes et calcule un angle entre les deux listes de fréquences. Il est rapide, gratuit et tourne entièrement dans le navigateur, mais il n’a aucune compréhension du sens, contrairement à un modèle d’embedding.

Quel score doit m’inquiéter pour du contenu dupliqué en SEO ?

70 % et plus, la fourchette « élevée », mérite une vérification sérieuse : à ce niveau, deux pages partagent la grande majorité de leur vocabulaire significatif. Mais ne vous arrêtez jamais au chiffre seul : regardez la liste des mots partagés. Treize mots techniques communs, comme dans l’exemple 1, ça pèse plus lourd que treize occurrences d’un mot générique répété.

Est-ce que ça détecte le plagiat reformulé ?

Non, et c’est exactement ce que montre l’exemple 2 : un texte qui dit la même chose que l’original, mais avec un vocabulaire entièrement différent, tombe à 6 %, dans la fourchette « faible ». Pour détecter une paraphrase soignée, il faut un outil sémantique, pas un comptage de mots partagés.

Les mots-outils comptent-ils dans le score ?

Non, ils sont retirés avant le calcul (le, la, de, et, et leurs équivalents en anglais, portugais, espagnol, italien et allemand). Seuls les mots porteurs de sens entrent dans le calcul de similarité.

Mon texte est-il envoyé à un serveur ?

Non. Tout le calcul, découpage des mots, comptage, similarité cosinus, se fait localement dans votre navigateur. Rien n’est transmis ni stocké ailleurs.

Puis-je partager un lien avec mes deux textes déjà remplis ?

Depuis ce widget intégré à l’article, non : ouvrez la page complète de l’outil pour obtenir un lien qui pré-remplit vos deux textes et que vous pouvez envoyer à quelqu’un d’autre.

Similarité de TexteContenu DupliquéSimilarité CosinusSEO
Calculateur de Similarité de Textes
Essayez-le maintenant avec l'outil complet.
Essayer maintenant