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

title: Analizador de frecuencia de palabras description: Lee un bloque de texto e informa las palabras más comunes.

Analizador de frecuencia de palabras

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

Lo que estás construyendo

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 necesitarás

Sugerencias

Normaliza antes de contar. Convierte todo a minúsculas y elimina la puntuación antes de construir tu conteo. De lo contrario, "Python" y "python" y "Python," contarían como palabras diferentes.

Un diccionario hace el conteo. Itera a través de 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 limpio.

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

Llevándolo más lejos

Una vez que el análisis principal funcione:

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