LSTM으로 텍스트 예측하기
이 연습 문제에서는 작은 텍스트 데이터셋을 사용해 다음 단어를 예측하는 간단한 LSTM 모델을 만들어 볼 거예요.
이 데이터셋은 The Lord of the Ring 영화의 정제된 대사로 구성되어 있으며, text 변수에 담겨 있어요.
이 text를 길이 4의 sequences로 변환하고, Keras의 Tokenizer를 사용해 모델에 들어갈 특성과 레이블을 준비해 보세요!
Keras의 Tokenizer는 이미 임포트되어 있어 바로 사용할 수 있어요. 이 도구는 각 고유 단어에 고유한 숫자를 할당하고 그 매핑을 딕셔너리에 저장합니다. 모델은 숫자를 다루기 때문에 중요하며, 나중에 예측 결과 숫자를 다시 단어로 디코딩할 때도 필요해요.
이 연습은 강의의 일부입니다
Keras로 시작하는 딥 러닝
연습 안내
.split()을 사용해 텍스트를 단어 배열로 분할하세요.- 한 번에 한 단어씩 이동하며, 4개 단어로 이루어진 문장을 만드세요.
Tokenizer()를 인스턴스화하고,.fit_on_texts()로 문장에 대해 학습시키세요..texts_to_sequences()를 호출해sentences를 숫자 시퀀스로 변환하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Split text into an array of words
words = ____.____
# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
sentences.append(' '.join(words[i-____:i]))
# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)
# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))