Kom igångKom igång gratis

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

Visa kurs

Ö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(____)
Redigera och kör kod