더북(TheBook)

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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.