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
Instrukcje do ćwiczenia
- Zaimportuj
Tokenizeripad_sequencesz odpowiednich modułów. - Dopasuj obiekt
tokenizerdo przykładowych danych zapisanych w zmiennejtexts. - 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]))