ComeçarComece gratuitamente

Prática de gráficos

Experimente usar suas novas habilidades para encontrar e traçar o número de palavras por linha no script usando matplotlib. O script do Santo Graal é carregado para você, e você precisa usar o regex para localizar as palavras por linha.

O uso de compreensões de lista aqui acelerará seus cálculos. Por exemplo: my_lines = [tokenize(l) for l in lines] chamará uma função tokenize em cada linha da lista lines. A nova lista transformada será salva na variável my_lines.

Você tem acesso a todo o script na variável holy_grail. Você pode ir em frente!

Este exercício faz parte do curso

Introdução ao processamento de linguagem natural em Python

Ver Curso

Instruções de exercício

  • Divida o script holy_grail em linhas usando o caractere de nova linha ('\n').

  • Use re.sub() dentro de uma compreensão de lista para substituir prompts como ARTHUR: e SOLDIER #1. O padrão foi escrito para você.

  • Use uma compreensão de lista para tokenizar lines com regexp_tokenize(), mantendo apenas as palavras. Lembre-se de que o padrão para palavras é "\w+".

  • Use uma compreensão de lista para criar uma lista de comprimentos de linha chamada line_num_words.

    • Use t_line como sua variável de iteração para iterar sobre tokenized_lines e, em seguida, a função len() para calcular os comprimentos de linha.
  • Trace um histograma de line_num_words usando plt.hist(). Não se esqueça de usar plt.show() também para exibir o gráfico.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 e executar código