НачатьНачать бесплатно

Пунктуация, числа и токены

В конце предыдущей главы вы загрузили набор данных SMS-сообщений, размеченных как «спам» (метка 1) или «не спам» (метка 0). Теперь вы будете использовать эти данные для построения классификационной модели.

Но сначала нужно подготовить SMS-сообщения. Вот что предстоит сделать:

  • удалить пунктуацию и числа
  • токенизировать (разбить на отдельные слова)
  • удалить стоп-слова
  • применить хэш-трюк
  • преобразовать в представление TF-IDF.

В этом упражнении вы удалите пунктуацию и числа, а затем токенизируете сообщения.

Данные SMS доступны в переменной sms.

Это упражнение является частью курса

Машинное обучение с PySpark

Посмотреть курс

Инструкции к упражнению

  • Импортируйте функцию для замены по регулярным выражениям и инструмент для токенизации.
  • Замените все знаки пунктуации в столбце text на пробел. Сделайте то же самое для всех чисел в столбце text.
  • Разбейте столбец text на токены. Назовите выходной столбец 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)
Редактировать и запускать код