Bắt đầu ngayBắt đầu miễn phí

Phần 1: Săn kho báu

Gần đây bạn trúng một chuyến du lịch đến hòn đảo nhiệt đới xanh tươi với mọi chi phí đã được thanh toán. Khi đang dạo quanh, bạn tìm thấy một bản đồ kho báu cổ chỉ tới một kho báu lớn, trên đó có vài thông điệp bí mật được viết bằng các số 1 và 0. Vừa học xong khóa học này, bạn lập tức nhận ra đó là một chuỗi các vector onehot. Bạn còn may mắn tìm được ánh xạ từ–sang–chỉ mục để biết từ nào tương ứng với ID nào.

Giờ bạn cần giải mã thông điệp bí mật để biết bản đồ đang nói gì. Bạn được cung cấp một treasure_map, là một ma trận có kích thước số câu x số từ x độ dài vector onehot. Bạn cũng được cung cấp từ điển Python index2word ánh xạ một ID sang một từ.

Bài tập này là một phần của khóa học

Machine Translation với Keras

Xem khóa học

Hướng dẫn bài tập

  • Lấy các ID từ cho các vector onehot trong treasure_map (chiều của vector onehot là chiều ở cuối cùng).
  • Lấy độ dài chuỗi (tức là số bước thời gian) từ treasure_map và gán vào seq_len.
  • Lấy ID từ ở câu thứ i tại vị trí thứ t.
  • Thêm chuỗi ký tự là từ (tức là không phải ID của từ) tương ứng với wid vào danh sách words.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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))
Chỉnh sửa và Chạy Mã