Calculadora de razão tipo-token e diversidade lexical
A calculadora de razão tipo-token mede a variedade do vocabulário de um trecho dividindo a quantidade de tipos de palavra distintos pelo total de tokens.
Executar grátis
Cole uma redação, transcrição, dissertação ou qualquer outro texto para receber as contagens que fundamentam o cálculo e uma razão reproduzível entre zero e um. O processo é determinístico, reconhece palavras e números Unicode, preserva apóstrofos internos e permite agrupar ou distinguir palavras que diferem apenas entre maiúsculas e minúsculas.
Entenda o que a razão mede
A razão tipo-token, normalmente abreviada como TTR, compara a variedade vocabular com o tamanho do texto. Um token corresponde a cada ocorrência de uma palavra no trecho, enquanto um tipo é uma forma de palavra distinta. Na frase “aves cantam e aves voam”, há cinco tokens e quatro tipos, pois “aves” aparece duas vezes. A divisão dos tipos pelos tokens gera um valor maior que zero e de até um. O valor um indica que todos os tokens são únicos; um resultado menor indica mais repetição. Essa leitura simples torna a medida útil para uma avaliação inicial de redações, transcrições, produção de estudantes e acervos de conteúdo. No entanto, a razão é descritiva, não um julgamento de qualidade. A repetição pode ser intencional, necessária ou desejável, sobretudo em instruções técnicas e explicações focadas. Considere as contagens de tokens e tipos junto com a razão para compreender como o resultado foi formado, sem transformar um único número decimal em uma avaliação completa de estilo ou habilidade.
Compare textos de maneira equilibrada
O tamanho do texto exerce forte influência sobre a razão tipo-token básica. Trechos curtos oferecem menos oportunidades de repetição e, por isso, costumam obter valores maiores do que textos longos, mesmo quando pertencem à mesma pessoa ou ao mesmo assunto. Para uma comparação relevante, analise amostras semelhantes em extensão, gênero, idioma e preparação. Compare, por exemplo, duas redações de quinhentas palavras, e não uma mensagem breve com um relatório completo. Esta calculadora reconhece sequências de letras ou números Unicode como tokens e mantém apóstrofos retos ou tipográficos internos, preservando contrações como uma palavra. Pontuação ao redor do termo não cria outro tipo. Por padrão, diferenças de capitalização são combinadas: “Livro” e “livro” contam como o mesmo tipo. Ative a diferenciação de maiúsculas apenas quando ela fizer parte da análise. Mantenha as mesmas configurações em todas as amostras, registre o total de tokens e interprete pequenas diferenças com cautela, especialmente em textos curtos ou sobre temas diferentes.
Use o resultado em um fluxo reproduzível
Um fluxo confiável começa com uma amostra claramente definida. Antes do envio, decida se títulos, citações, identificação de falantes, números e textos padronizados devem participar da análise. Remover esses elementos de uma amostra e mantê-los em outra altera tanto o numerador quanto o denominador. Processe cada trecho preparado com a mesma configuração de maiúsculas e guarde os quatro campos retornados: total de tokens, tipos distintos, razão tipo-token e regra de capitalização aplicada. Esses valores permitem auditoria e reprodução. A versão do navegador é prática para verificações isoladas, enquanto a API atende lotes, painéis editoriais, ferramentas educacionais e preparação de pesquisas. O cálculo é determinístico e não envia o texto a um modelo de IA; entradas e opções iguais produzem saídas iguais. Se não for possível controlar o tamanho das amostras, informe essa limitação ou complemente a TTR com uma medida ajustada ao comprimento. Acima de tudo, interprete o número no contexto: uma razão menor pode refletir terminologia necessária, foco temático, citações ou diálogo repetido, não vocabulário fraco.
Casos de uso
Comparar amostras de escrita
Meça versões de extensão equivalente com configurações constantes para observar mudanças na repetição vocabular.
Analisar transcrições
Acrescente uma medida transparente de variedade lexical a entrevistas, aulas, reuniões ou pesquisas transcritas.
Auditar acervos de conteúdo
Processe artigos ou descrições de produtos em lotes e sinalize itens muito repetitivos para avaliação humana.
Perguntas frequentes
Como a razão tipo-token é calculada?
A quantidade de tipos de palavra distintos é dividida pelo total de tokens, e o resultado é arredondado para seis casas decimais.
O que significa uma razão tipo-token alta?
Significa que uma parcela maior dos tokens é única na amostra. Isso não comprova, por si só, que a escrita seja melhor ou o vocabulário mais avançado.
Por que os textos devem ter tamanhos semelhantes?
Textos longos naturalmente criam mais oportunidades de repetição, o que costuma reduzir a TTR básica. Extensões semelhantes tornam a comparação mais informativa.
Maiúsculas e minúsculas afetam o resultado?
Não por padrão. Defina case_sensitive como true quando formas como “Casa” e “casa” precisarem contar como tipos separados.
Como as palavras são identificadas?
Sequências Unicode de letras e números são tokens. Um apóstrofo reto ou tipográfico interno permanece no token, enquanto a pontuação externa atua como separador.
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/str/type-token-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog. The fox rests."}'const res = await fetch("https://api.kit.forhosting.com/str/type-token-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The quick brown fox jumps over the lazy dog. The fox rests."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/type-token-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The quick brown fox jumps over the lazy dog. The fox rests."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/type-token-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The quick brown fox jumps over the lazy dog. The fox rests."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The quick brown fox jumps over the lazy dog. The fox rests."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/type-token-ratio", 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 quick brown fox jumps over the lazy dog. The fox rests."
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.type_token_ratio",
"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_chars | 1000000 |
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. |