[NLP] 1. Word Embadding (1)
Word Vectors
์ด๋ค ๋ฌธ์ฅ์ด ์ฃผ์ด์ก์๋, ๋ฌธ์ฅ์ ์ด๋ค ๋ถ๋ถ์ด ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ๋ ์ค์ํ๊ฒ ํํํ๋์ง๋ฅผ ์ด๋ป๊ฒ ์ ์ ์์๊น?
์ฌ๋์ ์ธ์ด๋ผ๋ ๊ฒ์ ๋ค์ํ ์๋ฏธ์ ๋์์ค๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์, ์ธ์ด์ ์ ๋ณด๋ฅผ ์ ํฌํจํ๊ฒ ํํํ๊ณ , ์ด๋ฅผ ๋ค๋ฃจ๋๊ฒ์ ์ ๋ง ์ด๋ ค์ด ์ผ์ด๋ค.
one hot vector
word๋ฅผ ๋ค๋ฃจ๋ ๊ฐ์ฅ ์ฝ๊ณ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ์ ๋จ์ด๋ฅผ ์๋ก ์์กดํ์ง ์๋ ๊ฐ๋ณ์ ๊ฐ์ฒด๋ก ์๊ฐํ๋ ๊ฒ์ด๋ค.
์ฆ, ๋จ์ด๋ฅผ one hot vector๋ฅผ ํตํด์ ๋ํ๋ผ ์ ์๋ค.
์๋ฅผ ๋ค์ด์ finite set {coffee, cafe, tea}์ ๊ฐ๋ณ ๋จ์ด๋ฅผ ๋ค์์ฒ๋ผ 1-hot vector๋ก ํํํ๋ค.

