LoslegenKostenlos loslegen

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

Kurs anzeigen

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 Position t-th.
  • Füge das WortString ” (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))
Code bearbeiten und ausführen