본문 바로가기
IT 와 Social 이야기/NLP 자연어처리

[딥러닝을이용한 자연어 처리 입문] 1005 글로브(GloVe)

by manga0713 2021. 5. 21.

글로브(Global Vectors for Word Representation, GloVe)는 카운트 기반과 예측 기반을 모두 사용하는 방법론으로 카운트 기반의 LSA(Latent Semantic Analysis)와 예측 기반의 Word2Vec의 단점을 지적하며 이를 보완한다는 목적으로 나왔고, 실제로도 Word2Vec만큼 뛰어난 성능을 보여줌

 

Word2Vec와 GloVe 중에서 어떤 것이 더 뛰어나다고 말할 수는 없고, 이 두 가지 전부를 사용해보고 성능이 더 좋은 것을 사용하는 것이 바람직함

 

 

2. 윈도우 기반 동시 등장 행렬(Window based Co-occurrence Matrix)

 

- 단어의 동시 등장 행렬은 행과 열을 전체 단어 집합의 단어들로 구성하고, i 단어의 윈도우 크기(Window Size) 내에서 k 단어가 등장한 횟수를 i행 k열에 기재한 행렬

 

- 코퍼스가 다음과 같을 때

 

I like deep learning
I like NLP
I enjoy flying

 

- 행렬은

- 위 행렬은 행렬은  i 단어의 윈도우 크기 내에서 k 단어가 등장한 빈도는 반대로 k 단어의 윈도우 크기 내에서 i 단어가 등장한 빈도와 동일하기 때문에 전치(Transpose)해도 동일한 행렬이 됨

 

 

3. 동시 등장 확률(Co-occurrence Probability)

 

- 동시 등장 확률 P(k | i)는 동시 등장 행렬로부터 특정 단어 i의 전체 등장 횟수를 카운트하고, 특정 단어 i가 등장했을 때 어떤 단어 k가 등장한 횟수를 카운트하여 계산한 조건부 확률

 

5. GloVe 훈련시키기

 

 

nlp_1005_glove_글로브.ipynb
0.00MB

 

- 출처 : [딥러닝을이용한 자연어 처리 입문] 1005 글로브(GloVe)