์ ํต์ ๋ NLP์์ ๋จ์ด๋ฅผ ์ด์ ๊ฐ์ ํํ๋ก ํํํ์ฌ ์ฌ์ฉํ๋ค.
์ด๋ ๊ฒ ํํํ๊ฒ ๋๋ฉด, ๋ ๋จ์ด ์ฌ์ด์ L1, L2 distance๋ฑ์ ๋ค๋ฅธ similarity๋ฅผ ๊ณ์ฐํ ๋ ํญ์ 0์ด ๋์ค๊ฒ ๋๋ค.
ํ์ง๋ง ์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋จ์ด๋ค์ ๊ทธ ์ฌ์ด์ ์ฐ๊ด์ฑ์ ์ด๋์ ๋ ๊ฐ์ง๊ฒ ๋๋๊ฒ์ด ๋น์ฐํ๊ณ , ์ฐ๊ด์ฑ์ ์ ๋๋ํ ์๋ก ๋ค๋ฅด๋ค.
๋ฐ๋ผ์ ๋จ์ด๋ฅผ independant word vector๋ก ์๊ฐํ๋ one hot vector๋ณด๋ค ๋ ๋์ ํํ๋ฐฉ์์ด ํ์ํ๋ค.
์ข ํฉํ์ฌ one hot vector๋ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ค.
1. sparsity ๋ฌธ์ : one hot vector์ sparsity problem. ์ค์ง ํ๊ฐ์ element๋ง 1์ด๊ณ , ๋๋จธ์ง๋ 0์ด๋ค.
2. scalability ๋ฌธ์ : voca size๊ฐ ์ฆ๊ฐํ๋ฉด, ๋ฒกํฐ์ dim๋ํ linearly ์ฆ๊ฐํจ
3. curse of dimensionality ๋ฌธ์ : high dimensional data๋ computational complexity, overfitting์ ์ผ์ผํด
4. OOV ๋ฌธ์ : vector๋ก ํํ๋์ง ์์ ์๋ก์ด ๋จ์ด๋ UNK๋ก ํจ๊ป ๋ฌถ์ด์ผ ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ
5. Fixed Vocab ๋ฌธ์ : ์๋ก์ด ๋จ์ด๋ฅผ ์ถ๊ฐํ๋๋ฐ์ ๋งค์ฐ ํฐ ๋น์ฉ ๋ฐ์
5. Limited information๋ฌธ์ : word๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ ์๋ค
๋ฌธ์ ๊ฐ ์ ๋ง ๋ง์ง๋ง, ์ ์ผ ํฐ ๋ฌธ์ ๋ limited information ๋ฌธ์ ์ด๋ค. ์ด๊ฑธ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ๊ฒ word2vec ์ด๋ค.
+WordNet
WordNet์ ํ๋ฆฐ์คํด๋ํ์์ ๋จ์ด๋ฅผ syno/antonyms, hypo/hypernyms, + ๋ค๋ฅธ ๋จ์ด์์ ๊ด๊ณ๋ฑ์ ๋ฏธ๋ฆฌ ์ ์ํ์ฌ ์ ๊ณตํ๋ ์ธ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ค.
๋ฐ๋ผ์ ๋ฏธ๋ฆฌ ์ ์ํด๋ ์ธ์ด, ๋จ์ด์๋ง ์ฌ์ฉํ ์ ์๊ณ , ์ฌ๋์ด annotationํ ๊ฒ ์ด๋ฏ๋ก ์ฃผ๊ด์ ์ธ ํ๋จ์ด ๊ฐ์ ๋๋ค๋ ์ ์ด ์๋ค.
์ถ๊ฐ๋ก ์๋ก์ด ๋จ์ด์ ๋ป์ ๊ณ์ํด์ ์ถ๊ฐํ๊ณ ์์ ํด์ผํ๋๋ฐ, ์ด์๋ ๋น์ฉ์ด ๋๋ฌด ๋ง์ด ๋ ๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
๋ค๋ฅธ ๊ด์ ์์๋, ๋จ์ด ์๋ฒ ๋ฉ์ ํจ์จ์ ์ด์ง ๋ชปํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ฝ ๋จ์ด์ ๋ํ ๋ชจ๋ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์ถ๋ค๋ฉด, ๊ฐ๋ณ ๋จ์ด๋ค์ ๋งค์ฐ ๋์ dimension์ ๊ฐ์ง๊ฒ ๋๋ค.(neural model๋ค์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด์ง ์๋ ๊ตฌ์กฐ...์ฆ, tradeoff๋ฐ์)
Distributional sementics (Word2Vec)
๊ธฐ์กด์ ๋ฐฉ๋ฒ๋ก ์ ํ๊ณ์ ์ ํฌ๊ฒ ๋๊ฐ์ง๋ก ์๊ฐํด๋ณผ ์ ์๋ค.
- sparsity ๋ฌธ์
- semantic meanings of the words ๋ฌธ์
์ด ๋๊ฐ์ง์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋จ์ด์ ์๋ฏธ๋ฅผ ๋จ์ด๊ฐ ์ฐ๋ฏผ ๋ฌธ๋งฅ์ ํตํด ์ดํดํ๋ ค๋ ์ ๊ทผ๋ฒ์ด ๋์๋ค. ํ๊ตญ์ด๋ก๋ ๋ถํฌ ์๋ฏธ๋ก ์ด๋ผ๊ณ ํ๋ค.
Distributional sementics์ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
A word's meaning is gien by the words that frequently appear close-by
์ฆ, ๋จ์ด์ ์๋ฏธ๋ ๊ทธ ๋จ์ด๊ฐ ์ฃผ๋ก ์ด๋ค ๋จ์ด์ ํจ๊ผ ๋ํ๋๋์ง์ ๋ฐ๋ผ์ ๊ฒฐ์ ๋๋ค.
์ด๋ฐ ์ ๊ทผ๋ฒ ํ์์ ๊ตฌ๊ธ์์๋ ๋จ์ด๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ์ ๋ฒกํฐ๋ก ํํํ๋ ํ๋ ์์ํฌ์ธ Word2Vec๋ฅผ ์ ์ํ๋ค.
Word2Vec
Word2Vec ๋ชจ๋ธ์ probabillistic mode์ด๊ณ , ๊ณ ์ ๋ vacabulary์์ ๋จ์ด๋ฅผ vocabulary size๋ณด๋ค ์์ low dimension์ ๋ฒกํฐ๋ก ํํํ๋ค. (์ฃผ๋ก window size๋ก 2~4 word๋ฅผ ์ฌ์ฉํ๋ค)
์ฆ, one hot vector๋ก ํํ๋๋ ๊ฒ์ ์์ ํฌ๊ธฐ์ ๋ฒกํฐ๋ก ํํํ๋ ๊ฒ์ด๋ค.
๋๊ฐ์ง์ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ค.
- continuous Bag of Words (CBOW): ์ฃผ๋ณ ๋จ์ด๋ค๋ก ์ค๊ฐ์ ๋จ์ด ์์ธก
- Skip-gram algorithm: ์ค๊ฐ ๋จ์ด๋ก ์ฃผ๋ณ ๋จ์ด๋ค ์์ธก
skipgram word2vec
์ค์ฌ ๋จ์ด c๊ฐ ์ฃผ์ด์ก์ ๋, ์ฃผ๋ณ ๋จ์ด๋ก ์ค๋ o๋ฅผ ์๊ณ ์ถ์๊ฒ์ด skipgram word2vec์ด๋ค.
skipgram ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.

