Förbered indatatexten
I videon såg du hur man förbereder in- och utdatatext. Den här övningen visar ett vanligt tillvägagångssätt: att använda den maximala meningslängden för att padda alla meningar. På så sätt går ingen information förlorad.
Eftersom RNN-modeller kräver att alla indata har samma storlek är detta ett sätt att padda alla meningar och helt enkelt lägga till nollor i de kortare meningarna, utan att klippa bort de längre.
Du kommer också att använda ord i stället för tecken för att representera tokenerna – det är ett vanligt tillvägagångssätt för NMT-modeller.
De portugisiska texterna är laddade i variabeln pt_sentences och en tränad tokenizer finns i variabeln input_tokenizer.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Använd metoden
.split()på varje mening för att dela vid blanksteg och räkna antalet ord i meningen. - Använd metoden
.texts_to_sequences()för att omvandla text till en sekvens av index. - Använd den framräknade maximala meningslängden för att padda meningarna.
- Skriv ut den första omvandlade meningen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____)