Del 1: Skattjakt
Du vann nyligen en allt-inkluderat-resa till en frodig tropisk ö. Under din promenad hittade du en gammal skattekarta som pekade mot en stor skatt – med några hemliga meddelanden skrivna med 1:or och 0:or. Tack vare den här kursen inser du genast att det rör sig om en sekvens av onehot-kodade vektorer. Du hade dessutom turen att hitta en mappning från ord till index, så att du vet vilket ord som hör till vilket ID.
Nu behöver du tyda det hemliga meddelandet och ta reda på vad kartan säger. Du har tillgång till treasure_map, en matris med dimensionerna antal meningar × antal ord × onehot-vektorlängd. Du har också tillgång till Python-ordboken index2word, som mappar ett ID till ett ord.
Den här övningen är en del av kursen
Maskinöversättning med Keras
Övningsinstruktioner
- Hämta ord-ID:na för de onehot-kodade vektorerna i
treasure_map(onehot-vektordimensionen är den sista dimensionen). - Hämta sekvensens längd (dvs. antalet tidssteg) från
treasure_mapoch tilldela den tillseq_len. - Hämta ord-ID:t i den
i:temeningen vid positiont. - Lägg till
String-ordet (dvs. inte ord-ID:t) som motsvararwidi listanwords.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))