1. 기존 N-gram 언어 모델의 한계
- 언어 모델은 충분한 데이터를 관측하지 못하면 언어를 정확히 모델링하지 못하는 희소 문제(sparsity problem)가 있음
2. 단어의 의미적 유사성
- 희소 문제는 기계가 단어 간 유사도를 알수 있다면 해결할 수 있는 문제임
- 언어 모델이 단어의 유사도를 학습할 수 있도록 설계한다면, 훈련 코퍼스에 없는 단어 시퀀스에 대한 예측이라도 유사한 단어가 사용된 단어 시퀀스를 참고하여 보다 정확한 예측을 할 수 있음
- 이런 아이디어를 가지고 탄생한 언어 모델이 신경망 언어 모델 NNLM임
3. 피드 포워드 신경망 언어 모델(NNLM)
- 'what will the fat cat'를 입력을 받아서 'sit'을 예측하는 일은 기계에게 실제로는 what, will, the, fat, cat의 원-핫 벡터를 입력받아 sit의 원-핫 벡터를 예측하는 문제임
- NNLM은 n-gram 언어 모델과 유사하게 다음 단어를 예측할 때, 앞의 모든 단어를 참고하는 것이 아니라 정해진 n개(범위 window)의 단어만을 참고 함
4. NNLM의 이점과 한계
- 기존 모델에서의 개선점
- 단어의 유사도를 단어를 표현하기 위해 밀집 벡터(dense vector)를 사용하므로서 단어의 유사도를 표현
- 희소 문제(sparsity problem) 해결
- n-gram 언어 모델보다 저장 공간의 이점을 가짐
- 한계
- 정해진 n개의 단어만을 참고하므로 버려지는 단어들이 가진 문맥 정보는 참고할 수 없음
- 출처 : [딥러닝을이용한 자연어 처리 입문] 0810 피드 포워드 신경망 언어 모델(Neural Network Language Model, NNLM)
'IT 와 Social 이야기 > NLP 자연어처리' 카테고리의 다른 글
[딥러닝을이용한 자연어 처리 입문] 0901 순환 신경망(Recurrent Neural Network, RNN) (0) | 2021.05.20 |
---|---|
수식어 없는 인생 (0) | 2021.05.20 |
[딥러닝을이용한 자연어 처리 입문] 0809 다층 퍼셉트론(MultiLayer Perceptron, MLP)으로 텍스트 분류하기 (0) | 2021.05.19 |
[딥러닝을이용한 자연어 처리 입문] 0808 케라스 서브클래싱 API(Keras Subclassing API) (0) | 2021.05.19 |
[딥러닝을이용한 자연어 처리 입문] 0807 케라스의 함수형 API(Keras Functional API) (0) | 2021.05.19 |