เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เครื่องหมายวรรคตอน ตัวเลข และ Token

ในตอนท้ายของบทที่แล้ว คุณได้โหลดชุดข้อมูลข้อความ SMS ที่ถูกติดป้ายกำกับว่าเป็น "spam" (ป้ายกำกับ 1) หรือ "ham" (ป้ายกำกับ 0) ขั้นตอนต่อไปคือนำข้อมูลเหล่านั้นมาสร้างโมเดล Classifier

แต่ก่อนอื่น ต้องเตรียมข้อความ SMS ตามขั้นตอนดังนี้:

  • ลบเครื่องหมายวรรคตอนและตัวเลขออก
  • แบ่ง Token (แยกเป็นคำแต่ละคำ)
  • ลบ Stop Word ออก
  • ใช้เทคนิค Hashing
  • แปลงเป็นรูปแบบ TF-IDF

ในแบบฝึกหัดนี้ จะลบเครื่องหมายวรรคตอนและตัวเลขออก จากนั้นแบ่ง Token ของข้อความ

ข้อมูล SMS พร้อมใช้งานในตัวแปร sms

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Machine Learning with PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นำเข้าฟังก์ชันสำหรับแทนที่นิพจน์ทั่วไป และ Feature สำหรับแบ่ง Token
  • แทนที่เครื่องหมายวรรคตอนทั้งหมดในคอลัมน์ text ด้วยช่องว่าง แล้วทำแบบเดียวกันกับตัวเลขทั้งหมดในคอลัมน์ text
  • แบ่งคอลัมน์ text ออกเป็น Token โดยตั้งชื่อคอลัมน์ผลลัพธ์ว่า words

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# 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)
แก้ไขและรันโค้ด