Detecte palavras repetidas próximas no seu texto
Na frase de exemplo, «final» aparece na palavra 2 e de novo na 10, a exatamente 8 posições, então uma janela de 8 a sinaliza. Cada resultado mostra as duas posições e a distância entre elas. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Tamanho da janela
- 8
- Contagem de palavras
- 14
- Contagem de repetições
- 1
- Palavras sinalizadas
- final
A repetição próxima de palavras pode fazer um texto bem construído parecer acidental, monótono ou pouco revisado. Esta verificação analisa seu texto, ignora palavras funcionais comuns do inglês e identifica termos relevantes que reaparecem dentro do número de posições escolhido por você. Cada ocorrência mostra as duas posições e a distância entre elas, oferecendo contexto suficiente para revisar o trecho sem tratar toda repetição como erro. O processo é determinístico, rápido e útil para rascunhos que vão de e-mails curtos a artigos extensos.
Escolha uma janela adequada ao tipo de rascunho
O tamanho da janela define a proximidade necessária entre duas ocorrências para que a segunda seja sinalizada. A distância considera todas as palavras, inclusive os termos comuns que não são avaliados como candidatos. Uma janela menor ajuda a encontrar ecos claros na mesma frase, como repetir “relatório” em uma oração curta.
Uma janela maior revela vocabulário repetido entre frases vizinhas ou em um parágrafo compacto. Não existe uma configuração universal, pois a repetição produz efeitos diferentes em um slogan, e-mail, explicação técnica ou capítulo. Comece com uma janela moderada, leia cada resultado no contexto e aumente o valor apenas quando quiser uma revisão estilística mais ampla.
O mínimo é 2; valores inferiores são rejeitados, e não ajustados silenciosamente. Esse erro explícito impede que fluxos editoriais automatizados gerem conclusões enganosas por causa de uma configuração inválida. As posições das palavras começam em 1, facilitando a comparação com o texto tokenizado ou com outra etapa de edição.
Entenda o que entra na contagem e o que é ignorado
A comparação não diferencia maiúsculas de minúsculas, portanto “Rascunho” e “rascunho” representam a mesma palavra. Letras e números Unicode são reconhecidos, e apóstrofos internos são preservados para manter contrações unidas, em vez de criar fragmentos enganosos. Uma lista concisa de palavras funcionais frequentes do inglês é excluída da candidatura.
Artigos, conjunções, pronomes e termos estruturais semelhantes se repetem naturalmente; sinalizar cada “the” ou “and” esconderia os achados úteis. Mesmo assim, essas palavras ocupam posições e influenciam a distância entre termos relevantes. Cada recorrência válida informa a palavra normalizada, a posição anterior, a posição atual e a distância.
Quando um termo aparece várias vezes, cada nova ocorrência é comparada com a anterior mais próxima. Assim, o relatório prioriza o eco mais próximo, geralmente o mais importante na revisão. A pontuação não conta como palavra e não impede a correspondência de termos idênticos.
Trate os achados como alertas editoriais, não como correções
Uma palavra repetida não representa automaticamente um problema de redação. A repetição deliberada pode criar ritmo, preservar um termo técnico, reforçar um contraste ou evitar um sinônimo ambíguo. Use cada sinalização como convite para examinar o trecho, não como ordem para substituir uma palavra mecanicamente.
Quando a repetição parecer acidental, você pode remover uma ocorrência, unir duas frases, escolher uma alternativa precisa ou reorganizar o trecho para tornar a ênfase intencional. Se ela for necessária, mantenha-a. A contagem total de palavras e a janela selecionada também são devolvidas como contexto de auditoria.
Como o algoritmo não usa rede, valores aleatórios nem horário atual, entradas idênticas sempre produzem saídas idênticas. Você pode executá-lo durante a redação, antes da publicação ou junto com outras regras de qualidade.
Casos de uso
Aprimorar o rascunho de um artigo
Encontre ecos acidentais entre frases próximas antes que cheguem à edição ou ao público.
Revisar um e-mail profissional
Identifique substantivos e verbos repetidos que distraem em uma mensagem curta, na qual cada expressão chama atenção.
Adicionar uma etapa de qualidade textual
Receba achados estruturados e determinísticos em um fluxo de revisão de conteúdo ou publicação.
Perguntas frequentes
O que significa o tamanho da janela?
É a distância máxima, em posições de palavras, entre uma ocorrência e a ocorrência anterior mais próxima do mesmo termo que não seja uma palavra funcional.
Formas com maiúsculas são tratadas como palavras diferentes?
Não. A correspondência ignora maiúsculas e minúsculas, então uma palavra no início da frase coincide com a mesma palavra em minúsculas depois.
Por que as palavras funcionais são excluídas?
Termos estruturais comuns se repetem naturalmente. A exclusão mantém o relatório concentrado nas repetições com maior chance de exigir atenção editorial.
Uma sinalização significa que devo alterar o texto?
Não. Termos técnicos, ênfase retórica e ritmo intencional podem justificar a repetição. Avalie cada resultado no contexto.
Se uma palavra aparece três vezes, quais repetições são sinalizadas?
Cada ocorrência posterior é comparada com a anterior mais próxima e sinalizada quando essa distância cabe na sua janela. Assim o relatório se concentra no eco mais próximo, que costuma ser o mais importante na revisão.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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)Exemplo de requisição
{
"text": "The final report explains the findings, while a short final note summarizes them.",
"window_size": 8
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.word_repetition_nearby_check",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_tokens | 20000 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Trate os achados como alertas editoriais, não como correções
A saída estruturada atende tanto à revisão manual quanto a fluxos automatizados: flagged_words fornece uma lista única e compacta, enquanto repetitions mantém todas as ocorrências válidas com posições exatas. Cada solicitação de API custa US$ 0,002.
Perguntas técnicas
O que acontece quando a janela é menor que 2?
A solicitação devolve um erro invalid_input explicando que window_size deve ser pelo menos 2.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002.