
- 분류: Language Model
- 저자: Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean
- 소속: Google
- paper: Efficient Estimation of Word Representations in Vector Space
- 키워드: word2vec, word embedding, CBOW
자연어 처리(NLP) 분랴에서 word-embedding 기법의 혁신적 발전을 이룬 연구
- 문맥을 고려하지 않음 -> 희소성 문제 해결 곤란
- 신경망 기반 언어 모델(NNLM, RNNLM)은 단어 벡터 학습 가능, 계산 비용 매우 높음
- 대규모 데이터셋을 처리하는 효율적인 방법 필요
(+) 기존 모델의 희소성(sparsity) 문제
단어를 개별 원자 단위로 취급, 학습 데이터에 존재하지 않는 단어가 문맥을 제대로 처리하지 못함
계산량은 줄이고 단어 간 관계를 효과적으로 학습하는 word-embedding 모델 제안
핵심 목표: 고품질의 단어 벡터를 매우 큰 데이터셋에서 효율적으로 학습하는 방법 찾기

문맥(앞뒤 단어들)로부터 현재 단어 예측
단어 순서 정보 무시, 평균 벡터 활용
(예) I love NLP와 love NLP I는 같은 입력으로 처리
[단어 순서 정보를 무시하는 이유]
1) 학습 속도와 계산 효율성 증가: 고려 시, 네트워크 구조가 복잡해지고 계산량 증가
2) 단어 순서보다 단어 의미의 연관성이 중요할 수 있음: 문맥을 구성하는 단어의 존재 자체가 더 중요
3) N-gram 모델에서 순서가 강하게 적용되던 문제 해결
순서가 고정되어 있어 새로운 조합을 잘 학습하지 못함. CBOW에서는 순서 제거로 일반적인 표현 학습 가능
매우 빠른 속도
단어 벡터가 의미적 및 문법적 관계를 얼마나 잘 포착하는지 평가
예) ‘king-man + woman = queen’
예) ‘Paris-France + Italy = Rome’

기존 RNNLM(55.4%)보다 높은 58.9% 정확도 기록
특정한 단어 관계를 표현하는 연산 수행, 가장 유사한 벡터를 찾아 정답 맞추기
(예)
vector(‘King’) - vector(‘Man’) + vector(‘Woman’) ≈ vector(‘Queen’)


CBOW와 Skip-gram이 기존 NNLM, RNNLM보다 훨씬 빠르고 효율적으로 단어 벡터 학습
- 고정된 단어 표현: 문맥에 따라 달라지는 단어 의미 반영 X
- 구문 정보 부족: 단순 단어 벡터만으로는 문장 구조 반영 곤란
- 다의어 처리 한계: 단어의 여러 의미를 구별하는 메커니즘 부재