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

Dự đoán ký tự tiếp theo

Trong bài tập này, bạn sẽ viết hàm để dự đoán ký tự tiếp theo dựa trên một mô hình đã được huấn luyện. Bạn sẽ dùng 20 ký tự trước đó để dự đoán ký tự kế tiếp. Bạn sẽ học cách huấn luyện mô hình ở bài học tiếp theo, vì đây là bước cần có trước khi huấn luyện mô hình.

Đây là bước khởi đầu để tạo ra các quy tắc sinh câu, đoạn văn, văn bản ngắn hoặc các khối văn bản khác theo nhu cầu.

Các biến n_vocab, chars_window và từ điển index_to_char đã được nạp sẵn trong môi trường. Ngoài ra, các hàm dưới đây đã được tạo sẵn cho bạn:

  • initialize_X(): Chuyển đổi văn bản đầu vào thành một chuỗi các chỉ số với hình dạng phù hợp.
  • predict_next_char(): Lấy ký tự tiếp theo bằng phương thức .predict() của lớp mô hình và từ điển index_to_char.

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

  • Định nghĩa hàm get_next_char() và thêm các tham số initial_textchars_window (không có giá trị mặc định).
  • Dùng hàm initialize_X() và truyền biến char_to_index để thu được một vectơ toàn số 0 dùng cho bước dự đoán.
  • Dùng hàm predict_next_char() để lấy dự đoán và lưu vào biến next_char.
  • In ra ký tự được dự đoán bằng cách áp dụng hàm đã định nghĩa lên initial_text đã cho.

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.

def ____(model, ____, ____, char_to_index, index_to_char):
  	# Initialize the X vector with zeros
    X = ____(initial_text, chars_window, ____)
    
    # Get next character using the model
    ____ = predict_next_char(model, X, ____)
	
    return next_char

# Define context sentence and print the generated text
initial_text = "I am not insane, "
print("Next character: {0}".format(____(model, ____, 20, char_to_index, index_to_char)))
Chỉnh sửa và Chạy Mã