Erste SchritteKostenlos loslegen

Charting Praxis

Nutze deine neuen Fähigkeiten, um die Anzahl der Wörter pro Zeile im Skript mit matplotlib zu finden und zu berechnen. Das Holy Grail-Skript wird für dich geladen, und du musst Regex verwenden, um die Wörter pro Zeile zu finden.

Die Verwendung von List Comprehensions wird deine Berechnungen beschleunigen. Zum Beispiel: my_lines = [tokenize(l) for l in lines] ruft in jeder Zeile der Liste lines eine Funktion tokenize auf. Die neue transformierte Liste wird in der Variablen my_lines gespeichert.

Du hast Zugriff auf das gesamte Skript in der Variable holy_grail. Los geht‘s!

Diese Übung ist Teil des Kurses

Einführung in die natürliche Sprachverarbeitung in Python

Kurs anzeigen

Anleitung zur Übung

  • Teile das Skript holy_grail mit dem Zeilenumbruchzeichen ('\n') in Zeilen auf.

  • Verwende re.sub() in einem Listenverständnis, um die Aufforderungen wie ARTHUR: und SOLDIER #1 zu ersetzen. Das Muster ist für dich geschrieben worden.

  • Verwende ein Listenverständnis, um lines mit regexp_tokenize() zu tokenisieren und nur Wörter zu behalten. Erinnere dich daran, dass das Muster für Wörter "\w+" ist.

  • Verwende ein Listenverständnis, um eine Liste von Zeilenlängen mit dem Namen line_num_words zu erstellen.

    • Verwende t_line als Iteratorvariable, um über tokenized_lines zu iterieren, und dann die Funktion len(), um die Zeilenlängen zu berechnen.
  • Zeichne ein Histogramm von line_num_words mit plt.hist(). Vergiss nicht, auch plt.show() zu verwenden, um den Plot anzuzeigen.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

# 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
____
Bearbeiten und Ausführen von Code