MulaiMulai sekarang secara gratis

Tanda baca, angka, dan token

Di akhir bab sebelumnya Anda memuat himpunan data pesan SMS yang telah diberi label sebagai "spam" (label 1) atau "ham" (label 0). Sekarang Anda akan menggunakan data tersebut untuk membangun sebuah model klasifikasi.

Namun terlebih dahulu Anda perlu menyiapkan pesan SMS sebagai berikut:

  • menghapus tanda baca dan angka
  • melakukan tokenisasi (memecah menjadi kata-kata individual)
  • menghapus stop word
  • menerapkan hashing trick
  • mengonversi ke representasi TF-IDF.

Dalam latihan ini Anda akan menghapus tanda baca dan angka, lalu melakukan tokenisasi pada pesan.

Data SMS tersedia sebagai sms.

Latihan ini adalah bagian dari kursus

Machine Learning dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Impor fungsi untuk mengganti ekspresi reguler dan fitur untuk melakukan tokenisasi.
  • Ganti semua karakter tanda baca dari kolom text dengan spasi. Lakukan hal yang sama untuk semua angka di kolom text.
  • Pecah kolom text menjadi token. Beri nama kolom keluarannya words.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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)
Edit dan Jalankan Kode