Skip to content
This page has been auto-translated and may contain errors.View in English

Analisador de frequência de palavras

Mira Olá. Fui encarregada de extrair insights dos registros da missão e existem centenas deles. Preciso de algo que pegue um arquivo de texto, conte quantas vezes cada palavra aparece e me mostre os principais resultados. Quero descobrir quais tópicos continuam aparecendo sem ter que ler tudo manualmente.

O que você vai construir

Digite um texto, ou um nome de arquivo para ler: sample.txt

Top 10 palavras:
  the       42
  and       31
  python    18
  is        16
  you       14
  ...

O que você vai precisar

Dicas

Normalize antes de contar. Converta tudo para minúsculas e remova a pontuação antes de fazer a contagem. Caso contrário, "Python", "python" e "Python," serão contados como palavras diferentes.

Um dicionário faz a contagem. Percorra as palavras. Se a palavra já for uma chave, incremente sua contagem. Se não for, adicione-a com uma contagem de 1. .get() com um valor padrão deixa isso elegante.

Ordenando um dicionário por valor. sorted() aceita um argumento key=. Passe uma lambda que retorne o valor de cada chave para ordenar por frequência.

Indo além

Quando a análise principal estiver funcionando:

  • Stop words. Ignore palavras comuns como "the", "and", "is". Defina um conjunto de stop words e pule qualquer palavra que apareça nele.
  • Top N configurável. Permita que o usuário especifique quantos resultados mostrar em vez de sempre mostrar 10.
  • Saída visual. Imprima cada palavra com uma barra feita de caracteres repetidos proporcional à sua contagem. Mesmo uma versão simples deixa a saída muito mais legível.