Chuẩn bị dữ liệu văn bản cho đầu vào của mô hình
Trước đó, bạn đã học cách tạo các từ điển ánh xạ chỉ số ↔ từ. Trong bài này, bạn sẽ tách văn bản theo ký tự và tiếp tục chuẩn bị dữ liệu cho học có giám sát.
Tách văn bản thành các ký tự có thể nghe lạ, nhưng cách này thường dùng cho bài toán sinh văn bản. Ngoài ra, quy trình chuẩn bị dữ liệu là như nhau, chỉ khác ở cách bạn tách văn bản.
Bạn sẽ tạo dữ liệu huấn luyện gồm danh sách các đoạn văn bản có độ dài cố định và nhãn của chúng, chính là các ký tự kế tiếp tương ứng.
Bạn sẽ tiếp tục dùng bộ dữ liệu chứa các câu trích của Sheldon (The Big Bang Theory), có trong biến sheldon_quotes.
Hàm print_examples() sẽ in ra các cặp để bạn thấy dữ liệu đã được biến đổi thế nào. Dùng help() để xem chi tiết.
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
- Đặt
stepbằng2vàchars_windowbằng10. - Thêm câu tiếp theo vào biến
sentences. - Thêm vị trí đúng của văn bản
sheldonvào biếnnext_chars. - Dùng hàm
print_examples()để in10câu và các ký tự kế tiếp.
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.
# Create lists to keep the sentences and the next character
sentences = [] # ~ Training data
next_chars = [] # ~ Training labels
# Define hyperparameters
step = ____ # ~ Step to take when reading the texts in characters
chars_window = ____ # ~ Number of characters to use to predict the next one
# Loop over the text: length `chars_window` per time with step equal to `step`
for i in range(0, len(sheldon_quotes) - chars_window, step):
sentences.____(sheldon_quotes[i:i + chars_window])
next_chars.append(sheldon_quotes[____])
# Print 10 pairs
print_examples(____, ____, 10)