1.ª parte: Búsqueda del tesoro
Recientemente has ganado un viaje con todos los gastos pagados a una exuberante isla tropical. Mientras deambulabas por ahí, encontraste un antiguo mapa del tesoro que señalaba un gran tesoro, en el que había escritos algunos mensajes secretos utilizando unos y ceros. Al haber realizado este curso, reconoces al instante que se trata de una secuencia de vectores codificados como onehot. También has tenido suerte de encontrar la palabra para indexar el mapeo y saber qué palabra se refiere a qué ID.
Ahora debes descifrar el mensaje secreto y descubrir qué dice este mapa. Se te ha proporcionado un treasure_map
, que es un number of sentences
por number of words
por onehot vector length
matrix. También se te ha proporcionado el diccionario Python index2word
, que asigna un ID a una palabra.
Este ejercicio forma parte del curso
Traducción automática con Keras
Instrucciones del ejercicio
- Obtener los ID de palabra para los vectores codificados onehot en
treasure_map
(la dimensión del vector onehot es la última dimensión). - Obtenga la longitud de la secuencia (es decir, el número de pasos temporales) de
treasure_map
y asígnesela aseq_len
. - Obtén el ID de la palabra en la frase «
i-th
» (El coche se detuvo en la parada de autobús) en la posiciónt-th
. - Añade la palabra «
String
» (es decir, no la palabra «ID») correspondiente a «wid
» a la lista «words
».
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))