Kom igångKom igång gratis

Förbereda utdatatexten

I den här övningen förbereder du utdatatexterna som ska användas i översättningsmodellen. Förutom att omvandla texten till sekvenser av index behöver du också one-hot-koda varje index.

De engelska texterna är inlästa i variabeln en_sentences, den tränade tokenizern i variabeln output_tokenizer och storleken på det engelska ordförrådet i en_vocab_size.

Dessutom finns det redan en funktion för att utföra de första stegen i omvandlingen av utdataspråket (omvandling av texter till sekvenser av index). Funktionen är tillgänglig i miljön som transform_text_to_sequences() och har två parametrar: sentences, som förväntar sig en lista med meningar på engelska, och tokenizer, som förväntar sig ett tränat Tokenizer-objekt från modulen keras.preprocessing.text.

numpy är inläst som np.

Den här övningen är en del av kursen

Återkommande neurala nätverk (RNN) för språkmodellering med Keras

Visa kurs

Övningsinstruktioner

  • Skicka variablerna en_sentences och output_tokenizer till funktionen transform_text_to_sequences() för att initiera variabeln Y.
  • Använd funktionen to_categorical() för att one-hot-koda meningarna. Använd variabeln en_vocab_size som antal klasser.
  • Omvandla den tillfälliga listan till en numpy-array och ändra formen så att den blir (num_sentences, sentences_len, en_vocab_size).
  • Skriv ut den råa texten och den omvandlade texten.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Initialize the variable
Y = transform_text_to_sequences(____, ____)

# Temporary list
ylist = list()
for sequence in Y:
  	# One-hot encode sentence and append to list
    ylist.append(____(sequence, num_classes=____))

# Update the variable
Y = np.array(ylist).reshape(____, Y.shape[1], en_vocab_size)

# Print the raw sentence and its transformed version
print("Raw sentence: {0}\nTransformed: {1}".format(____, Y[0]))
Redigera och kör kod