Classifique o tom geral de um texto com léxico próprio
Na mensagem de exemplo, três palavras formais, uma urgente e uma amigável resultam em tom formal com confiança de 0,6, ou seja, 3 de 5 ocorrências. Você escreve as listas de palavras, então cada resultado pode ser conferido palavra por palavra. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Este classificador de tom geral compara um texto com um léxico controlado por você. Informe listas de palavras formais, casuais, urgentes e cordiais, e a ferramenta contará palavras inteiras sem usar modelos nem fazer solicitações de rede. O resultado apresenta o tom dominante, as contagens por categoria, as palavras encontradas, uma proporção de confiança e a indicação de uso do padrão solicitado. Como a mesma entrada e o mesmo léxico sempre geram a mesma resposta, a saída é adequada para revisões editoriais, regras de encaminhamento e testes repetíveis.
Monte um léxico alinhado às suas regras de redação
Uma classificação útil começa com um léxico criado para o material que será analisado. Coloque na categoria formal os termos que realmente sinalizam formalidade em sua organização; use palavras coloquiais na categoria casual, termos como “imediatamente”, “prazo” e “crítico” em urgente, e palavras como “bem-vindo”, “obrigado” e “feliz” em cordial. Todas as categorias são explícitas, portanto a equipe pode inspecionar e ajustar a regra sem tentar adivinhar por que um modelo oculto escolheu determinada etiqueta.
As entradas são comparadas como palavras inteiras, sem diferença entre maiúsculas e minúsculas. Uma palavra pode aparecer em várias categorias; nesse caso, cada ocorrência contribui para todas elas. Entradas repetidas dentro da mesma categoria são consolidadas, evitando que uma duplicação acidental aumente o peso do termo.
Prefira palavras específicas o bastante para indicar tom em seu contexto. Termos comuns com pouco significado tonal podem encobrir sinais mais raros e informativos.
Entenda a pontuação e o desempate determinístico
O classificador separa o texto em palavras e procura cada uma nas quatro listas. Repetições no texto são contadas novamente, pois a insistência em um termo pode reforçar o tom percebido. A resposta inclui contagens formais, casuais, urgentes e cordiais, além das palavras distintas encontradas em cada categoria, permitindo auditar a conclusão.
O tom dominante é aquele com mais ocorrências. A confiança corresponde à contagem vencedora dividida pelo total de ocorrências; ela representa a parcela dos indicadores observados que apoia a categoria selecionada, e não uma probabilidade estatística sobre a intenção do autor. Em caso de empate, a ordem estável é formal, casual, urgente e cordial.
Essa regra fixa garante respostas idênticas na automação e no navegador, embora você possa consultar as contagens e aplicar outra política depois. Pontuação e uso de maiúsculas não alteram correspondências comuns. Cada item do léxico deve conter uma única palavra, portanto expressões ficam deliberadamente fora deste contrato.
Para julgar frases ou sentido semântico, uma análise baseada em modelo é mais apropriada.
Escolha entre erro e padrão quando não houver ocorrências
A falta de ocorrências também é uma informação relevante. Por padrão, o classificador devolve um erro de entrada inválida quando nenhum indicador fornecido aparece no texto. Isso impede que um fluxo rotule silenciosamente uma redação neutra ou fora do vocabulário como se houvesse evidências para a decisão.
Durante a criação do léxico, pode ser melhor omitir o padrão para revelar vocabulário ausente e adicioná-lo somente depois de avaliar o dicionário com conteúdo representativo. A função não infere sarcasmo, estrutura da frase, público nem contexto. Seu ponto forte é a reprodutibilidade: o mesmo texto e o mesmo léxico sempre produzem as mesmas contagens, etiqueta e condição de fallback.
Casos de uso
Encaminhar mensagens de suporte
Direcione mensagens dominadas por vocabulário urgente para uma fila rápida e preserve as palavras exatas como evidência.
Aplicar um guia de estilo
Confira rascunhos com listas próprias de palavras formais e casuais antes da publicação.
Testar textos gerados
Valide uma etiqueta de tom repetível em testes automatizados sem depender da resposta variável de um modelo.
Perguntas frequentes
Quanto custa uma classificação?
A versão do navegador executa localmente a mesma lógica determinística.
A correspondência diferencia maiúsculas de minúsculas?
Não. O texto e as entradas do léxico são convertidos para minúsculas antes da comparação de palavras inteiras.
O que acontece quando dois tons empatam?
A prioridade estável é formal, casual, urgente e cordial. Todas as contagens ficam disponíveis caso você prefira outra regra posterior.
Uma palavra pode pertencer a várias categorias de tom?
Sim. Cada ocorrência contribui uma vez para todas as categorias que contêm a palavra, e a resposta a lista em cada uma.
A ferramenta entende sarcasmo ou contexto?
Não. Ela classifica somente ocorrências explícitas de palavras. Essa limitação torna a resposta transparente e reproduzível.
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/tone-word-classify \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}'const res = await fetch("https://api.kit.forhosting.com/write/tone-word-classify", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/write/tone-word-classify",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/write/tone-word-classify", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Please review this document promptly. Your assistance is appreciated.","lexicon":{"formal":["please","document","appreciated"],"casual":["hey","cool","yeah"],"urgent":["promptly","immediately","urgent"],"friendly":["thanks","welcome","assistance"]}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/write/tone-word-classify", 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": "Please review this document promptly. Your assistance is appreciated.",
"lexicon": {
"formal": [
"please",
"document",
"appreciated"
],
"casual": [
"hey",
"cool",
"yeah"
],
"urgent": [
"promptly",
"immediately",
"urgent"
],
"friendly": [
"thanks",
"welcome",
"assistance"
]
}
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "write.tone_word_classify",
"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 | 100000 |
max_lexicon_words_per_tone | 1000 |
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
Monte um léxico alinhado às suas regras de redação
O endpoint aceita até mil palavras por categoria, espaço suficiente para dicionários editoriais focados, mantendo a análise limitada e previsível.
Escolha entre erro e padrão quando não houver ocorrências
Se seu aplicativo precisar encaminhar todos os itens, informe default_tone com uma das quatro etiquetas aceitas. A resposta exibirá essa etiqueta, contagens e confiança iguais a zero, além de used_default como verdadeiro. Assim, classificações apoiadas por palavras ficam distintas de rotas de contingência sem exigir uma segunda solicitação. Quando um resultado parecer inesperado, examine matched_words: normalmente a causa é um termo amplo demais, um uso específico do setor ou uma palavra compartilhada por várias categorias.
Perguntas técnicas
O que ocorre quando nenhuma palavra corresponde?
A solicitação devolve invalid_input, exceto quando default_tone é informado. Com o padrão, used_default é verdadeiro e a confiança é zero.