Step 1: 문장으로부터 Vocabulary를 만든다. 이 때 Vocabulary 안의 단어들은 중복되지 않고 문장에 한 번 이상 나타난다. (Constructing the Vocabulary contating unique words)
Step 2: Vocabulary의 단어들을 각각의 one-hot 벡터로 encoding 한다.
이 때 문장은 단어들의 one-hot 벡터들의 합으로 표현된다.
'I study math'라는 문장 사이에서 인접한 단어는 높은 유사도를 가지도록 vector representation을 학습해보자
먼저 인접한 단어쌍을 만든다.
단어쌍 중에서 (study, math) 쌍을 예시로 보자. study와 math는 인접해 있으므로, study을 입력으로 넣으면 주변 단어로 math를 예측할 수 있도록 학습하면 된다.
이 때 를 보면, 는 one-hot vector이므로 는 사실상 one-hot vector 의 1의 위치에 해당되는 의 column만 가져온 결과와 같다.
즉 그림에서도 최종적으로는 와 의 두번째 column을 곱한 벡터가 나오고, 여기에 softmax를 취해주면 logit vector가 나온다.
마지막으로 결과로 나온 logit vector와 정답인 'math'의 one-hot vector를 비교하여 업데이트한다.