LoslegenKostenlos loslegen

Interpunktion, Zahlen und Token

Am Ende des vorherigen Kapitels hast du einen Datensatz mit SMS-Nachrichten geladen, die entweder als "Spam" (Label 1) oder als "Ham" (Label 0) gekennzeichnet wurden. Du wirst diese Daten nun nutzen, um ein Klassifizierungsmodell zu erstellen.

Aber zuerst musst du die SMS-Nachrichten wie folgt vorbereiten:

  • Interpunktion und Zahlen entfernen
  • tokenisieren (in einzelne Wörter aufteilen)
  • Stoppwörter entfernen
  • den Hashing-Trick anwenden
  • in die TF-IDF-Darstellung umwandeln.

In dieser Übung entfernst du Satzzeichen und Zahlen und tokenisierst dann die Nachrichten.

Die SMS-Daten sind als sms verfügbar.

Diese Übung ist Teil des Kurses

Maschinelles Lernen mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Importiere die Funktion zum Ersetzen regulärer Ausdrücke und die Funktion zum Tokenisieren.
  • Ersetze alle Interpunktionszeichen in der Spalte text durch ein Leerzeichen. Mache dasselbe für alle Zahlen in der Spalte text.
  • Teile die Spalte text in Token auf. Benenne die Ausgabespalte words.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# Import the necessary functions
from pyspark.sql.functions import ____
from pyspark.ml.feature import ____

# Remove punctuation (REGEX provided) and numbers
wrangled = sms.withColumn('text', ____(sms.text, '[_():;,.!?\\-]', ____))
wrangled = wrangled.withColumn(____, ____(____, ____, ____))

# Merge multiple spaces
wrangled = wrangled.withColumn('text', regexp_replace(wrangled.text, ' +', ' '))

# Split the text into words
wrangled = ____(inputCol='text', outputCol=____).____(wrangled)

wrangled.show(4, truncate=False)
Code bearbeiten und ausführen