word2vec는 단어간 유사도를 반영할 수 있도록, 단어의 의미를 벡터화하는 방법이다. word2vec에는 CBOW와 skip-gram 두 가지 방법이 있다.
CBOW
CBOW는 continuos bag of words의 줄임말로, 주변에 나타나는 단어들을 원핫 인코딩된 벡터로 입력받아 해당 단어를 예측하는 방법이다.
skip-gram
skip-gram은 대상 단어를 원핫 인코딩 벡터로 입력받아 주변에 나타나는 단어를 예측하는 방법이다.
보통 skip-gram이 CBOW보다 성능이 좋은 것으로 알려져 있으며 더 널리 쓰인다고 한다.
glove는 global vectors for word representation의 줄임말로, 대상 단어에 대해서 코퍼스에 함께 나타난 단어별 출현 빈도를 예측한다. 처음에 코퍼스를 통해 단어별 동시 출현 빈도를 조사하여 그에 대한 출현 빈도 행렬을 만들고, 이후엔 해당 행렬을 통해 동시 출현 빈도를 근사한다.
skip-gram보다 GloVe가 학습이 훨씬 더 빠르다. 또한 skip-gram은 출현 빈도 자체가 적은 단어에 대해서는 학습 기회가 적어 비교적 부정확한 단어 임베딩 벡터를 학습하게 된다. 그러나 GloVe의 경우 skip-gram에 비해 이러한 단점이 조금 보완되었다고 한다. 그렇지만 skip-gram도 파라미터 튜닝을 하게 되면 GloVe와 큰 성능차이가 없으므로 상황에 따라 골라 쓰는 것이 좋다.