CommencezCommencez gratuitement

Partie 1 : modèle d'inversion de texte – Encodeur

Créer un simple modèle d'inversion de texte est une excellente façon de comprendre la mécanique des modèles encodeur-décodeur et leurs liens. Vous allez maintenant implanter la partie encodeur d'un modèle d'inversion de texte.

L'implantation de l'encodeur est répartie sur deux exercices. Dans celui-ci, vous devez définir la fonction utilitaire words2onehot(). La fonction words2onehot() doit recevoir une liste de mots et un dictionnaire word2index, puis convertir la liste de mots en un tableau de vecteurs one-hot. Le dictionnaire word2index est disponible dans l'espace de travail.

Cette activité fait partie du cours

Traduction automatique avec Keras

Voir le cours

Instructions de l’exercice

  • Convertissez les mots en identifiants à l'aide du dictionnaire word2index dans la fonction words2onehot().
  • Convertissez les identifiants en vecteurs one-hot de longueur 3 (en utilisant le paramètre num_classes) et retournez le tableau obtenu.
  • Appelez la fonction words2onehot() avec les mots I, like et cats, puis assignez le résultat à onehot.
  • Affichez les mots et leurs vecteurs one-hot correspondants à l'aide des fonctions print() et zip(). La fonction zip() vous permet d'itérer plusieurs listes en même temps.

Exercice interactif pratique

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

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