ПочатиПочніть безкоштовно

Попередня обробка в Keras

Другий за важливістю модуль Keras — це keras.preprocessing. Ви побачите, як використовувати ключові модулі та функції, щоб підготувати сирі дані до коректної вхідної форми. Keras надає можливості, які замінюють підхід зі словником, який ви вивчили раніше.

Ви використаєте модуль keras.preprocessing.text.Tokenizer, щоб створити словник слів за допомогою методу .fit_on_texts() і перетворити тексти на числові ідентифікатори, що відповідають індексу кожного слова в словнику, за допомогою методу .texts_to_sequences().

Далі використайте функцію .pad_sequences() з keras.preprocessing.sequence, щоб зробити всі послідовності однакового розміру (це потрібно для моделі): додайте нулі до коротких текстів і обріжте довгі.

Ця вправа є частиною курсу

Recurrent Neural Networks (RNNs) для моделювання мови з Keras

Переглянути курс

Інструкції до вправи

  • Імпортуйте Tokenizer і pad_sequences із відповідних модулів.
  • Навчіть об'єкт tokenizer на прикладних даних у texts.
  • Перетворіть тексти на послідовності числових індексів за допомогою методу .texts_to_sequences().
  • Вирівняйте довжину текстів, доповнивши їх (padding).

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import relevant classes/functions
from tensorflow.keras.preprocessing.text import ____
from tensorflow.keras.preprocessing.sequence import ____

# Build the dictionary of indexes
tokenizer = Tokenizer()
tokenizer.fit_on_texts(____)

# Change texts into sequence of indexes
texts_numeric = tokenizer.____(texts)
print("Number of words in the sample texts: ({0}, {1})".format(len(texts_numeric[0]), len(texts_numeric[1])))

# Pad the sequences
texts_pad = ____(texts_numeric, 60)
print("Now the texts have fixed length: 60. Let's see the first one: \n{0}".format(texts_pad[0]))
Редагувати та запускати код