Analisador de frequência de palavras
TextoConte a frequência de palavras e n-gramas de caracteres — CJK via Intl.Segmenter, palavras latinas por letras Unicode ou espaços — com tabela Top-N, parcela e exportação em CSV.
URLs remotas não são buscadas; cole seu JSON diretamente.
Nesta página
O que é um analisador de frequência de palavras?#
Um analisador de frequência de palavras lê um corpo de texto e conta quantas vezes cada token aparece, depois ordena-os. É a ferramenta por trás de verificações de densidade de palavras-chave para SEO, descoberta de stop-words para índices de pesquisa, estimativas de tamanho de vocabulário para aprendizagem de línguas e o painel “palavras mais comuns” em qualquer editor de texto sério. Contar palavras à mão sai errado; no momento em que maiúsculas, pontuação e segmentação CJK entram no quadro, a intuição falha.
O difícil é decidir o que conta como token. Esta ferramenta oferece quatro modos de tokenização, porque a resposta certa depende do texto:
- Dividir por espaços — divide em qualquer espaço. Agnóstico a idioma; trata
Hello,ehellocomo tokens diferentes por causa da vírgula e da maiúscula. - Palavras (letras) — sequências máximas de letras Unicode (
\p{L}+). Descarta dígitos e pontuação, pelo queHello,passa aHello. O padrão certo para prosa latina. - CJK (Intl.Segmenter) — usa o
Intl.Segmenterdo navegador à granularidade de palavra para segmentação linguística adequada de texto chinês/japonês (我爱北京divide nas verdadeiras fronteiras de palavras, não por caráter). Quando o navegador não tem o segmentador recorre à contagem por caráter Han e avisa-o. - N-grama de caracteres — n-gramas de carateres de tamanho 2–5 sobre o fluxo colapsado por espaços, para análise de padrões repetidos e aglomerados de erros tipográficos.
Toda a contagem corre localmente; para entradas acima de um megabyte passa para uma worker em segundo plano para que a página se mantenha responsiva.
Como usar#
- Escolha o modo na barra de ferramentas: Dividir por espaços, Palavras (letras), CJK ou N-grama de caracteres.
- Defina Top-N (padrão 20, máximo 1000). Só esse número de linhas ordenadas é mostrado, mas os totais por baixo da tabela refletem sempre todos os tokens.
- Se escolheu N-grama, aparece um seletor de tamanho (2, 3, 4 ou 5) — escolha o comprimento do grama.
- Marque ou desmarque Sem distinção de maiúsculas (ligado por padrão). Quando ligado,
Theethefundem-se numa contagem. - Cole o seu texto no painel esquerdo, ou clique em Exemplo para uma passagem interna.
- Leia o painel direito: um resumo (total de tokens, tokens distintos) e uma tabela ordenada de token / contagem / parcela. Use Copiar para a tabela ou Baixar CSV para um arquivo
token,count,shareque pode abrir em qualquer folha de cálculo.
Se o modo CJK teve de recorrer porque o seu navegador não tem Intl.Segmenter, aparece uma pequena nota por baixo da tabela para que se saiba que a segmentação é por caráter em vez de linguística.
Principais recursos#
- Quatro modos de tokenização. Dividir por espaços para contagens em bruto, Palavras (letras) para contagens limpas de palavras, CJK para segmentação adequada de chinês/japonês, N-grama para descoberta de padrões — em vez de um modo que erra para três em cada quatro textos.
- Segmentação CJK real. Usa
Intl.Segmentercomgranularity: "word", o segmentador linguístico embutido no navegador, pelo que我爱北京天安门é dividido em fronteiras de palavras, não cortado caráter a caráter. - Fallback honesto. Quando o segmentador não está disponível, a ferramenta degrada para contagem por caráter Han e diz-lhe que o fez, em vez de produzir silenciosamente números diferentes.
- Parcela, não apenas contagem. Cada linha mostra a sua percentagem de todos os tokens, calculada sobre o texto completo — pelo que mesmo uma fatia Top-20 de um documento de 10 000 palavras reporta percentagens com significado.
- Exportação CSV. Um clique descarrega um arquivo
token,count,share, pronto para uma folha de cálculo ou um gráfico. - Ordenação determinística. Empates são desfeitos alfabeticamente (token ascendente), pelo que reexecutar sobre entrada idêntica produz saída idêntica entre navegadores e motores.
- Worker para entradas pesadas. Entradas acima de ~1 MB passam para uma worker em segundo plano, pelo que a thread principal e o resto da página se mantêm responsivos.
- Local e seguro. Os tokens são renderizados apenas com
textContent— texto controlado pelo usuário nunca consegue sair de uma célula de tabela.
Exemplo detalhado#
Cole esta linha curta na entrada, com modo = Dividir por espaços e Sem distinção de maiúsculas ligado:
the quick brown fox the fox
O resumo reporta 6 tokens totais e 4 distintos. A tabela ordenada é:
| Token | Contagem | Parcela |
|---|---|---|
| fox | 2 | 33,33% |
| the | 2 | 33,33% |
| brown | 1 | 16,67% |
| quick | 1 | 16,67% |
Duais coisas a notar. Primeiro, fox fica à frente de the apesar da mesma contagem, porque os empates se desempatam alfabeticamente. Segundo, as parcelas somam 100% entre os quatro tokens — as percentagens são calculadas sobre o total completo de tokens, não apenas sobre as linhas mostradas, pelo que se mantêm com significado mesmo quando o Top-N esconde a cauda longa.
Agora mude o modo para N-grama de caracteres com tamanho 2 sobre o mesmo texto (espaços colapsados): o analisador produz bigramas como th, he, e , q … deixando ver quais os pares de letras que se repetem, que é como se caçariam prefixos duplicados ou um teclado encravado.
Perguntas frequentes#
Que modo devo usar para texto inglês normal?#
Palavras (letras) é o padrão certo para prosa latina: retira pontuação e dígitos, pelo que word, word. e word contam todos como o mesmo token, e obtém-se uma contagem limpa de vocabulário. Use Dividir por espaços apenas quando a própria pontuação é significativa (por exemplo, contar campos brutos separados por espaços num registro).
Como é que o modo CJK divide efetivamente o chinês?#
Chama o Intl.Segmenter do navegador com granularity: "word", que é um verdadeiro segmentador linguístico que sabe onde as palavras chinesas começam e acabam. Por isso 我爱北京天安门 divide-se em palavras reais em vez de cinco carateres separados. Se o seu navegador não suporta Intl.Segmenter, a ferramenta recorre à contagem por caráter e mostra uma nota — os números ainda são usáveis para comparação de densidade, apenas menos precisos linguisticamente.
Para que serve o modo n-grama?#
N-gramas revelam substrings que se repetem. Uma passagem de 2-gramas sobre um texto longo mostra quais os pares de letras ou carateres que dominam; uma passagem de 3 ou 4-gramas revela prefixos repetidos, morfemas comuns ou aglomerados de erros tipográficos. É a técnica padrão por trás de auditorias de keyword-stuffing, análise de cifras e ordenação de autocomplete.
Porque é que as minhas percentagens se baseiam em todos os tokens, não apenas no Top-N mostrado?#
Porque uma percentagem só tem significado face ao total real. Se pede as 10 palavras mais frequentes num ensaio de 5 000 palavras, a parcela de cada palavra deve refletir a sua fatia do ensaio todo, não a sua fatia das 10 palavras mostradas. Calcular a razão sobre o total completo de tokens mantém os números honestos mesmo quando a tabela está truncada.
O meu texto é enviado para algum lado?#
Não. Tokenização, contagem e geração de CSV tudo corre no seu navegador. Entradas grandes passam para uma thread worker em segundo plano, mas essa thread ainda é parte desta página — nada é enviado para um servidor.