Parte 1: Caça ao tesouro
Você ganhou recentemente uma viagem com tudo pago para uma ilha tropical incrível. Enquanto você estava por aí, encontrou um mapa antigo que indicava um grande tesouro, com algumas mensagens secretas escritas usando 1s e 0s. Depois de fazer esse curso, você percebe logo que é uma sequência de vetores codificados como onehot. Você também teve sorte de achar a palavra para indexar o mapeamento e saber qual palavra se refere a qual ID.
Agora você precisa decifrar a mensagem secreta e descobrir o que este mapa está dizendo. Você recebeu um treasure_map
, que é um number of sentences
por number of words
por onehot vector length
matrix. Você também recebeu o dicionário Python index2word
, que mapeia um ID para uma palavra.
Este exercício faz parte do curso
Tradução automática com Keras
Instruções do exercício
- Pega os IDs das palavras para os vetores codificados onehot no vetor onehot (
treasure_map
) (a dimensão do vetor onehot é a última dimensão). - Pega o comprimento da sequência (ou seja, o número de passos temporais) em
treasure_map
e coloca emseq_len
. - Pega o ID da palavra na frase “
i-th
” emt-th
posição. - Adicione a palavra
String
(ou seja, não a palavra ID) que corresponde awid
à listawords
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))