자연어 처리(NLP)에서 단어를 컴퓨터가 이해하려면 숫자 벡터로 변환해야 한다.
이러한 단어 벡터를 학습하는 대표적인 방법으로는 Word2Vec과 GloVe가 있다.
이번 글에서는 GloVe(Global Vectors for Word Representation) 가 무엇인지, 왜 등장했는지, 그리고 Word2Vec과 어떤 차이가 있는지 정리해본다.
Word Embedding은 단어를 고정 길이의 실수 벡터로 표현하는 방법이다.
예를 들어:
| 단어 | 벡터 |
|---|---|
| king | [0.21, -0.55, ...] |
| queen | [0.18, -0.51, ...] |
이 벡터는 단순 숫자가 아니라 단어의 의미를 담고 있다.
좋은 embedding은 의미 관계까지 반영한다.
대표적인 예:
즉:
이런 특성을 통해 단어 벡터의 품질을 평가한다.
기존 방법은 크게 두 가지 계열로 나뉜다.
대표 예시:
이 방법들은 단어들의 전체 통계를 잘 활용한다.
예를 들어:
| 단어쌍 | 동시 등장 횟수 |
|---|---|
| ice - solid | 많음 |
| steam - gas | 많음 |
이러한 co-occurrence(동시 등장) 정보를 행렬로 만든 뒤 분해한다.
대표 모델:
이 모델들은 주변 단어를 예측하는 방식으로 학습한다.
예:
The cat sits on the mat
window=2 라면:
같은 local context만 본다.
GloVe는 다음 질문에서 시작한다.
“단어의 의미를 표현하려면 단순한 local context만으로 충분할까?”
논문은 다음 결론을 제시한다.
“단어 간 전체 co-occurrence statistics가 중요하다.”
즉 GloVe는:
을 결합하려고 했다.
GloVe는 먼저 co-occurrence matrix를 만든다.
Xij:
단어 i 주변에서 단어 j가 등장한 횟수
예시:
| 중심 단어 | 주변 단어 | 횟수 |
|---|---|---|
| ice | solid | 1200 |
| steam | gas | 980 |
GloVe는 다음 확률을 정의한다.
여기서:
즉:
“i 주변에서 j가 등장할 확률”
논문에서 가장 핵심은 바로 이것이다.
예:
그리고 비교 단어:
solid는 ice와 자주 등장하고
gas는 steam과 자주 등장한다.
이를 다음 비율로 표현:
이 ratio가 단어 의미 차이를 잘 드러낸다.
즉:
같은 관계를 벡터 공간 안에 반영할 수 있다.
GloVe는 다음 목표를 가진다.
실제 co-occurrence를 잘 예측하도록 벡터를 학습한다.
이를 위해:
를 사용한다.
핵심은:
log(co-occurrence count)를 예측하는 것
이다.
co-occurrence count는 편차가 매우 크다.
예:
| 단어쌍 | 횟수 |
|---|---|
| the - of | 수백만 |
| zebra - telescope | 몇 번 안 됨 |
그대로 사용하면 큰 값이 학습을 지배한다.
그래서:
GloVe는 weighting function도 사용한다.
일반적으로:
문제점:
예:
이런 단어는 정보량이 적다.
따라서:
| 특징 | Word2Vec | GloVe |
|---|---|---|
| 방식 | prediction 기반 | count + prediction 결합 |
| 활용 정보 | local context | global statistics |
| 학습 대상 | 주변 단어 예측 | co-occurrence 관계 |
| 강점 | analogy 성능 | 의미 관계 + 통계 활용 |
| 학습 방식 | neural prediction | weighted regression |
논문 결과:
테스트 데이터셋:
문법(syntactic)에 강함
예:
의미(semantic)에 강함
예:
논문에서는 같은 조건에서:
GloVe는 단순히 주변 단어만 보는 것이 아니라:
“단어들이 corpus 전체에서 어떻게 함께 등장하는가”
를 학습하는 모델이다.
즉:
을 결합한 embedding 모델이라고 볼 수 있다.
그래서 GloVe는:
등 다양한 NLP task에서 뛰어난 성능을 보인다.
특히:
“확률의 비율이 의미를 만든다”
라는 아이디어가 GloVe의 핵심이라고 할 수 있다.