ComenzarEmpieza gratis

Práctica de representación

Intenta utilizar tus nuevas habilidades para encontrar y trazar el número de palabras por línea en el guión utilizando matplotlib. El script Santo Grial se carga por ti, y tienes que utilizar regex para encontrar las palabras por línea.

Utilizar aquí la comprensión de listas acelerará tus cálculos. Por ejemplo: my_lines = [tokenize(l) for l in lines] llamará a una función tokenize en cada línea de la lista lines. La nueva lista transformada se guardará en la variable my_lines.

Tienes acceso a todo el guión en la variable holy_grail. ¡A por ello!

Este ejercicio forma parte del curso

Introducción al procesamiento de lenguaje natural en Python

Ver curso

Instrucciones del ejercicio

  • Divide el script holy_grail en líneas utilizando el carácter de nueva línea ('\n').

  • Utiliza re.sub() dentro de una comprensión de lista para sustituir las indicaciones como ARTHUR: y SOLDIER #1. El patrón se ha escrito para ti.

  • Utiliza una comprensión de lista para tokenizar lines con regexp_tokenize(), manteniendo sólo las palabras. Recuerda que el patrón de las palabras es "\w+".

  • Utiliza una comprensión de lista para crear una lista de longitudes de línea llamada line_num_words.

    • Utiliza t_line como variable iteradora para iterar sobre tokenized_lines, y luego la función len() para calcular las longitudes de las líneas.
  • Traza un histograma de line_num_words utilizando plt.hist(). No olvides utilizar también plt.show() para visualizar la trama.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

# Split the script into lines: lines
lines = ____.____('\n')

# Replace all script lines for speaker
pattern = "[A-Z]{2,}(\s)?(#\d)?([A-Z]{2,})?:"
lines = [re.____(____, '', l) for l in lines]

# Tokenize each line: tokenized_lines
tokenized_lines = [____ for s in lines]

# Make a frequency list of lengths: line_num_words
line_num_words = [____ for t_line in tokenized_lines]

# Plot a histogram of the line lengths
____

# Show the plot
____
Editar y ejecutar código