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
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(____)