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
word2indexdans 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, ____)])