NLP [DAY1]에서 NLP Intro와 Bag-of-Words강의까지 같이 있어서 분리해서 포스팅함.
1. Word Embedding
- 벡터가 어떻게 의미를 가지게 되는가
구분 |
백워브워즈 가정 |
언어 모델 |
분포 가정 |
내용 |
어떤 단어가 (많이) 쓰였는가 |
단어가 어떤 순서로 쓰였는가 |
어떤 단어가 같이 쓰였는가 |
대표 통계량 |
TF-IDF |
- |
PMI |
대표 모델 |
Deep Averaging Network |
ELMo, GPT |
Word2Vec |
임베딩을 만드는 세 가지 철학
- 백오브워즈 가정 : 저자의 의도가 단어 사용 여부나 그 빈도에서 드러난다고 보는 가정.
- TF-IDF(Term Frequency-Inverse Document Frequency) : 어떤 단어의 주제 에측 능력이 강할수록 가중치가 커지고, 그 반대의 경우 작아짐
$$TF - IDF(w) = TF(w)*log(\frac{N}{DF(w)})$$
- Deep Averaging Network : 문장에 속한 단어의 임베딩을 평균을 취해 무장의 임베딩을 만듦.
- 언어모델 : 단어의 등장 순서를 학습해 주어진 단어 시퀀스가 얼마나 자연스러운지 확률을 부여함.
- 분포가정 : 단어의 의미는 주변 문맥을 통해 유추해볼 수 있다고 보는 가정
- PMI (Pointwise Mutual Information) : 두 단어(A,B)가 얼마나 자주 같이 등장하는지에 관한 정보를 수치화
$$PMI(A,B) = log\frac{P(A,B)}{P(A) * P(B)}$$
- Word2Vec : 특정 다긴 단어 주변의 문백, 즉 분포 정보를 함축함.
2. Bag-of-words Representation
- Bag-of-Word(BoW) : 문법적인 정보나 단어의 등장순서는 고려하지 않고 단어의 등장 빈도만을 고려하는 임베딩 기법.
- Modeling BoW
- 유니크한 단어로 단어를 빌드
- 각 단어를 one-hot vector로 인코딩
- 텍스트 데이터는 one-hot vector의 합(Bag-of-words vector)으로 표현.
3. Naive Bayses Classifier (나이브 베이즈 분류기)
- Naive Bayes Classifier : 베이즈 이론을 적용한 간단한 확률을 기반으로한 분류기임.
- Bayes' theorem
- conditional probability 조건부확률의 순서를 바꿀 수 있는 이론
$$P(A|B) = \frac{P(B|A)P(A)}{P(B)}$$
- C개의 클래스가 존재하고 각 다큐먼트를 d라고 표현
- $$P(c|d)$$: probability that d belongs to c
- Bayes' theorem 적용,
$$P(c|d) = \frac{P(d|c)P(c)}{P(d)}$$
$$P(c|d) = P(d|c)P(c)$$