Preparare il testo di input
Nel video hai visto come preparare i testi di input e output. Questo esercizio vuole mostrarti una pratica comune: usare la lunghezza massima delle frasi per effettuare il padding di tutte quante, così non si perde alcuna informazione.
Poiché i modelli RNN richiedono input della stessa dimensione, questo è un modo per fare il padding di tutte le frasi aggiungendo zeri a quelle più corte, senza tagliare quelle più lunghe.
Inoltre userai le parole, invece dei caratteri, per rappresentare i token: è un approccio comune per i modelli di NMT.
I testi in portoghese sono caricati nella variabile pt_sentences e un tokenizer già addestrato è nella variabile input_tokenizer.
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Usa il metodo
.split()su ciascuna frase per dividere per spazio bianco e ottenere il numero di parole nella frase. - Usa il metodo
.texts_to_sequences()per trasformare il testo in una sequenza di indici. - Usa la lunghezza massima delle frasi ottenuta per effettuare il padding.
- Stampa la prima frase trasformata.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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(____)