CommencezCommencez gratuitement

Partie 1 : Chasse au trésor

Vous avez récemment gagné un voyage tout compris sur une île tropicale luxuriante. En vous promenant, vous tombez sur une ancienne carte au trésor pointant vers un butin précieux, avec quelques messages secrets écrits en 1 et 0. Comme vous venez tout juste de suivre ce cours, vous reconnaissez aussitôt qu'il s'agit d'une séquence de vecteurs codés onehot. Par chance, vous avez aussi trouvé la correspondance mot–identifiant pour savoir quel mot correspond à quel ID.

Vous devez maintenant déchiffrer le message secret et comprendre ce que la carte indique. On vous a fourni treasure_map, une matrice de nombre de phrases par nombre de mots par longueur du vecteur onehot. On vous a également fourni le dictionnaire Python index2word qui associe un ID à un mot.

Cette activité fait partie du cours

Traduction automatique avec Keras

Voir le cours

Instructions de l’exercice

  • Récupérez les identifiants de mots des vecteurs codés onehot dans treasure_map (la dimension du vecteur onehot est la dernière dimension).
  • Récupérez la longueur de la séquence (c.-à-d. le nombre d'étapes temporelles) à partir de treasure_map et assignez-la à seq_len.
  • Récupérez l'identifiant de mot dans la i-ième phrase à la position t-ième.
  • Ajoutez à la liste words la chaîne de caractères (c.-à-d. pas l'ID) correspondant à wid.

Exercice interactif pratique

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

# Get the word IDs from the treasure map
word_ids = ____.____(____, axis=____)
# Get the sequence length from the treasure map
seq_len = treasure_map.shape[____]

for i in range(treasure_map.shape[0]):
	words = []
	for t in range(seq_len):
      	# Get the word ID for the i-th sentence and t-th position
	    wid = word_ids[i, ____]
	    if wid != 0:
          	# Append the word corresponding to wid
	        words.append(____[____])
	print("Instruction ", i+1, ": ", ' '.join(words))
Modifier et exécuter le code