Zacznij terazZacznij za darmo

Interpunkcja, liczby i tokeny

Pod koniec poprzedniego rozdziału wczytałeś zbiór danych z wiadomościami SMS, opatrzonymi etykietami „spam" (etykieta 1) lub „ham" (etykieta 0). Teraz wykorzystasz te dane do zbudowania modelu klasyfikacyjnego.

Najpierw jednak musisz odpowiednio przygotować wiadomości SMS:

  • usuń interpunkcję i liczby
  • dokonaj tokenizacji (podziel na pojedyncze słowa)
  • usuń stop words
  • zastosuj hashing trick
  • przekształć dane do reprezentacji TF-IDF.

W tym ćwiczeniu usuniesz interpunkcję i liczby, a następnie przeprowadzisz tokenizację wiadomości.

Dane SMS są dostępne jako sms.

To ćwiczenie jest częścią kursu

Uczenie maszynowe z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj funkcję do zastępowania wyrażeń regularnych oraz narzędzie do tokenizacji.
  • Zastąp wszystkie znaki interpunkcyjne w kolumnie text spacją. Zrób to samo z wszystkimi liczbami w kolumnie text.
  • Podziel kolumnę text na tokeny. Nazwij kolumnę wyjściową words.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod