훈련을 위한 데이터 준비
이 연습 문제에서는 모델 훈련을 위해 데이터를 계속 준비해 볼 거예요. 문장 배열과 다음 문자 배열을 만든 뒤, 모델에서 사용할 수 있도록 숫자값으로 변환해야 합니다.
이 단계는 RNN 모델이 문자열이 아닌 숫자만 입력으로 기대하기 때문에 필요합니다. 문장에 등장한 문자를 나타내는 위치에 0 또는 1을 갖는 숫자 배열을 만들게 됩니다. 1(또는 True)은 해당 문자가 존재함을, 0(또는 False)은 해당 위치에 문자가 없음을 의미합니다.
sentences, next_char, n_vocab, chars_window, num_seqs(훈련 데이터의 문장 수) 변수와 numpy는 np로 이미 환경에 로드되어 있습니다.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
- 0으로 채워진
np.array()를 만들고, 모양을(문장 수, 문자 윈도우, 어휘집 크기)로 지정하세요. - 사전
char_to_index를 사용해 현재 문자의 위치를1로 설정하세요. - 현재 다음 문자(next character)를
1로 설정하세요. - 각 배열의 첫 번째 위치를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Instantiate the variables with zeros
numerical_sentences = np.zeros((____, ____, ____), dtype=np.bool)
numerical_next_chars = np.zeros((num_seqs, n_vocab), dtype=np.bool)
# Loop for every sentence
for i, sentence in enumerate(sentences):
# Loop for every character in sentence
for t, char in enumerate(sentence):
# Set position of the character to 1
numerical_sentences[i, t, ____] = ____
# Set next character to 1
____[i, char_to_index[next_chars[i]]] = 1
# Print the first position of each
print(____, ____, sep="\n")