Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekaż zmienne en_sentences i output_tokenizer do funkcji transform_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]))
Edytuj i uruchom kod