문장과 다음 문자 벡터 만들기
이 연습 문제는 데이터 준비의 중요성을 더 강조하려는 목적이에요. 입력으로 The Big Bang Theory TV 쇼의 캐릭터 Sheldon이 말한 문장을 담은 텍스트를 사용하고, 텍스트 생성 모델을 만들기 전에 필요한 문장 인덱스 벡터와 다음 문자 벡터를 생성하게 됩니다.
텍스트는 sheldon 변수에, 어휘(문자 집합)는 vocabulary 변수에 제공되어 있으며, 하이퍼파라미터 chars_window와 step은 각각 20, 3으로 정의되어 있어요. 이는 20개의 문자 시퀀스를 사용해 다음 문자를 예측하고, 각 반복에서 창(window)이 3자씩 이동함을 의미합니다.
또한 pandas 패키지는 pd로 환경에 로드되어 있습니다.
이 연습은 강의의 일부입니다
Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)
연습 안내
- 줄바꿈 기준으로 텍스트를 분할해 문장 단위로 반복하세요.
- 문장 끝에서
chars_window를 뺀 지점까지 반복하세요. - 길이가
chars_window인 문장 부분을sentences변수에 추가하고, 그 다음 문자를next_chars변수에 추가하세요. - 이렇게 얻은 벡터로
pd.DataFrame()을 만들고, 처음 몇 행을 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Instantiate the vectors
sentences = []
next_chars = []
# Loop for every sentence
for sentence in sheldon.____:
# Get 20 previous chars and next char; then shift by step
for i in range(0, len(sentence) - ____, step):
sentences.append(sentence[i:i + ____])
next_chars.append(sentence[____ + chars_window])
# Define a Data Frame with the vectors
df = pd.DataFrame({'sentence': ____, 'next_char': ____})
# Print the initial rows
print(df.head())