Inizia subitoInizia gratis

Parte 1: Caccia al tesoro

Hai appena vinto un viaggio tutto spesato su un'isola tropicale rigogliosa. Mentre esploravi, hai trovato un'antica mappa del tesoro che indica un grande bottino, con alcuni messaggi segreti scritti usando 1 e 0. Avendo appena seguito questo corso, riconosci subito che si tratta di una sequenza di vettori onehot. Hai anche avuto la fortuna di trovare la mappatura parola–indice per sapere quale parola corrisponde a quale ID.

Ora devi decifrare il messaggio segreto e scoprire cosa dice questa mappa. Ti è stata fornita una treasure_map, una matrice di dimensioni numero di frasi per numero di parole per lunghezza del vettore onehot. Ti è stato anche fornito il dizionario Python index2word che mappa un ID a una parola.

Questo esercizio fa parte del corso

Traduzione automatica con Keras

Visualizza corso

Istruzioni dell'esercizio

  • Ottieni gli ID delle parole per i vettori onehot in treasure_map (la dimensione del vettore onehot è l'ultima dimensione).
  • Ricava la lunghezza della sequenza (cioè il numero di time step) da treasure_map e assegnala a seq_len.
  • Ottieni l'ID della parola nella i-esima frase in posizione t-esima.
  • Aggiungi alla lista words la String della parola (cioè non l'ID) corrispondente a wid.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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))
Modifica ed esegui il codice