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
Petunjuk latihan
- Impor fungsi untuk mengganti ekspresi reguler dan fitur untuk melakukan tokenisasi.
- Ganti semua karakter tanda baca dari kolom
textdengan spasi. Lakukan hal yang sama untuk semua angka di kolomtext. - Pecah kolom
textmenjadi token. Beri nama kolom keluarannyawords.
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)