Word2vec는 2013년 Google 연구자들이 도입한 일련의 관련 신경망 모델로, 대규모 레이블 없는 텍스트 말뭉치에서 단어의 조밀한 벡터 표현을 학습하며, 수작업으로 만든 언어 규칙 대신 벡터 연산을 통해 단어 의미와 용법의 측면을 포착한다. 이는 단어 간 의미 관계가 텍스트의 단어 동시 발생 패턴에서 직접 복구될 수 있음을 입증한 최초의 임베딩 기법 중 하나였다.
방법
Word2vec는 2013년에 발표된 논문들에서 Tomas Mikolov와 Google의 동료들( Jeff Dean, Ilya Sutskever 포함)이 설명한 두 가지 관련 아키텍처를 통해 도입되었다: 주변 문맥 단어로부터 목표 단어를 예측하는 continuous bag-of-words(CBOW)와, 목표 단어가 주어졌을 때 주변 문맥 단어를 예측하는 skip-gram. 둘 다 자기 지도 학습으로 훈련된 얕은 2계층 신경망 모델로, 훈련 신호는 사람이 레이블을 붙인 데이터 없이 원시 텍스트에서 자동으로 파생되며, 인접 단어를 암묵적 감독 신호로 사용한다. 결과적으로 은닉 계층의 가중치 행렬이 학습된 단어 벡터 역할을 하며, 일반적으로 수백 차원의 크기를 가진다.
"왕 - 남자 + 여자" 예시
Word2vec의 가장 널리 인용된 시연은 벡터 연산이 의미 및 문법 관계를 반영할 수 있다는 능력이다: "king"(왕) 벡터에서 "man"(남자) 벡터를 빼고 "woman"(여자) 벡터를 더하면, 학습된 임베딩 공간에서 "queen"(여왕)에 가장 가까운 벡터가 산출된다. 유사한 유추 구조는 국가-수도 쌍 및 동사 시제와 같은 관계에서도 나타났으며, 이는 임베딩 공간의 기하학이 임의적 군집이 아닌 의미 있고 체계적인 관계를 인코딩함을 시사하여 자연어 처리 연구 커뮤니티에서 상당한 반향을 일으켰다.
NLP에 미친 영향
Word2vec는 GloVe와 같은 동시대 기법들과 함께, 사전 훈련된 단어 임베딩을 하위 NLP 모델의 표준 입력 계층으로 만들었으며, 기계 번역, 감성 분석, 개체명 인식 등 다양한 작업에서 희소한 one-hot 단어 표현을 대체했다. 당시 표준 하드웨어에서 수십억 단어를 몇 시간 만에 훈련할 수 있는 효율성 덕분에, 분산 단어 표현이 이전 신경 언어 모델로는 불가능했던 규모에서 실용화되었다.
후속 모델
Word2vec의 문맥 독립적 표현은 단어가 문맥에 관계없이 하나의 고정 벡터를 할당받는 방식으로, 이후 문맥 의존적 임베딩 모델에 의해 대체되었다. 2018년의 BERT 모델과 트랜스포머 아키텍처 기반의 더 넓은 모델군은 동일한 단어라도 문장 문맥에 따라 서로 다른 벡터를 생성하여, 예를 들어 "bank"가 강둑인지 금융 기관인지를 구분하는 word2vec의 한계를 해결했다. 최첨단 응용 분야에서는 대체되었음에도 불구하고, word2vec는 여전히 가볍고 효율적인 임베딩 기준선이자, 현재 의미 검색 및 벡터 데이터베이스 검색 시스템의 기반이 되는 학습된 벡터 표현이라는 더 넓은 개념을 이해하기 위한 교육적 입문점으로 널리 사용된다.