10.3 한국어 임베딩
지금까지 영어에 대한 임베딩을 진행했는데, 한국어에 대한 임베딩도 영어와 동일합니다. 얼마나 동일한지 코드로 직접 확인해 보겠습니다.
먼저 텍스트를 생성하고 전처리에 필요한 라이브러리를 호출합니다.
코드 10-64 예제를 진행할 텍스트 생성
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences
text = """과일 가게에 사과가 많이 진열되어 있다
그녀가 나에게 사과한 후, 우리는 친해졌다
애플은 사과 모양을 로고로 사용한다\n""" ------ 텍스트 생성
생성한 텍스트에 대해 인코더를 진행하기 위해 먼저 토큰화를 합니다.
코드 10-65 텍스트 토큰화
tok = Tokenizer() ------ Tokenizer 객체 생성
tok.fit_on_texts([text]) ------ ①
vocSize = len(tok.word_index) + 1
seqs = list()
for word in text.split("\n"):
encoded = tok.texts_to_sequences([word])[0] ------ 텍스트를 숫자로 변환
for i in range(1, len(encoded)):
seq = encoded[:i+1]
seqs.append(seq)
maxLen = max(len(i) for i in seqs)
seqs = pad_sequences(seqs, maxlen=maxLen, padding="pre") ------ 패딩을 이용하여 샘플 길이를 동일하게 지정
seqs