ComenzarEmpieza gratis

Puntuación, números y tokens

Al final del capítulo anterior, cargaste un conjunto de datos de mensajes SMS que habían sido etiquetados como «spam» (etiqueta 1) o «ham» (etiqueta 0). Ahora vas a utilizar esos datos para crear un modelo clasificador.

Pero primero tendrás que preparar los mensajes SMS de la siguiente manera:

  • eliminar puntuación y números
  • tokenizar (dividir en palabras individuales)
  • eliminar palabras vacías
  • aplicar el truco del hash
  • convertir a representación TF-IDF.

En este ejercicio eliminarás la puntuación y los números, y luego tokenizarás los mensajes.

Los datos SMS están disponibles en sms.

Este ejercicio forma parte del curso

Machine learning con PySpark

Ver curso

Instrucciones del ejercicio

  • Importa la función para reemplazar expresiones regulares y la función para tokenizar.
  • Reemplaza todos los caracteres de puntuación de la columna « text » por un espacio. Haz lo mismo con todos los números de la columna « text ».
  • Divide la columna « text » en tokens. Nombra la columna de salida « words ».

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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 y ejecutar código