์ฌ๊ธฐ์ u์ ๊ฒฝ์ฐ word๊ฐ context(outside)๋ก ์ฌ์ฉ๋์์ ๋์ parameter, v์ ๊ฒฝ์ฐ word๊ฐ center๋ก ์ฌ์ฉ๋์์ ๋์ parameter์ด๋ค

์๊ณ ๋ฆฌ์ฆ์ ํํ๊ฐ ์๋นํ ์ต์ํ๋ฐ, softmax์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฒ์ ์ ์ ์๋ค.
์์ ์กฐ๊ธ ๋ ์ดํด๋ณด๋ฉด
- ๋ถ์: dotproduct๋ฅผ ํตํด์ o์ c์ score๋ฅผ ์ป๋๋ค.
- ๋ถ๋ชจ: dot product๋ฅผ ํตํด์ vocabulary์ ๋ชจ๋ word์ c์ ๊ฐ๋ณ score๋ฅผ ์ป๋๋ค
- softmax๋ฅผ ์ ์ฉํ๋ค - ์ด๋ฅผ ํตํด์ probability distribution์ ์ป๊ฒ ๋๋ค. (์ค์ฌ ๋จ์ด c์ผ๋ ์ฃผ๋ณ๋จ์ด๊ฐ o๊ฐ ๋์ฌ ํ๋ฅ ์ ๊ตฌํ๋ค.)
(softmax : amplifies largest x, but also assigns some prob to smaller x)
์ฌ๊ธฐ๊น์ง๊ฐ ํ๋ฅ ์ ๋ํ ์ด์ผ๊ธฐ๊ณ , ์ฐ๋ฆฌ๊ฐ ์ํ๋๊ฒ์ ์ด๊ฒ ์ต์ ํ๋ ๋ชจ๋ธ์ ์ป๋ ๊ฒ์ด๋ค.
๋ฐ๋ผ์ Likelihood๋ ๋ค์๊ณผ ๊ฐ๋ค.

- ๋ชจ๋ ์์น t์ ๋ํด์ window size(m)๋งํผ์ ์ฃผ๋ณ ๋จ์ด๋ค์ ๋ํ ํ๋ฅ ์ ๊ตฌํ์ฌ likelihood๋ฅผ ๊ตฌํ๋ค.
- ์ฌ๊ธฐ์ ์ธํ๋ ๋ชจ๋ธ์ ๋ชจ๋ ํ๋ผ๋ฏธํฐ๋ฅผ ๋งํ๋ค. (๋จ์ด ํ๊ฐ๋น ๋๊ฐ์(u,v) d-dimension vector์ ํ๋ผ๋ฏธํฐ๊ฐ ์กด์ฌํ๋ค)
Likelihood๋ฅผ ํตํด ์ป๋ Objective Function(Loss)์ ๋ค์๊ณผ ๊ฐ๋ค.

Likelihod๋ฅผ maximizeํ๋๊ฒ์ Objective function์ minimizeํ๋๊ฒ๊ณผ ๊ฐ๋ค.
์์์ ์ฒ์ ์์๋ณธ representation u,v๋ฅผ ์ ์ฉํ๋ฉด gradient๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ๋๋ค


