Détectez les répétitions de mots proches dans votre texte
Dans la phrase d’exemple, « final » apparaît au mot 2 puis au mot 10, à exactement 8 positions, si bien qu’une fenêtre de 8 le signale. Chaque résultat indique les deux positions et la distance. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taille de la fenêtre
- 8
- Nombre de mots
- 14
- Nombre de répétitions
- 1
- Mots signalés
- final
La répétition rapprochée d’un mot peut donner à un texte pourtant solide une impression de monotonie, de maladresse ou de relecture inachevée. Ce contrôle analyse votre texte, écarte les mots-outils anglais fréquents et relève les termes significatifs qui réapparaissent dans le nombre de positions choisi. Chaque résultat indique les deux positions et leur distance : vous disposez ainsi du contexte nécessaire pour relire le passage sans considérer toute répétition comme une faute. L’analyse est déterministe, rapide et adaptée aussi bien aux e-mails courts qu’aux articles longs.
Choisissez une fenêtre adaptée à votre brouillon
La taille de la fenêtre fixe la distance maximale entre deux occurrences pour que la seconde soit signalée. Le calcul tient compte de tous les mots, y compris des mots courants qui ne sont pas eux-mêmes recherchés. Une petite fenêtre convient aux échos évidents dans une phrase, par exemple lorsque « rapport » revient deux fois dans une proposition courte.
Une fenêtre plus large révèle le vocabulaire repris dans des phrases voisines ou un paragraphe dense. Aucun réglage ne convient à tous les textes : la répétition ne produit pas le même effet dans un slogan, un e-mail, une explication technique ou un chapitre. Commencez par une valeur modérée, examinez chaque résultat dans son contexte, puis élargissez la fenêtre seulement si vous souhaitez une analyse stylistique plus vaste.
La valeur minimale est 2 ; toute valeur inférieure provoque une erreur au lieu d’être corrigée silencieusement. Cette règle évite qu’un processus automatisé livre un résultat trompeur à cause d’un mauvais paramètre. Les positions commencent à 1 afin de faciliter leur rapprochement avec un texte segmenté ou une autre étape éditoriale.
Comprenez ce qui est compté ou ignoré
La casse n’intervient pas dans la comparaison : « Brouillon » et « brouillon » désignent donc le même mot. Les lettres et chiffres Unicode sont reconnus, tandis que les apostrophes internes restent attachées aux mots afin de ne pas découper les contractions en fragments trompeurs. Une liste concise de mots-outils anglais très fréquents est exclue des candidats.
Articles, conjonctions, pronoms et autres éléments grammaticaux se répètent naturellement ; signaler chaque « the » ou « and » noierait les observations pertinentes. Ces mots occupent néanmoins une position et influencent donc la distance mesurée entre les termes significatifs. Pour chaque retour admissible, le résultat fournit le mot normalisé, sa position précédente, sa position actuelle et la distance.
Lorsqu’un mot apparaît plusieurs fois, chaque nouvelle occurrence est comparée à la précédente la plus proche. Le rapport met ainsi l’accent sur l’écho immédiat, généralement le plus utile à la relecture. La ponctuation ne compte pas comme mot et n’empêche pas deux formes identiques de correspondre.
Interprétez les résultats comme des pistes de relecture
Un mot répété n’est pas nécessairement une maladresse. Une reprise volontaire peut installer un rythme, conserver un terme technique, renforcer une opposition ou éviter un synonyme ambigu. Chaque signalement vous invite donc à examiner le passage ; il ne vous ordonne pas de remplacer automatiquement un mot.
Si la répétition semble involontaire, vous pouvez supprimer une occurrence, réunir deux phrases, choisir une variante plus précise ou restructurer le passage pour rendre l’insistance manifeste. Si elle est justifiée, conservez-la. Le nombre total de mots et la fenêtre choisie sont également renvoyés pour faciliter l’audit.
L’algorithme n’utilisant ni réseau, ni hasard, ni heure courante, une même entrée produit toujours la même sortie. Vous pouvez l’employer pendant la rédaction, avant publication ou parmi plusieurs contrôles qualité.
Cas d’usage
Peaufiner un article
Repérez les échos involontaires entre deux phrases avant qu’ils ne gênent la personne chargée de la relecture ou le lectorat.
Relire un e-mail professionnel
Détectez les noms et verbes repris de façon gênante dans un message court où chaque formulation se remarque.
Ajouter un contrôle rédactionnel
Obtenez des résultats structurés et déterministes dans un processus de validation ou de publication.
Questions fréquentes
Que représente la taille de la fenêtre ?
Il s’agit de la distance maximale en positions de mots entre une occurrence et l’occurrence précédente la plus proche du même terme, hors mot-outil.
Les majuscules créent-elles des mots différents ?
Non. La recherche ignore la casse : un mot placé en début de phrase correspond à sa forme en minuscules plus loin.
Pourquoi exclure les mots-outils ?
Les éléments grammaticaux courants se répètent naturellement. Leur exclusion concentre le rapport sur les reprises qui méritent davantage une attention éditoriale.
Un signalement impose-t-il une modification ?
Non. Un terme technique, un effet rhétorique ou un rythme volontaire peut justifier la répétition. Examinez chaque résultat dans son contexte.
Si un mot apparaît trois fois, quelles répétitions sont signalées ?
Chaque occurrence est comparée à l’occurrence précédente la plus proche et signalée si l’écart tient dans votre fenêtre. Le rapport se concentre ainsi sur l’écho le plus proche, souvent celui qui compte le plus en relecture.
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/write/word-repetition-nearby-check \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The final report explains the findings, while a short final note summarizes them.","window_size":8}'const res = await fetch("https://api.kit.forhosting.com/write/word-repetition-nearby-check", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The final report explains the findings, while a short final note summarizes them.",
"window_size": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/write/word-repetition-nearby-check",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The final report explains the findings, while a short final note summarizes them.",
"window_size": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/write/word-repetition-nearby-check", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The final report explains the findings, while a short final note summarizes them.","window_size":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The final report explains the findings, while a short final note summarizes them.","window_size":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/write/word-repetition-nearby-check", 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": "The final report explains the findings, while a short final note summarizes them.",
"window_size": 8
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.word_repetition_nearby_check",
"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.
Limites
max_tokens | 20000 |
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
Interprétez les résultats comme des pistes de relecture
La sortie structurée convient à la relecture humaine comme aux chaînes automatisées : flagged_words donne une liste unique et compacte, tandis que repetitions conserve chaque occurrence admissible avec ses positions exactes. Chaque requête API coûte $0.002.
Questions techniques
Que se passe-t-il si la fenêtre est inférieure à 2 ?
La requête renvoie une erreur invalid_input précisant que window_size doit être au moins égal à 2.
Combien coûte une requête API ?
Chaque requête API coûte $0.002.