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

Analizador de frecuencia de palabras

Mira Hola. Me encargaron extraer información de los registros de misión y hay cientos de ellos. Necesito algo que tome un archivo de texto, cuente cuántas veces aparece cada palabra y me muestre los resultados principales. Quiero descubrir qué temas se repiten sin tener que leer todo manualmente.

Lo que vas a construir

Enter text, or a filename to read from: sample.txt

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

Lo que vas a necesitar

Pistas

Normaliza antes de contar. Convierte todo a minúsculas y elimina la puntuación antes de hacer el conteo. De lo contrario, "Python", "python" y "Python," se cuentan como palabras diferentes.

Un diccionario hace el conteo. Recorre las palabras. Si la palabra ya es una clave, incrementa su conteo. Si no lo es, agrégala con un conteo de 1. .get() con un valor predeterminado lo hace más limpio.

Ordenar un diccionario por valor. sorted() acepta un argumento key=. Pasa una lambda que retorne el valor de cada clave para ordenar por frecuencia.

Yendo más allá

Una vez que el análisis básico funcione:

  • Palabras vacías. Ignora palabras comunes como "the", "and", "is". Define un conjunto de palabras vacías y omite cualquier palabra que aparezca en él.
  • N principales configurable. Permite al usuario especificar cuántos resultados mostrar en lugar de mostrar siempre 10.
  • Salida visual. Imprime cada palabra con una barra hecha de caracteres repetidos proporcionales a su conteo. Incluso una versión simple hace que la salida sea mucho más legible.