Zacznij terazZacznij za darmo

Część 1: Polowanie na skarb

Właśnie wygrałeś(-aś) w pełni opłaconą wycieczkę na bujną tropikalną wyspę. Podczas wędrówki natknąłeś(-ęłaś) się na starożytną mapę skarbów wskazującą drogę do wielkiego skarbu – z tajemnymi wiadomościami zapisanymi za pomocą jedynek i zer. Dzięki temu kursowi od razu rozpoznajesz, że to ciąg wektorów zakodowanych metodą onehot. Masz też szczęście – udało ci się znaleźć odwzorowanie słów na indeksy, dzięki któremu wiesz, które słowo odpowiada któremu identyfikatorowi.

Teraz musisz odszyfrować tajną wiadomość i dowiedzieć się, co mówi ta mapa. Do dyspozycji masz macierz treasure_map o wymiarach liczba zdań × liczba słów × długość wektora onehot. Masz też słownik Pythona index2word, który przypisuje identyfikatorowi odpowiadające mu słowo.

To ćwiczenie jest częścią kursu

Tłumaczenie maszynowe z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Pobierz identyfikatory słów dla wektorów onehot z macierzy treasure_map (wymiar wektora onehot to ostatni wymiar).
  • Pobierz długość sekwencji (czyli liczbę kroków czasowych) z treasure_map i przypisz ją do zmiennej seq_len.
  • Pobierz identyfikator słowa w i-tym zdaniu na pozycji t.
  • Dodaj do listy words słowo typu String (czyli samo słowo, nie jego identyfikator) odpowiadające wartości wid.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod