ÎncepețiÎncepe gratuit

Punctuație, cifre și tokenuri

La sfârșitul capitolului anterior ai încărcat un set de date cu mesaje SMS etichetate fie ca „spam" (eticheta 1), fie ca „ham" (eticheta 0). Acum vei folosi aceste date pentru a construi un model de clasificare.

Înainte de asta, trebuie să pregătești mesajele SMS parcurgând următorii pași:

  • eliminarea punctuației și a cifrelor
  • tokenizarea (împărțirea în cuvinte individuale)
  • eliminarea cuvintelor de legătură (stop words)
  • aplicarea tehnicii de hashing
  • conversia în reprezentare TF-IDF.

În acest exercițiu vei elimina punctuația și cifrele, apoi vei tokeniza mesajele.

Datele SMS sunt disponibile ca sms.

Acest exercițiu face parte din cursul

Machine Learning cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă funcția pentru înlocuirea expresiilor regulate și caracteristica pentru tokenizare.
  • Înlocuiește toate caracterele de punctuație din coloana text cu un spațiu. Fă același lucru pentru toate cifrele din coloana text.
  • Împarte coloana text în tokenuri. Denumește coloana de ieșire words.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul