728x90
반응형
- Refs
- Index
- Introduction to NLP
- Word Vectors
- Representations
- Count-Based Modes (SVD Methods)
- Neural Network-Based Models (Word2Vec)
- Introduction to NLP
- Signified(ex>concept, meaning) mapped Signifier(symbolic)
- 시그니피앙은 글자, 시그니피앙은 그림으로 이해.
- 즉 사람의 언어는 이산적, 심볼릭, 카테고리적 인 언어이므로 매우 복잡하며 이 모든 것을 고려한 알고리즘이 요구 됨.
- Word Vectors ( = Word Embeddings = Word Representations)
- Representations
- Representation means 단어를 수치화 하는 방법
- WordNet
- Synonym, Hypernym 을 고려한 어휘사전(word dict) 을 만들어서 사용함
- but 주관적인 의미의 정확한 해석 및 유사도 계산에 어려움
- One-hot vector
- word to vector 표현 시 간단한 방법으로, 해당하는 단어의 component 에만 1을 대응 시킴.
- Represented word’s discrete symbols to localist
- localist 는 독립적인 기준을 가지고 단일값을 표현함. 그 예시가 원핫벡터임.
- motel = [0 0 0 … 0 0 0 1 0 0 0 0 ]
- hotel = [0 0 0 … 1 0 0 0 0 0 0 0 ]
- vector dimension 은 vocabulary 내의 단어들의 갯수가 됨. 따라서 단어가 5억개면 벡터 차원이 5억개가 되며, motel, hotel 과 같은 의미론적 유사성이 있는 단어들을 orthogonal 하게 표현하기 때문에 similarity 를 표현 할 수 없음.
- 즉, “orthogonal(직교성의, 수직하여 만나는)” 한 특성 때문에 단어 간 유사도 계산이 어려우며 문장이 길어질 수록 Sparse 해지고 차원도 커짐. 즉, 단어간의 의미를 수식화할 수 없음. 이러한 단점을 해소하기 위해 distributed representation(hypothesis) 등장.
- Distribution Hypothesis 분포가설
- Distribution Hypothesis 는 동일한 문맥context 에서 사용되는 단어는 비슷한 의미를 가지는 경향이 있음.
- Ex> “은행” 이라는 단어의 주변문맥(돈, 대출, 통장) 을 가지고 은행을 추론해 나감.
- Word Vector Representions 에는 대표적으로 Count-Based Models (SVD Methods), Neural Network-Based Model 2가지가 있음.
- Count-Based Models (SVD Methods)
- SVD: Singular Value Decomposition. 특이값 분해.
- Definition: 문장에 동시에 등장하는 단어의 수(co-occurrence)를 카운트 해서 이를 벡터화(행렬화) 해준 다음에 “특이값분해” 처리하여 차원축소 하는 방법.
- Method: 여러 문장들을 조합하여 interesting 단어가 등장하는 횟수를 카운팅 하여 co-occurrence matix (=행렬 M) 생성. 이 행렬을 outer-product(외적, 벡터의 텐서곱) 를 통해서 U, sigma, Right 로 분해(=SVD).
figure 2 내 1시 방향이 최종 M. - SVD 를 통해 나온 eigen vector, eigen value 를 가지고 theta(=th) 를 만족하는 k 차원으로 축소시킴.
- but, (1) 새로운 단어 출현으로 인해 matrix 차원이 자주 바뀜→ svd re-calculate 요구.
- 대부분의 단어가 동시에 출현하지 않으므로 matrix 가 매우 sparse 해짐.
- SVD: Singular Value Decomposition. 특이값 분해.
- Neural Network-Based Models (Word2Vec)
- word2vec 신경망 모델로 (1)Continuos Bag-of-Words(CBOW) 와 (2)Skip-gram 알고리즘이 있음
- Continuous Bag-of-Words
- 주변 context 단어들로 부터 하나의 타겟 단어를 예측 하는 모델이며 단어의 순서를 고려하지 않음. 일반적인 NNLM 과 달리 hidden layer 를 줄였기 때문에 연산 속도가 빠름.
- 주변 context 단어들로 부터 하나의 타겟 단어를 예측 하는 모델이며 단어의 순서를 고려하지 않음. 일반적인 NNLM 과 달리 hidden layer 를 줄였기 때문에 연산 속도가 빠름.
- Skip-gram
- CBOW 와 반대로 하나의 단어에서 주변 context 단어를 예측하는 모델. input 은 하나인데 output 은 context 주변 단어만큼이 window-size 가 되어 출력 됨. 값이 무한대로 커지는 것을 방지하고자 Negative log 를 취해서 loss function 에 적용.
- but, window-size 가 커질 수록 calcuate 이 오래걸림. 효율적인 학습을 위해 아래 3가지 방법 제시
- Subsampling of Frequent Words: ‘the’, ‘a’ 와 같이 너무 자주 출현하는 단어는 정보의 가치가 없다고 판단하고 가중치 조정함.
- Hierarchical Softmax: 출력 시 window-size 가 아닌 binary tree 형태로 표현하는 방법. 모델에 단어와 빈도수 정보가 주어졌을 때, 빈도수가 많은 순서로 단어를 열거해주며, 빈도수가 적은 단어부터 pair 를 이루어 나가서 계층적 트리 구조를 가지게 됨.
- Negative Sampling (NEG): Noise Contrasive Estimation 의 변형으로 “좋은 모델은 로지스틱 회귀를 통해 노이즈를 구별 할 수 있어야 한다" 가 가정임.
- CBOW 와 반대로 하나의 단어에서 주변 context 단어를 예측하는 모델. input 은 하나인데 output 은 context 주변 단어만큼이 window-size 가 되어 출력 됨. 값이 무한대로 커지는 것을 방지하고자 Negative log 를 취해서 loss function 에 적용.
- Representations
728x90
반응형