ComeçarComece gratuitamente

Pontuação, números e tokens

No final do capítulo anterior, você carregou um conjunto de dados de SMS mensagens que foram rotuladas como "spam" (rótulo 1) ou "ham" (rótulo 0). Agora você usará esses dados para criar um modelo de classificador.

Mas primeiro você precisará preparar as mensagens do SMS da seguinte forma:

  • remover pontuação e números
  • tokenizar (dividir em palavras individuais)
  • remover palavras de parada
  • aplicar o truque de hashing
  • converter para TF-IDF representação.

Neste exercício, você removerá a pontuação e os números e, em seguida, tokenizará as mensagens.

Os dados do site SMS estão disponíveis em sms.

Este exercício faz parte do curso

Aprendizado de máquina com PySpark

Ver Curso

Instruções de exercício

  • Importe a função para substituir as expressões regulares e o recurso para tokenizar.
  • Substitua todos os caracteres de pontuação da coluna text por um espaço. Faça o mesmo com todos os números da coluna text.
  • Divida a coluna text em tokens. Nomeie a coluna de saída como words.

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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)
Editar e executar código