Pregătirea textului de intrare
Ai văzut în video cum se pregătesc textele de intrare și de ieșire. Acest exercițiu prezintă o practică frecventă: folosirea lungimii maxime a propozițiilor pentru a le umple pe toate cu zerouri (padding), astfel încât nicio informație să nu se piardă.
Deoarece modelele RNN necesită ca intrările să aibă aceeași dimensiune, această metodă permite aplicarea padding-ului pe toate propozițiile – adăugând zerouri la propozițiile mai scurte, fără a le trunchia pe cele mai lungi.
De asemenea, vei folosi cuvinte în loc de caractere pentru a reprezenta token-urile – aceasta este o abordare frecventă pentru modelele NMT.
Textele în portugheză sunt încărcate în variabila pt_sentences, iar un tokenizer deja antrenat se află în variabila input_tokenizer.
Acest exercițiu face parte din cursul
Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras
Instrucțiuni pentru exercițiu
- Folosește metoda
.split()pe fiecare propoziție pentru a o împărți după spații albe și a obține numărul de cuvinte. - Folosește metoda
.texts_to_sequences()pentru a transforma textul într-o secvență de indecși. - Folosește lungimea maximă obținută a propozițiilor pentru a aplica padding-ul.
- Afișează prima propoziție transformată.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____)