- ๋ง๊ด์ฐฐ๋ ๋จ์ด์ ๋ฒกํฐ์์ ์์๋๋ ๋ชจ๋ context vector์ weighted ํ๊ท ์ ๋บ ๊ฐ์ด ๋๋ค.
- ๋ฐ๋ผ์ ํ์ต์ ๊ณผ์ ์์ ๋ชจ๋ธ์ ์ค์ ๊ด์ฐฐ๋ ๋จ์ด์ ๋ ๋น์ทํ ๋จ์ด๋ก ์์ธกํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋๋ค.
๋๋จธ์ง ๊ณ์ฐ์ ๋ค์ํฌ์คํ ์์ ๋ ์ดํด๋ณด์
Word2Vec Problem
๋ค๋ง ์ด Word2Vec์๋ ๋ช๊ฐ์ง ๋ฌธ์ ๊ฐ ์๋ค.
- OOV ๋ฌธ์ :
- global co-occurrence ignore
- relationship beyond window size
OOV Problem
Word2vec์์๋ Top K words๋ง mappingํ๊ณ , ๋ค๋ฅธ ๋จ์ด๋ ๋ชจ๋ unk ๋ก ๋ถ๋ฅํ์ฌ์ representationํ๋ค๋ ๋ฌธ์ ๊ฐ ์๋ค.
๋ฐ๋ผ์ ํ๋ จ์ค์ ๋๋ฌผ๊ฒ ๋ฑ์ฅํ๊ฑฐ๋, ๋ฑ์ฅํ์ง ์์ ๋จ์ด์ ๋ํด์๋ ๋จ์ด์ ์๋ฏธ๋ฅผ ํ์ ํ์ง ๋ชฉํ๋ค.
top-k word์ ํฌํจ๋์ง ์๋ ๋จ์ด๋ค์ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ ๋จ์ด๋ค์ด๋ค.
- compoound words
- derived words
- plurals
- verbs conjugtions
- new words with predictable words
์ด๋ฐ ๊ฒฝ์ฐ์ ๋ํด์๋ Subword technique ๋ค์ ์ฌ์ฉํ๋ค.
๋ํ์ ์ธ ๋ชจ๋ธ๋ก FastText๊ฐ ์๋ค.
FastText
fasttext๋ word2vec์ ๋ฐ์ ๋ ๋ชจ๋ธ์ด๋ค.
๋จ์ด ์ ์ฒด๋ฅผ ๋ฒกํฐ๋ก ๋ฐ๊พธ๋๊ฒ ์๋๋ผ, ๋จ์ด๋ฅผ ์ฌ๋ฌ ์กฐ๊ฐ์ subword๋ก ๋๋์์ ์ฒ๋ฆฌํ๋ค. ์ฆ, ๋จ์ด๋ฅผ character n-gram ํํ๋ก ๋ถ๋ฆฌํด์ ์งํฉ์ผ๋ก ํํํ๋ค.
์ด๋ ๊ฒ ๋๋ฉด OOV๋ฌธ์ ๋ฅผ ์กฐ๊ธ ํด๊ฒฐํด๋ณผ ์ ์๊ณ , ๋ฌธ๋ฒ์ ๋ณํ๋ ์ฝ๊ฐ ๋ค๋ฃฐ ์ ์๊ฒ ๋๋ค.
Skip-Gram with Negative Sampling (SGNS)
Skipgram์ softmax๋ฅผ ๋ค์ tkfvu ๋ณด์.

๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋, ๋ถ์๋ถ๋ถ์ ๊ณ์ฐํ๋๊ฑด ์ฌ์ค ๋น์ฉ์ด ๋ง์ด ๋ค์ง ์๋๋ค.
๋ฌธ์ ๋ ๋ถ๋ชจ์ธ๋ฐ, ๋ชจ๋ ๋จ์ด๋ค์ ๋ํ score๋ฅผ ๊ตฌํด์ ๋ํ๋ ๋ฐฉ์์ผ๋ก normalizeํ๊ณ ์๋ค.
์ด ๋ถ๋ถ์์ computingํ๋๋ฐ์ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค๋ ๋ฌธ์ ์ ์ด ์๋ค.
์ฆ, ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋จ์ด์์ ๊ด๊ณ๋ฅผ ํ์ตํ๊ธฐ ์ํด์ V์ ๋ชจ๋ ๋จ์ด๋ฅผ ํ์ธํด์ผ ํ๋ค. ๋ฐ๋ผ์ ๋จ์ด์ ํ์ด ์ปค์ง๋ฉด ๊ทธ๋งํผ ๊ณ์ฐ๋น์ฉ๋ ์ปค์ง๊ฒ ๋๋ค.
๊ทธ๋ผ ์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋ถ๋ชจ๋ถ๋ถ์ ์์ ๋ฒ๋ฆฌ๊ณ ์ถ์ด์ง๋ค.
์ด ๋ถ๋ชจ๋ถ๋ถ์ ์ญํ ์ ์๋์ ๊ฐ๋ค.
- ํ๋ฅ ๋ก ์ ์ธ ๊ด์ ์์, ๋ถ๋ชจ ๋ถ๋ถ์ ๋ชจ๋ score๊ฐ์ ํฉ์ด 1์ด ๋๋๋ก normalizeํ๋ ์ญํ ์ ํ๋ค. ์ฌ๊ธฐ์ exponential ์ ๊ฐ๋ณ score๊ฐ์ด ํญ์ 0ํน์ ์์๊ฐ ๋๋๋ก ํ๋ค.
- learning์ ๊ด์ ์์, ๋ถ๋ชจ ๋ถ๋ถ์ ๊ด์ฐฐ๋์ง ์์ ๋จ์ด๋ค์ ๋ํ ์ค์ฝ์ด๋ค์ ๋ฎ์ถ๋ ์ญํ ์ ํ๊ฒ ๋๋ค. ์ฆ, ๋ถ์๋ ๋ชจ๋ธ์ด o์ c์ ์ ์ฌ์ฑ์ ๋์ด๋ ๋ฐฉํฅ์ผ๋ก ํ์ต๋๊ณ , ๋ถ๋ชจ๋ ๋๋จธ์ง ๋ชจ๋ ๋จ์ด๋ค์ ์ ์ฌ์ฑ์ ๋ฎ์ถ๊ฒ ์๋ฐํ๋ ์ญํ ์ ํ๋ค.
๋ค๊ฑฐํฐ๋ธ ์ํ๋ง์ ๋ถ๋ชจ๋ฅผ ํตํด ํญ์ ๋ค๋ฅธ ๋ชจ๋ ๋จ์ด์ ๋ํ score๋ฅผ ๋ฎ์ถ ํ์๊ฐ ์๋ค๋ ์ ์ ์ฐฉ์ํ๋ค.
๋ค๋ง, ์ค์ ์ SGNS์ objective function์ ์ฝ๊ฐ ๋ค๋ฅธ์ ์ด ์กด์ฌํ๋ค.
ํต์ฌ ์์ด๋์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
Train Binary Logistic Regressing for a true pair & several noise pairs
์ฆ, ์ค์ ๋จ์ด ์๊ดด ๋ช๊ฐ์ ๋ ธ์ด์ฆ ์์ ๋์์ผ๋ก Binary Logistic Regression์ ํ์ตํ๋ค.
SGNS ๊ณผ์
1. ์ค์ฌ๋จ์ด C์ ์ฃผ๋ณ ๋จ์ด๋ค์ ์ถ์ถํ์ฌ true pair๋ก ์ฌ์ฉํ๋ค
2. ์ค์ฌ๋จ์ด C์ ๋ฌด์์ ๋จ์ด๋ค์ ์ถ์ถํ์ฌ negative noise pair๋ก ์ฌ์ฉํ๋ค.
3. Binary Regression์ ํตํด true pair์๋ ๊ฐ๊น์์ง๊ฒ(1), negative pair(0)์๋ ๋ฉ์ด์ง๊ฒ ํ์ตํ๋ค.
๋ ผ๋ฌธ์์ ์ ์ํ Objection Function์ ๋ค์๊ณผ ๊ฐ๋ค.

์ด๋ ๊ฒ ๋๋ฉด, ๋ชจ๋ ๋จ์ด์ ๋ํด์ ์ค์ฝ์ด๋ฅผ ๊ณ์ฐํ์ง ์๊ณ , ๋ช๊ฐ์ ๋ ธ์ด์ฆ ์ํ๊ณผ true pair์ ๋ํด์๋ง ํ์ตํ๊ธฐ ๋๋ฌธ์ ๊ณ์ฐ์ ํจ์จ์ฑ์ด ๋์์ง๋ค๋ ์ฅ์ ์ด ์๋ค!