Também disponível em: English · Español · Français · العربية
Gerador de nuvem de palavras
Cole um texto e obtenha uma nuvem em que a tinta ocupada por cada palavra corresponde à sua frequência real, com a distorção medida para si.
O que é um gerador de nuvem de palavras
Conta as palavras de um texto e desenha-as em tamanhos que refletem a sua frequência. As comuns saem grandes, as raras pequenas, e o conjunto dá uma ideia aproximada do assunto de um documento num relance. Aparecem em resumos de relatórios, em inquéritos, em pósteres de congressos e nas salas de aula.
Este funciona inteiramente no seu navegador. O seu texto nunca é enviado, a nuvem é desenhada numa tela da sua própria máquina, e o PNG que descarrega é gerado aí também.
Faz ainda uma coisa diferente, e essa diferença é a razão de ser da página: dimensiona as palavras de modo a que a tinta ocupada por cada uma seja proporcional à sua frequência. Quase nenhum outro gerador o faz, e o resultado exagera bastante as palavras comuns.
Como usar o gerador
- Cole o seu texto. Com o comprimento que tiver. A nuvem é redesenhada enquanto escreve e o painel por baixo acompanha.
- Escolha o dimensionamento e o idioma. «Área» é a definição honesta e vem por omissão; «corpo de letra» é o que quase todas as ferramentas fazem, e mantém-se para que veja a diferença no seu próprio texto. A lista de palavras vazias deve corresponder ao idioma do seu texto, não ao desta página.
- Ajuste quantas palavras e descarregue. O controlo vai de dez a cento e cinquenta palavras. «Descarregar» dá-lhe um PNG gerado no seu navegador e sem marca de água.
Quase todas as nuvens exageram as palavras comuns
Uma nuvem de palavras codifica um número — quantas vezes uma palavra aparece — numa propriedade visual. A questão é em qual. Quase todos os geradores definem o corpo de letra em proporção à frequência. Mas quem olha não julga uma palavra pela altura, julga-a por quanto da imagem ocupa. E a área cresce com o quadrado do corpo de letra.
Assim, uma palavra duas vezes mais comum é desenhada com o dobro da altura e acaba a cobrir quatro vezes a área. Parece quatro vezes mais importante quando é duas vezes mais frequente.
Em prosa real isto agrava-se, porque as frequências seguem a lei de Zipf: a palavra mais comum aparece cerca de duas vezes mais do que a segunda, três vezes mais do que a terceira, e assim por diante. Tome uma distribuição de Zipf de trinta palavras. A mais frequente é dez vezes mais comum do que a décima e, com dimensionamento por corpo de letra, cobre cem vezes a área. Face à trigésima é trinta vezes mais frequente e 918 vezes a área. A palavra mais comum acaba a ocupar 62,0% de toda a tinta numa imagem em que representa 25,0% das palavras.
A solução é exata e não custa nada: defina o corpo de letra como a raiz quadrada da frequência. A área é o tamanho ao quadrado, por isso a raiz cancela-o e a área volta a ser proporcional à frequência. Com essa definição, a palavra mais comum ocupa exatamente 25,0% da tinta — o mesmo que a sua fatia das palavras, até à casa decimal. Não é uma aproximação que calha resultar neste exemplo: é uma identidade, verificada aqui em quinhentas distribuições geradas ao acaso e cumprida sempre com margem inferior a uma parte em um bilião.
O painel por baixo da nuvem mostra ambos os números para o seu próprio texto. Quando coincidem, a imagem está a dizer a verdade.
Limitações assumidas
Mesmo no seu melhor, uma nuvem de palavras é uma forma fraca de mostrar dados. Não tem eixo, nem zero, nem uma ordem em que se possa confiar, e a posição de uma palavra não significa nada: está onde a disposição a conseguiu encaixar. As palavras longas parecem maiores do que as curtas ao mesmo tamanho apenas por terem mais letras. Se precisa mesmo de comparar frequências, um gráfico de barras faz melhor e esta página não vai fingir o contrário. Aquilo em que uma nuvem é genuinamente boa é em ser vista de relance.
A disposição empacota retângulos, não formas de letra. Encaixar palavras nas descendentes umas das outras fica mais compacto, e várias ferramentas fazem-no, mas então a tinta que uma palavra cobre deixa de ser uma função simples do seu tamanho — e a honestidade em que esta página assenta depende de essa relação continuar simples. Os retângulos mantêm a afirmação verdadeira.
As listas de palavras vazias são um critério e são assumidamente identificadas como tal. Não existe nenhuma lista oficial para nenhum idioma e todas as publicadas divergem entre si. Estas cobrem as palavras funcionais que de outro modo afogariam qualquer nuvem. Escolha o idioma do seu texto, e desligue a lista se quiser as contagens em bruto.
As palavras são contadas tal como estão escritas. Não há lematização nem redução à raiz, por isso «corre», «correm» e «a correr» são palavras diferentes, e um plural fica separado do singular. Fazer de outro modo exige um dicionário por idioma e erra nos casos ambíguos; contar exatamente o que está na página é, pelo menos, algo que pode verificar.
A contagem e o dimensionamento levam 45 verificações, incluindo a identidade acima em quinhentas distribuições e um controlo a confirmar que o dimensionamento por corpo de letra nunca a satisfaz. O analisador assenta nas propriedades Unicode de letra e não no alfabeto latino, por isso o árabe, o português e o espanhol acentuados e o francês sobrevivem intactos: um contador construído sobre `[a-z]` erraria em quatro dos cinco idiomas deste site.
Porque é gratuito
É contagem e uma tela, ambas a correr na sua própria máquina. Nada é enviado, não há conta, e o PNG não leva marca de água porque não há custo nenhum a recuperar pondo-a lá.
Se quiser as frequências como números e não como imagem, o contador de palavras deste site dá-lhas, também sem enviar nada.