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
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_mapet assignez-la àseq_len. - Récupérez l'identifiant de mot dans la
i-ième phrase à la positiont-ième. - Ajoutez à la liste
wordsla 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))