Teil 1: Schatzsuche
Du hast neulich eine komplett bezahlte Reise auf eine tropische Insel gewonnen. Während du rumgehangen bist, hast du eine alte Schatzkarte gefunden, die zu einem tollen Schatz führt. Darauf waren ein paar geheime Botschaften in Einsen und Nullen geschrieben. Wenn du diesen Kurs gerade gemacht hast, merkst du sofort, dass es sich um eine Folge von One-Hot-codierten Vektoren handelt. Du hattest auch Glück, dass du die Zuordnung der Wörter zum Index gefunden hast, um zu wissen, welches Wort zu welcher ID gehört.
Jetzt musst du die geheime Nachricht entschlüsseln und herausfinden, was auf dieser Karte steht. Du hast einen „ treasure_map
” bekommen, der ein „ number of sentences
” von „ number of words
” von „ onehot vector length
” ist. Du hast auch das Python-Wörterbuch „ index2word
“ bekommen, das eine ID einem Wort zuordnet.
Diese Übung ist Teil des Kurses
Maschinelle Übersetzung mit Keras
Anleitung zur Übung
- Hol dir die Wort-IDs für die Onehot-codierten Vektoren in „
treasure_map
“ (die Onehot-Vektordimension ist die letzte Dimension). - Hol dir die Sequenzlänge (also die Anzahl der Zeitschritte) von „
treasure_map
“ und speicher sie in „seq_len
“. - Finde die Wort-ID im Satz „
i-th
“ an der Positiont-th
. - Füge das Wort „
String
” (also nicht die Wort-ID) für „wid
” zur Liste „words
” hinzu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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))