CBOW

Continuous Bag of Words

주변에 있는 단어들로 중간에 있는 단어들을 예측하는 학습 방법입니다. 이때, 예측해야 하는 단어를 중심 단어(center word)라 하고, 예측에 사용되는 단어들을 주변 단어(context word)라고 합니다.

Untitled

중심 단어를 예측하기 위해서는 앞뒤로 몇 개의 단어를 볼지 결정하게 되는데, 그 크기를 윈도우(window)라고 하며, 학습을 위한 데이터셋을 만들기 위해 슬라이딩 윈도우(sliding window)를 사용합니다. 즉, Word2Vec의 학습은 주변 단어 크기에 따라 코퍼스를 슬라이딩하면서 중심 단어의 주변 단어들을 보고 각 단어의 벡터 값을 업데이트 해나가는 방식입니다. 윈도우 내에 등장하지 않는 단어에 해당하는 벡터는 중심 단어 벡터와 멀어지도록, 반대로 등장하는 주변 단어 벡터는 중심 단어 벡터와 가까워지도록 값을 변경해 나갑니다.

CBOW를 이용하는 Word2Vec의 신경망 구조는 아래의 그림과 같습니다.

은닉층(hidden layer)이 하나이므로 딥러닝 모델이 아닌 **얕은 신경망(shallow neural network)**라고 할 수 있습니다.

은닉층(hidden layer)이 하나이므로 딥러닝 모델이 아닌 **얕은 신경망(shallow neural network)**라고 할 수 있습니다.

CBOW 알고리즘은 비교적 학습 속도가 빠르지만, 단어의 순서를 고려하지 않으며 동음이의어를 분석하는 데에 취약합니다.