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

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

Xem khóa học

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

  • Đặt step bằng 2chars_window bằng 10.
  • Thêm câu tiếp theo vào biến sentences.
  • Thêm vị trí đúng của văn bản sheldon vào biến next_chars.
  • Dùng hàm print_examples() để in 10 câ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)
Chỉnh sửa và Chạy Mã