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

Chuẩn bị dữ liệu để huấn luyện

Trong bài tập này, bạn sẽ tiếp tục chuẩn bị dữ liệu để huấn luyện mô hình. Sau khi tạo các mảng chứa câu và ký tự kế tiếp, bạn cần biến đổi chúng thành các giá trị số có thể dùng cho mô hình.

Bước này là cần thiết vì các mô hình RNN chỉ nhận số, không phải chuỗi. Bạn sẽ tạo các mảng số với giá trị 0 hoặc 1 tại những vị trí đại diện cho các ký tự xuất hiện trong câu. Giá trị 1 (hoặc True) thể hiện ký tự tương ứng có mặt, còn 0 (hoặc False) thể hiện ký tự đó không xuất hiện tại vị trí đó trong câu.

Các biến sentences, next_char, n_vocab, chars_window, num_seqs (số lượng câu trong dữ liệu huấn luyện) đã được nạp sẵn vào môi trường, cùng với numpynp.

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

Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras

Xem khóa học

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

  • Khởi tạo một np.array() toàn số 0 với shape (số lượng câu, cửa sổ ký tự, kích thước vốn từ).
  • Dùng từ điển char_to_index để đặt vị trí của ký tự hiện tại thành 1.
  • Đặt ký tự kế tiếp hiện tại thành 1.
  • In phần tử đầu tiên của mỗi mảng.

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.

# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)

# Loop for every sentence
for i, sentence in enumerate(sentences):
  # Loop for every character in sentence
  for t, char in enumerate(sentence):
    # Set position of the character to 1
    numerical_sentences[i, t, ____] = ____
    # Set next character to 1
    ____[i, char_to_index[next_chars[i]]] = 1

# Print the first position of each
print(____, ____, sep="\n")
Chỉnh sửa và Chạy Mã