다음 문자 예측하기
이 연습 문제에서는 학습된 모델이 주어졌을 때 다음 문자를 예측하는 함수를 구현해 보겠습니다. 이전 20개의 문자를 사용해 그다음 문자를 예측해요. 모델 학습 방법은 다음 레슨에서 다루며, 이는 모델을 학습하기 전에 꼭 필요한 단계입니다.
이는 필요한 경우 문장, 문단, 짧은 텍스트 또는 다른 텍스트 블록을 생성하기 위한 규칙을 만드는 첫 단계예요.
변수 n_vocab, chars_window와 딕셔너리 index_to_char는 이미 환경에 로드되어 있습니다. 또한 아래 함수들이 미리 제공되어 있어요:
initialize_X(): 텍스트 입력을 올바른 형태의 인덱스 번호 시퀀스로 변환합니다.predict_next_char(): 모델 클래스의.predict()메서드와index_to_char딕셔너리를 사용해 다음 문자를 가져옵니다.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
- 함수
get_next_char()를 정의하고 매개변수initial_text와chars_window를 기본값 없이 추가하세요. initialize_X()함수를 사용하고 변수char_to_index를 전달하여 예측에 사용할 영벡터를 얻으세요.predict_next_char()함수를 사용해 예측 값을 얻고 이를 변수next_char에 저장하세요.- 제공된
initial_text에 대해 위에서 정의한 함수를 적용해 예측된 문자를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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)))