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
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)