CommencezCommencez gratuitement

Préparer le texte de sortie

Dans cet exercice, vous allez préparer les textes de sortie à utiliser dans le modèle de traduction. En plus de transformer le texte en séquences d'index, vous devez aussi appliquer un codage one-hot à chaque index.

Les textes anglais sont chargés dans la variable en_sentences, le tokenizer entraîné dans la variable output_tokenizer et la taille du vocabulaire anglais dans en_vocab_size.

De plus, une fonction pour réaliser les premières étapes de transformation de la langue de sortie (transformation des textes en séquences d'index) est déjà créée. La fonction est chargée dans l'environnement sous le nom transform_text_to_sequences() et possède deux paramètres : sentences, qui attend une liste de phrases en anglais, et tokenizer, qui attend un objet Tokenizer entraîné du module keras.preprocessing.text.

numpy est chargé sous le nom np.

Cette activité fait partie du cours

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Voir le cours

Instructions de l’exercice

  • Passez les variables en_sentences et output_tokenizer à la fonction transform_text_to_sequences() pour initialiser la variable Y.
  • Utilisez la fonction to_categorical() pour appliquer un codage one-hot aux phrases. Utilisez la variable en_vocab_size comme nombre de classes.
  • Transformez la liste temporaire en tableau numpy et redimensionnez-la pour obtenir une forme égale à (num_sentences, sentences_len, en_vocab_size).
  • Affichez le texte brut et sa version transformée.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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]))
Modifier et exécuter le code