CommencerCommencer 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 également appliquer un encodage 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 qui réalise les premières étapes de transformation de la langue cible (transformation des textes en séquences d’index) est déjà créée. La fonction est disponible 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 déjà entraîné du module keras.preprocessing.text.

numpy est importé sous le nom np.

Cet exercice fait partie du cours

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

Afficher le cours

Instructions

  • 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 l’encodage 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 la forme (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 cet exemple de code.

# 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