Première partie : Modèle d'inversion de texte - Encodeur
La création d'un modèle simple d'inversion de texte est une excellente méthode pour comprendre le fonctionnement des modèles encodeurs-décodeurs et comment ils sont connectés. Vous allez maintenant implémenter la partie encodeur d'un modèle d'inversion de texte.
La mise en œuvre de l'encodeur a été divisée en deux exercices. Dans cet exercice, vous allez définir la fonction d'aide words2onehot()
. La fonction « words2onehot()
» doit prendre en entrée une liste de mots et un dictionnaire « word2index
» et convertir la liste de mots en un tableau de vecteurs one-hot. Le dictionnaire de l'word2index
est disponible dans l'espace de travail.

Cet exercice fait partie du cours
Traduction automatique avec Keras
Instructions
- Convertissez les mots en identifiants à l'aide du dictionnaire
word2index
dans la fonctionwords2onehot()
. - Convertit les identifiants de mots en vecteurs onehot de longueur
3
(à l'aide de l'argumentnum_classes
) et renvoie le tableau résultant. - Veuillez appeler la fonction «
words2onehot()
» avec les mots «I
», «like
» et «cats
», puis attribuer le résultat à «onehot
». - Imprimez les mots et leurs vecteurs onehot correspondants à l'aide des fonctions
print()
etzip()
. La fonction «zip()
» vous permet d'itérer plusieurs listes en même temps.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
import numpy as np
def words2onehot(word_list, word2index):
# Convert words to word IDs
word_ids = [____[w] for w in ____]
# Convert word IDs to onehot vectors and return the onehot array
onehot = ____(____, num_classes=3)
return ____
words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])