Zacznij terazZacznij za darmo

Przygotowanie tekstu wejściowego

W filmie zobaczyłeś, jak przygotować teksty wejściowe i wyjściowe. To ćwiczenie pokazuje popularną praktykę: używanie maksymalnej długości zdań do uzupełniania (paddingu) wszystkich zdań – dzięki temu żadna informacja nie zostanie utracona.

Ponieważ modele RNN wymagają, aby dane wejściowe miały ten sam rozmiar, paddingujemy wszystkie zdania, dodając zera do krótszych – bez przycinania dłuższych.

Zamiast znaków będziesz używać słów jako tokenów – to powszechne podejście w modelach NMT.

Teksty w języku portugalskim są załadowane do zmiennej pt_sentences, a dopasowany tokenizer – do zmiennej input_tokenizer.

To ćwiczenie jest częścią kursu

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj metody .split() na każdym zdaniu, aby podzielić je po białych znakach i uzyskać liczbę słów w zdaniu.
  • Użyj metody .texts_to_sequences(), aby przekształcić tekst w ciąg indeksów.
  • Użyj uzyskanej maksymalnej długości zdań, aby je uzupełnić (padding).
  • Wydrukuj pierwsze przekształcone zdanie.

Interaktywne ćwiczenie praktyczne

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

# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])

# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)

# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')

# Print first sentence
print(pt_sentences[0])

# Print transformed sentence
print(____)
Edytuj i uruchom kod