컴퓨터공학/NN

Word2Vec

airoot 2024. 8. 21. 20:18

Word2Vec은 자연어 처리(NLP)에서 단어를 벡터로 변환하는 방법을 제시한 모델이다. 이 모델은 단어의 의미적 유사성을 벡터 공간에서 반영하여 단어 간의 관계를 학습한다. Word2Vec은 구글의 연구원인 Tomas Mikolov와 그의 동료들에 의해 2013년에 제안되었다.

 

1. Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). "Efficient Estimation of Word Representations in Vector Space."
이 논문에서는 Word2Vec 모델의 기본 개념과 CBOW 및 Skip-gram 모델을 설명한다. 이 논문은 단어의 벡터 표현을 효율적으로 학습하는 방법을 제시하였으며, 자연어 처리의 여러 작업에 혁신적인 영향을 미쳤다.
arXiv:1301.3781



2. Mikolov, T., Sutskever, I., Chen, K., Corrado, G., & Dean, J. (2013). "Distributed Representations of Words and Phrases and their Compositionality."
이 논문에서는 Word2Vec 모델을 확장하여 단어뿐만 아니라 문구(phrase)의 벡터 표현을 학습할 수 있는 방법을 제시한다. 이 논문은 특히 단어의 조합(compositionality) 문제를 다루며, 단어 간의 복잡한 관계를 포착하는 방법에 대해 논의한다.

arXiv:1310.4546

 

Word2Vec은 크게 두 가지 모델로 나눌 수 있다:

  1. CBOW(Continuous Bag of Words): 이 모델은 주어진 문맥(주변 단어들)으로부터 타겟 단어를 예측하는 방식으로 학습된다. 예를 들어, "The cat sits on the"라는 문장에서 "mat"라는 단어를 예측하는 것이다. CBOW는 문맥을 통해 타겟 단어를 추론하는데 중점을 둔다.
  2. Skip-gram: 이 모델은 주어진 단어로부터 주변 단어들을 예측하는 방식으로 학습된다. 예를 들어, "mat"라는 단어를 사용하여 "The", "cat", "sits", "on", "the"와 같은 주변 단어들을 예측하는 것이다. Skip-gram은 하나의 단어로부터 문맥을 추론하는데 중점을 둔다.

이 두 모델 모두 신경망을 사용하여 단어를 고정된 크기의 실수 벡터로 변환한다. 이 벡터는 단어의 의미적 특성을 반영하게 되며, 유사한 의미를 가진 단어들은 벡터 공간에서 가까운 거리에 위치하게 된다.

 

Word2Vec의 주요 특징은 다음과 같다.

  • 의미적 유사성: Word2Vec으로 학습된 단어 벡터들은 유사한 의미를 가진 단어들이 벡터 공간에서 가깝게 위치하게 된다. 예를 들어, "king"과 "queen" 또는 "Paris"와 "France"는 유사한 벡터를 가지게 된다.
  • 벡터 연산: 학습된 단어 벡터는 단순한 벡터 연산을 통해 단어 간의 관계를 나타낼 수 있다. 예를 들어, "king - man + woman"이라는 벡터 연산은 "queen"에 가까운 결과를 도출한다.

Word2Vec은 NLP의 다양한 작업에서 단어 임베딩을 생성하는 데 널리 사용되었으며, 이후의 여러 임베딩 기법들(예: GloVe, FastText)과 NLP 모델들(예: BERT, GPT)의 기초를 다지는 중요한 역할을 했다.