CommencerCommencer gratuitement

Exercice de visualisation

Mettez en pratique vos nouvelles compétences pour trouver et tracer le nombre de mots par ligne dans le script à l’aide de matplotlib. Le script de The Holy Grail est déjà chargé pour vous, et vous devez utiliser des expressions régulières pour trouver les mots par ligne.

Les compréhensions de listes accéléreront vos calculs. Par exemple : my_lines = [tokenize(l) for l in lines] appellera une fonction tokenize sur chaque ligne de la liste lines. La nouvelle liste transformée sera enregistrée dans la variable my_lines.

Vous avez accès à l’intégralité du script dans la variable holy_grail. Lancez-vous !

Cet exercice fait partie du cours

Introduction au Natural Language Processing (NLP) en Python

Afficher le cours

Instructions

  • Scindez le script holy_grail en lignes en utilisant le caractère de nouvelle ligne ('\n').
  • Utilisez re.sub() dans une compréhension de liste pour remplacer les indications comme ARTHUR: et SOLDIER #1. Le motif a été écrit pour vous.
  • Utilisez une compréhension de liste pour tokeniser lines avec regexp_tokenize(), en ne gardant que les mots. Rappelez-vous que le motif pour les mots est "\w+".
  • Utilisez une compréhension de liste pour créer une liste de longueurs de lignes appelée line_num_words.
    • Utilisez t_line comme variable d’itération pour parcourir tokenized_lines, puis la fonction len() pour calculer les longueurs des lignes.
  • Tracez un histogramme de line_num_words avec plt.hist(). N’oubliez pas d’utiliser aussi plt.show() pour afficher le graphique.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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
____
Modifier et exécuter le code