ComenzarEmpieza gratis

Práctica de gráficos

Pon en práctica tus nuevas habilidades para calcular y graficar el número de palabras por línea del guion usando matplotlib. El guion de The Holy Grail ya está cargado y necesitarás usar regex para encontrar las palabras por línea.

Usar comprensiones 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 al guion completo en la variable holy_grail. ¡Adelante!

Este ejercicio forma parte del curso

Introducción al Natural Language Processing en Python

Ver curso

Instrucciones del ejercicio

  • Divide el guion holy_grail en líneas usando el carácter de nueva línea ('\n').
  • Usa re.sub() dentro de una comprensión de listas para reemplazar indicaciones como ARTHUR: y SOLDIER #1. El patrón ya está escrito para ti.
  • Usa una comprensión de listas para tokenizar lines con regexp_tokenize(), conservando solo palabras. Recuerda que el patrón para palabras es "\w+".
  • Usa una comprensión de listas para crear una lista de longitudes de línea llamada line_num_words.
    • Usa t_line como tu variable iteradora para recorrer tokenized_lines y luego la función len() para calcular las longitudes de las líneas.
  • Traza un histograma de line_num_words usando plt.hist(). No te olvides de usar también plt.show() para mostrar la gráfica.

Ejercicio interactivo práctico

Prueba este ejercicio y completa 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