Zacznij terazZacznij za darmo

Przetwarzanie wstępne w Keras

Drugim ważnym modułem Keras jest keras.preprocessing. Zobaczysz, jak korzystać z jego najważniejszych modułów i funkcji, aby przygotować surowe dane w odpowiednim kształcie wejściowym. Keras oferuje funkcjonalności zastępujące podejście słownikowe, które poznałeś wcześniej.

Użyjesz modułu keras.preprocessing.text.Tokenizer, aby zbudować słownik słów metodą .fit_on_texts(), a następnie przekształcisz teksty na numeryczne identyfikatory reprezentujące indeks każdego słowa w słowniku za pomocą metody .texts_to_sequences().

Następnie użyj funkcji .pad_sequences() z modułu keras.preprocessing.sequence, aby wyrównać długość wszystkich sekwencji (co jest wymagane przez model) – krótsze teksty zostaną dopełnione zerami, a dłuższe obcięte.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj Tokenizer i pad_sequences z odpowiednich modułów.
  • Dopasuj obiekt tokenizer do przykładowych danych zapisanych w zmiennej texts.
  • Przekształć teksty na sekwencje numerycznych indeksów za pomocą metody .texts_to_sequences().
  • Wyrównaj rozmiar tekstów, dopełniając je odpowiednimi wartościami.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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]))
Edytuj i uruchom kod