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

Phần 1: Mô hình đảo ngược văn bản - Encoder

Tạo một mô hình đảo ngược văn bản đơn giản là cách tuyệt vời để hiểu cơ chế của các mô hình encoder–decoder và cách chúng kết nối với nhau. Bây giờ bạn sẽ hiện thực phần encoder của một mô hình đảo ngược văn bản.

Việc hiện thực encoder được chia thành hai bài tập. Ở bài này, bạn sẽ định nghĩa hàm trợ giúp words2onehot(). Hàm words2onehot() sẽ nhận vào một danh sách các từ và một từ điển word2index, rồi chuyển danh sách từ đó thành một mảng các vector one-hot. Từ điển word2index đã có sẵn trong workspace.

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

  • Chuyển các từ thành ID bằng từ điển word2index trong hàm words2onehot()
  • Chuyển các ID này thành các vector one-hot có độ dài 3 (dùng đối số num_classes) và trả về mảng kết quả.
  • Gọi hàm words2onehot() với các từ I, likecats và gán kết quả cho onehot.
  • In các từ và vector one-hot tương ứng của chúng bằng các hàm print()zip(). Hàm zip() cho phép bạn duyệt nhiều danh sách cùng lúc.

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.

import numpy as np

def words2onehot(word_list, word2index):
  # Convert words to word IDs
  word_ids = [____[w] for w in ____]
  # Convert word IDs to onehot vectors and return the onehot array
  onehot = ____(____, num_classes=3)
  return ____

words = ["I", "like", "cats"]
# Convert words to onehot vectors using words2onehot
onehot = ____(____, ____)
# Print the result as (, ) tuples
print([(w,ohe.tolist()) for ____,____ in zip(words, ____)])
Chỉnh sửa và Chạy Mã