더북(TheBook)

여기서 maxlen=100은 단어 수를 100개로 맞추라는 의미입니다. 만일 입력된 기사의 단어 수가 100보다 크면 100개째 단어만 선택하고 나머지는 버립니다. 100에서 모자랄 때는 모자라는 부분을 모두 0으로 채웁니다.

이제 y 데이터에 원-핫 인코딩 처리를 하여 데이터 전처리 과정을 마칩니다.

# 원-핫 인코딩 처리를 합니다.
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

데이터 전처리 과정이 끝났으므로 딥러닝의 구조를 만들 차례입니다.

# 모델의 구조를 설정합니다.
model = Sequential()
model.add(Embedding(1000, 100))
model.add(LSTM(100, activation='tanh'))
model.add(Dense(46, activation='softmax'))

Embedding 층과 LSTM 층을 새로 추가했습니다. Embedding 층은 데이터 전처리 과정을 통해 입력된 값을 받아 다음 층이 알 수 있는 형태로 변환하는 역할을 합니다. Embedding('불러온 단어의 총수', '기사당 단어 수') 형식으로 사용하며, 모델 설정 부분의 맨 처음에 있어야 합니다.

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