ПочатиПочніть безкоштовно

Частина 1: Полювання за скарбом

Нещодавно ви виграли повністю оплачувану подорож на квітучий тропічний острів. Під час прогулянки ви знайшли стародавню карту скарбів, що вказує на великий скарб, із кількома таємними повідомленнями, записаними за допомогою 1 і 0. Щойно пройшовши цей курс, ви одразу впізнаєте, що це послідовність векторів у one-hot кодуванні. Вам також пощастило знайти відображення «слово ↔ індекс», щоб знати, яке слово відповідає якому ID.

Тепер потрібно розшифрувати таємне повідомлення і з'ясувати, що саме каже ця карта. Вам надано treasure_map — матрицю розміру кількість речень × кількість слів × довжина one-hot вектора. Також надано словник Python index2word, який відображає ID у слово.

Ця вправа є частиною курсу

Machine Translation з Keras

Переглянути курс

Інструкції до вправи

  • Отримайте ідентифікатори слів для one-hot векторів у treasure_map (вимірність one-hot вектора — це остання вимірність).
  • Отримайте довжину послідовності (тобто кількість кроків часу) з treasure_map і присвойте її змінній seq_len.
  • Отримайте ID слова в i-му реченні на позиції t.
  • Додайте рядок зі словом (тобто не ID слова), що відповідає wid, до списку words.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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))
Редагувати та запускати код