문맥을 반영해 문장 생성하기
이 연습 문제에서는 사전 학습된 텍스트 생성 모델을 직접 시험해 보겠습니다. 환경에는 이미 model 변수로 모델이 로드되어 있고, initialize_params()와 get_next_token() 함수도 제공되어 있어요.
후자의 함수는 사전 학습된 모델을 사용해 다음 문자를 예측하고, 세 가지 변수를 반환합니다: 다음 문자 next_char, 업데이트된 문장 res, 그리고 다음 예측에 사용할 시프트된 텍스트 seq입니다.
사전 학습된 모델과, 생성할 문장의 시작이 될 문자열을 입력으로 받는 함수를 정의해 보세요. 이렇게 하면 문맥을 반영해 텍스트를 생성할 수 있어요. 100자 제한은 예시일 뿐이므로, 실제 응용에서는 다른 제한을 두거나 제한 없이 생성해도 됩니다.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
initial_text변수를initialize_params()함수에 전달하세요.- 카운터가 100에 도달하거나 마침표(
r'.')를 찾으면 루프가 멈추도록 조건을 만드세요. - 초기값
res,seq를get_next_token()함수에 전달해 다음 문자를 얻으세요. - 정의한 함수가 생성한 예시 문장을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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, "))