
237
8
장
머신러닝으로 텍스트 생성하기
이런 작업을 대신해 주는 라이브러리와 헬퍼 함수는 많습니다. 따라서 이 장의 코드 대신에 해
당 함수를 사용해도 괜찮습니다. 하지만 내부에서 어떻게 동작하는지 보여 주기 위해 이 코드
를 작성했습니다.
변환된 결과는 [그림
8
-
4
]와 같습니다.
[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
....]
[0, 1, 2, 3, 4, 5, 6, 7]
[8]
문장:
Xs
:
레이블:
Ys
:
그림
8-4
원-핫 인코딩된 레이블
이는 매우 희소한(즉
0
이 많은) 표현입니다. 훈련 데이터와 단어가 많다면 메모리가 금방 부족
해질 겁니다. 훈련 데이터에 문장이
100
,
000
개 있고
10
,
000
개의 단어가 있다면 레이블을 담
기 위해
1
,
000
,
000
,
000
바이트가 필요합니다. 하지만 단어를 분류하고 예측하려면 이렇게 신
경망을 설계해야 합니다.
1
8.2
모델 만들기
이제 이 입력 데이터로 훈련할 수 있는 간단한 모델을 만들어 보죠. 모델은 임베딩 층,
LSTM
층, 밀집 층으로 구성됩니다.
임베딩에서는 단어 하나당 벡터 하나가 필요합니다. ...