더북(TheBook)

그렇다면 이 단어 간 유사도는 어떻게 계산하는 것일까요? 여기서 앞서 배운 오차 역전파가 또다시 등장합니다. 적절한 크기로 배열을 바꾸어 주기 위해 최적의 유사도를 계산하는 학습 과정을 거치는 것이지요. 이 과정은 케라스에서 제공하는 Embedding() 함수를 사용하면 간단히 해낼 수 있습니다. 예를 들어 다음과 같이 Embedding() 함수를 적용해 딥러닝 모델을 만들 수 있습니다.

from tensorflow.keras.layers import Embedding

model = Sequential()
model.add(Embedding(16,4))

Embedding() 함수는 입력과 출력의 크기를 나타내는 두 개의 매개변수가 있어야 합니다. 앞 예제에서 Embedding(16,4)는 입력될 총 단어 수는 16, 임베딩 후 출력되는 벡터 크기는 4로 하겠다는 의미입니다. 여기에 단어를 매번 얼마나 입력할지 추가로 지정할 수 있습니다. Embedding(16, 4, input_length=2)라고 하면 총 입력되는 단어 수는 16개이지만 매번 두 개씩만 넣겠다는 의미입니다.

단어 임베딩의 예는 다음 절에서 직접 실습하면서 확인할 것입니다. 단어 임베딩을 포함하며 지금까지 배운 내용을 모두 적용해 텍스트 감정을 예측하는 딥러닝 모델을 만들어 보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.