본문 바로가기

자연어처리

(2)
자연어처리 스터디기록(3)-딥러닝 정리 개인적으로 공부한 것을 정리한 내용이므로 틀린 곳이 있을 수 있습니다 자연어처리 모델들을 본격적으로 보려고 하기 시작하니까 필연적으로 머신러닝/딥러닝에 대한 이야기들이 나오기 시작했다. 웹개발에 집중하다보니 전에 공부했던 딥러닝 내용들을 많이 잊어버렸는데 다시 떠올려봐야겠다. 문제해결 패러다임의 변화!! 기존에는 "문제해결"이라고 하면 알고리즘을 많이 떠올렸다. 알고리즘이란 어떠한 문제를 해결하는 정확한 일련의 방법들이다. 이렇게 알고리즘이라고 정의할 수 있으려면 몇가지 필요조건들이 있다. 1. 입력 2. 출력 3. 명확성 4. 유한성 5. 실현가능성 위의 조건들을 통해 다시 정리하자면 알고리즘은 입력과 출력을 만들기 위해 유한번 실행되는 명확하고 실현가능한 명령들의 나열이라고 정의할 수 있을 것이다. ..
자연어처리 스터디(4)- neural language model NPLM(Neural Probabilistic Language Model) 앞서 "단어가 어떤 순서로 쓰였는가"의 철학으로 만든 모델 n-gram 모델의 문제점은 바로 n을 크게 하면 할 수록 많은 단어들의 history를 확인해야 하는데 만약 예측단계에서 들어온 단어가 history에 등장하지 않은 단어라면 굉장히 자연스러운 문장이 자연스러울 확률이 0이 나오는 대참사가 일어나게 되는 문제점이였다. 정리하면 학습 데이터에 존재하지 않는 n-gram이 포함된 문장이 나타날 확률을 0으로 매긴다 n을 5이상으로 설정하기 어렵기 때문에 문장의 장기 의존성을 포착해내기 어렵다. 단어/문장 간 유사도는 고려조차 하지 않는다. neural net을 쓰기 이전에는 smoothing( 작은 상수를 더해서 0이 안나오..