Download presentation
Presentation is loading. Please wait.
1
Word2Vec Tutorial 박 영택 숭실대학교
2
Introduction Main idea of word2vec
NLP research devised to convert words into computer-understandable forms Use translate words into numerical form to machine learning Make a numeric word into a vector of hundreds of dimensions , Predict the next word through operations on each word, Context aware or inferable. EX) Word analogy using vector operation Words embedded in a multidimensional space
3
Word2Vec Word Embedding Word2Vec
자연어 처리에서 deep learning의 성공을 뒷받침하는 주요 동력 중 하나 Text를 구성하는 하나의 word를 수치화 하여 다차원 공간의 vector로 mapping Word2Vec 2013년 Google에서 Tomas Mikolov가 발표한 Word Embedding 학습 모형 기존 방법에 비해 계산량이 적어 몇 배 이상 빠른 학습이 가능 Word embedding을 위한 두 가지 방법을 제공 Skip-gram CBOW
4
Word2vec Word2vec Flow word2vec Word Word Word One-Hot encodding
Vector output RawData Indexing NN RNN LSTM seq2seq Preprocessing to vectorize word Make Input Vector For Model Using Model’s output, calc Probability distribution and Context aware or inferable
5
Skip-Gram Model Neural Network 학습을 위해 word pair 형태로 feeding
window size = 2
6
Skip-Gram Model Word 하나를 사용해서 주변 word들의 발생을 유추 Sentence :
“Rush Hour, a comedy with Jackie Chan and Chris Tucker as well as Die Hard, an action movie with Bruce Willis”
7
Skip-Gram Model Training
Input Vector Text의 String을 neural network의 input으로 사용할 수 없음 word를 one-hot vector로 표현
8
Architecture of Neural Network
1X10,000 1X300
9
The Hidden Layer Hidden layer를 matrix로 표현
300개의 feature를 사용하여 학습하고 10,000개의 word가 존재 Hidden layer의 weight matrix
10
The Hidden Layer Hidden layer의 weight matrix를 학습하는 것이 목적
One-hot vector를 사용하는 이유 1x10,000인 one-hot vector와 10,000x300 matrix를 곱하면, 효과적으로 matching되는 row를 얻어낼 수 있음 학습된 모델의 hidden layer는 lookup table로 사용할 수 있음 Hidden layer의 output이 input word의 “word vector”
11
Lookup (Column Vector 로 가정)
Vectorization of words Corpus: Matrix multiplication : (m x n) x (n x 1) = (m x 1) One-hot(harry) 𝑊(random initialization) Vector(harry) 0.4, -0.4, 0.21, … 0.37, … 1.0 0.37 0.17 0.88 0.31 -0.6, 0.2, 0.39, … 0.17, … 200 … 200 … X 50,000 = 0.1, -0.9, 0.47, … 0.88, … 0.9, 1.0, 0.33, … 0.31, … (200 x 50,000) (200 x 1) 102 (50,000 x 1)
12
Word2vec Vectorization of words … … Corpus: 𝑊 𝑇 (Transpose W) = output
Predict(Potter) 0.4, , …, 0.1, 0.9 -0.4, 0.2, …, -0.9, 0.2 Vector(Harry) -0.21, 0.39, …, 0.47, 0.33 0.37 0.17 0.88 0.31 50,000 … X = … 200 50,000 -0.37, 0.17, …, 0.88, 0.31 … (200 x 1) 0.28, 0.99, …, -1.0, -0.7 (50000 x 1) (50000 x 1) (50000 x 200)
13
Word2vec Vectorization of words 000 1 000 1 … … … … Predict
Label(Potter) 000 1 000 1 50,000 … … 50,000 Prediction 과 Label 예측 … … (50000 x 1) (50000 x 1)
14
Word2vec Vectorization of words 2.72 000 -9.1 5.92 2.17 1 9.02 … … … …
Predict Label(Potter) 2.72 -9.1 5.92 2.17 9.02 000 1 … 50,000 … 50,000 𝑪𝒐𝒔𝒕𝑭𝒖𝒏𝒄𝒕𝒊𝒐𝒏(Predict, Label) … … (50000 x 1) (50000 x 1)
15
Word2vec Vectorization of words w w’ x x One-hot(102) Predict
Label(807) Training-set (Input) w x w’ x (200 x 50,000) (50,000 x 200) (200 x 1) (50,000 x 1) (50,000 x 1) (50,000 x 1) update Cost(predict, Label) Loss minimal (Gradiet-Decent)
16
감사합니다. 참고자료 강의 - 스탠포드 word2vec 강의 논문 Distributed Representations of Words and Pharases and their Compositionality EfficientEstimationofWordRepresentationsin VectorSpace
Similar presentations