시작하기무료로 시작하기

입력 텍스트 준비하기

영상에서 입력과 출력 텍스트를 준비하는 방법을 보셨죠. 이 연습 문제에서는 문장들의 최대 길이를 기준으로 패딩을 적용해 모든 문장의 길이를 맞추는 일반적인 방법을 실습해 볼 거예요. 이렇게 하면 정보가 손실되지 않아요.

RNN 모델은 입력의 크기가 동일해야 하므로, 더 짧은 문장에는 0을 채워 넣고 긴 문장은 자르지 않는 방식으로 모든 문장의 길이를 맞춥니다.

또한 토큰을 문자 단위가 아닌 단어 단위로 표현할 거예요. 이는 NMT 모델에서 흔히 쓰이는 접근 방식입니다.

포르투갈어 텍스트는 pt_sentences 변수에 로드되어 있고, 학습이 완료된 tokenizerinput_tokenizer 변수에 준비되어 있어요.

이 연습은 강의의 일부입니다

Keras로 배우는 언어 모델링을 위한 순환 신경망(RNN)

강의 보기

연습 안내

  • 각 문장에 .split() 메서드를 사용해 공백으로 분할하고, 문장의 단어 개수를 구하세요.
  • .texts_to_sequences() 메서드를 사용해 텍스트를 인덱스 시퀀스로 변환하세요.
  • 구한 문장 최대 길이를 사용해 패딩을 적용하세요.
  • 변환된 첫 번째 문장을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Get maximum length of the sentences
pt_length = max([len(sentence.____) for sentence in pt_sentences])

# Transform text to sequence of numerical indexes
X = input_tokenizer.____(pt_sentences)

# Pad the sequences
X = pad_sequences(X, maxlen=____, padding='post')

# Print first sentence
print(pt_sentences[0])

# Print transformed sentence
print(____)
코드 편집 및 실행