Tokenizer로 어휘 수 제어하기
Tokenizer의 동작을 조금 더 자세히 살펴보겠습니다. 이 연습 문제에서는 학습된 Tokenizer를 사용해 임의의 문장을 시퀀스로 변환하는 방법을 익힐 거예요. 더불어 Tokenizer의 어휘(vocabulary) 크기를 제어하는 방법도 배웁니다. 또한 Tokenizer의 어휘 크기를 제한했을 때 사전 밖(out-of-vocabulary, OOV) 단어가 어떻게 처리되는지도 확인해 볼 거예요.
이번 연습을 위해 이전에 구현한 en_tok Tokenizer가 제공되어 있어요. Tokenizer는 이미 임포트되어 있습니다.
이 연습은 강의의 일부입니다
Keras로 배우는 Machine Translation
연습 안내
- 이전의
en_tokTokenizer를 사용해 다음 문장을 시퀀스로 변환하세요:she likes grapefruit , peaches , and lemons . - 어휘 크기를 50으로 하고 사전 밖 단어 토큰을
UNK로 설정한 새Tokenizer인en_tok_new를 생성하세요. - 새 Tokenizer를
en_text데이터에 맞춰 학습(fit)하세요. en_tok_new로 문장she likes grapefruit , peaches , and lemons .을(를) 시퀀스로 변환하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Convert the sentence to a word ID sequence
seq = ____.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence: ', seq)
# Define a tokenizer with vocabulary size 50 and oov_token 'UNK'
en_tok_new = ____(num_words=____, ____=____)
# Fit the tokenizer on en_text
en_tok_new.____(____)
# Convert the sentence to a word ID sequence
seq_new = en_tok_new.____(['she likes grapefruit , peaches , and lemons .'])
print('Word ID sequence (with UNK): ', seq_new)
print('The ID 1 represents the word: ', en_tok_new.index_word[1])