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 numpy là np.
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
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ành1. - Đặ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")