[cs224n] Lecture1 - Intro & Word Vectors
How do we represent the meaning of word?
1. WordNet
동의어(synonym) 및 언어의 상하관계(hypernyms)를 담고있는 사전.
But, WordNet은 아래와 같은 몇가지 문제점이 가지고 있음.
- 뉘앙스를 반영하지 못함.(e.g. proficient는 특정 context에서만 good과 동의어 관계)
- 새로운 단어 반영이 어려움.(e.g. wicked, badass 등) → 업데이트가 불가능!
- 주관적임.
- human labor, 즉 인간의 손을 거쳐야 함.
- 정확한 word similarity를 계산할 수 없음.
2. One-Hot vector
Word를 discrete symbol로 여기는 방식. 특정 단어의 위치에 해당하는 숫자만 1이고 나머지는 0으로 표시.
Vocabulary 안의 word 갯수가 vector의 dimension이 된다. 즉, 위 사진에서 motel과 hotel의 dimension은 15차원이 된다.
But, One-Hot vector 또한 아래와 같은 문제점을 지님.
- 단어 vector가 orthogonal (수직) 단어 간의 simlirarity를 표현하기 어려움. ( ∵ dot product가 0)
3. Distributional semantics
한 단어의 의미는 주변에 특정 단어들이 얼마만큼 등장하는지로 결정이 되며, 이는 곧 해당 단어의 context에 영향을 끼친다.
4. Word vectors
비슷한 context를 지닌 words들의 vector가 비슷하도록 만들기 위해서 Word를 dense rvector로 표현.
Word vectors 또한 distributed representation 중 하나이며, word embedding 또는 word representation라고 불림.
Word2vec
Word vector를 학습하는 framework.
Word2Vec의 Idea는 아래와 같음
- text에 대한 large corpus를 가짐
- 모든 단어에 대해서 vector로 표현
- word의 center word는 context words를 로 표현 → 위 그림에서 into가 c, problems, turning, banking,crises가 o에 해당
- 가 주어졌을 때, 가 등장하는 확률을 가지고 word vector간의 similarity 결정
- 위 확률을 maximize 하면서 word vector 조정
Objective function
Window size 에 대해 center word W가 주어지면 그에 대한 context words를 예측.
Objective function은 편의를 위해 를 사용하여 prod를 sum으로 바꾸고 를 추가해 minimize 하도록 함.
The objective function은 average negative log likelihood라고 할 수 있음.
즉, 결국에는 Objective를 minimize를 함으로써 Likelihood를 maxmize하는 것이 최종 목표이다.
Minimizing objective function ⟺ Maximizing predictive accuracy
Question. How to calculate P(W_(t+j) | W_t ; θ)?
Answer : w에 대한 두가지 vector를 사용
- V_w : w가 center word
- U_w : w가 context word
- Then, center word c, 그리고 context word o 에 대해서 아래 그림과 같은 식이 나온다.
→ 여기서 exp는 지수함수를 의미하며, 위 식은 softmax함수를 적용한 식이다. softmax에 대한 설명은 아래에 나옴.
Prediction function
Center word와 context word 사이의 dot product를 통한 similarity를 구하고 이를 확률 분포로 만들기 위해 softmax를 적용함.
softmax에 대해서 간단히 설명하자면 아래 사진과 같다. expotential함수를 사용하여 모든 벡터 요소의 합이 1이 되도록 0~1사이의 실수값을 반환.
* Word2Vec의 추가 학습 자료는 첨부하겠음
학습은 gradient descent를 사용하여 진행 가능.
첨부 파일