Tạo câu với ngữ cảnh
Trong bài tập này, bạn sẽ thử nghiệm với một mô hình đã được huấn luyện sẵn để sinh văn bản. Mô hình đã được nạp sẵn trong môi trường dưới biến model, cùng với các hàm initialize_params() và get_next_token().
Hàm sau sẽ dùng mô hình đã huấn luyện để dự đoán ký tự tiếp theo và trả về ba biến: ký tự kế tiếp next_char, câu đã được cập nhật res và chuỗi dịch seq sẽ được dùng để dự đoán ký tự tiếp theo nữa.
Bạn sẽ định nghĩa một hàm nhận vào một mô hình đã huấn luyện sẵn và một chuỗi dùng làm phần mở đầu của câu cần sinh. Đây là cách hay để sinh văn bản có ngữ cảnh. Giới hạn câu là 100 ký tự chỉ là ví dụ; trong ứng dụng của bạn có thể dùng giới hạn khác (hoặc thậm chí không giới hạn).
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
- Truyền biến
initial_textvào hàminitialize_params(). - Tạo điều kiện dừng vòng lặp khi bộ đếm đạt 100 hoặc gặp dấu chấm (
r'.'). - Truyền các giá trị ban đầu
res,seqvào hàmget_next_token()để lấy ký tự kế tiếp. - In ra câu ví dụ được tạo bởi hàm bạn đã định nghĩa.
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 generate_phrase(model, initial_text):
# Initialize variables
res, seq, counter, next_char = initialize_params(____)
# Loop until stop conditions are met
while counter < ____ ____ next_char != r'.':
# Get next char using the model and append to the sentence
next_char, res, seq = get_next_token(model, ____, ____)
# Update the counter
counter = counter + 1
return res
# Create a phrase
print(____(model, "I am not insane, "))