Przygotowanie tekstu wyjściowego
W tym ćwiczeniu przygotujesz teksty wyjściowe do użycia w modelu tłumaczenia. Oprócz przekształcenia tekstu na sekwencje indeksów, musisz także zakodować każdy indeks metodą one-hot.
Teksty angielskie są załadowane do zmiennej en_sentences, dopasowany tokenizer do zmiennej output_tokenizer, a rozmiar słownika angielskiego do zmiennej en_vocab_size.
Funkcja wykonująca pierwsze kroki przekształcania języka wyjściowego (zamiana tekstów na sekwencje indeksów) jest już gotowa. Funkcja jest załadowana do środowiska jako transform_text_to_sequences() i przyjmuje dwa parametry: sentences, który oczekuje listy zdań w języku angielskim, oraz tokenizer, który oczekuje dopasowanego obiektu Tokenizer z modułu keras.preprocessing.text.
numpy jest załadowany jako np.
To ćwiczenie jest częścią kursu
Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras
Instrukcje do ćwiczenia
- Przekaż zmienne
en_sentencesioutput_tokenizerdo funkcjitransform_text_to_sequences(), aby zainicjalizować zmiennąY. - Użyj funkcji
to_categorical(), aby zakodować zdania metodą one-hot. Jako liczbę klas podaj zmiennąen_vocab_size. - Przekształć tymczasową listę na tablicę numpy i zmień jej kształt na
(num_sentences, sentences_len, en_vocab_size). - Wyświetl surowy tekst oraz jego przekształconą wersję.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Initialize the variable
Y = transform_text_to_sequences(____, ____)
# Temporary list
ylist = list()
for sequence in Y:
# One-hot encode sentence and append to list
ylist.append(____(sequence, num_classes=____))
# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)
# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))