LoslegenKostenlos loslegen

Zeichensetzung, Zahlen und Tokens

Am Ende des letzten Kapitels hast du einen Datensatz mit SMS-Nachrichten geladen, die entweder als „Spam” (Label- 1) oder „Ham” (Label- 0) gekennzeichnet waren. Jetzt wirst du diese Daten verwenden, um ein Klassifizierungsmodell zu erstellen.

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

  • Zeichensätze und Zahlen löschen
  • tokenisieren (in einzelne Wörter aufteilen)
  • Stoppwörter entfernen
  • den Hash-Trick anwenden
  • in TF-IDF-Darstellung umwandeln.

In dieser Übung wirst du Satzzeichen und Zahlen entfernen und dann die Nachrichten in Tokens aufteilen.

Die SMS-Daten kannst du hier runterladen: sms.

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.
  • Ersetz alle Satzzeichen in der Spalte „ text “ durch ein Leerzeichen. Mach das Gleiche für alle Zahlen in der Spalte „ text “.
  • Teile die Spalte „ text “ in Tokens auf. Nenn die Ausgabespalte „ words “.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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