๐Ÿ“Œ ๋ชฉ์ฐจ

1. preview
2. Dimension Reduction

3. ํ”ํ•œ ์˜คํ•ด 1
4. word2vec [2013]
5. GloVe (Global Vectors for word representation)
6. word2vec ์˜ˆ์ œ (FastText ์˜คํ”ˆ์†Œ์Šค)

๐Ÿ˜š ๊ธ€์„ ๋งˆ์น˜๋ฉฐ...

 

 

 


1. Preview

 

[Gain Study_NLP]02. Similarity. &. Ambiguity (one-hot encoding, feature, TF-IDF)

๐Ÿ“Œ ๋ชฉ์ฐจ 1. word sense 2. one-hot encoding 3. thesaurus(์–ดํœ˜๋ถ„๋ฅ˜์‚ฌ์ „) 4. Feature 5. Feature Extraction. &. Text Mining (TF-IDF) 6. Feature vector ์ƒ์„ฑ 7. Vector Similarity (with Norm) 8. ๋‹จ์–ด ์ค‘์˜์„ฑ ํ•ด์†Œ (WSD) 9. Selection Preference ๐Ÿ˜š

chan4im.tistory.com

์•ž์„œ ๋‹จ์–ด์˜ ์˜๋ฏธ์™€ ๋ชจํ˜ธ์„ฑ์„ ์‚ดํŽด๋ณด์•˜๋Š”๋ฐ, ์‚ฌ๋žŒ์˜ ์–ธ์–ด๋Š” ๋ถˆ์—ฐ์†์ ํ˜•ํƒœ์ธ ๋‹จ์–ด๋กœ ์ด๋ค„์ง€๋ฉฐ, ๊ฐ ๋‹จ์–ด๊ฐ€ ๊ฐ–๋Š” ์˜๋ฏธ๋Š” ์„œ๋กœ ์—ฐ๊ด€์„ฑ์ด ์žˆ์„๋•Œ๋„ ์žˆ์ง€๋งŒ ๊ฒ‰์œผ๋กœ๋Š” ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

์ด๋Ÿฐ NLP์˜ ํŠน์ง•๋•Œ๋ฌธ์— NLP์—์„œ ๋‹จ์–ดโˆ™๋ฌธ์žฅโˆ™๋ฌธ์„œ๋ฅผ vector๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์€ ๋งค์šฐ ํฐ ์ˆ™๋ช…์ด์—ˆ๋‹ค.
(์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ๋Š” ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ)
๋”ฐ๋ผ์„œ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๋Š” ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•œ ํ•จ์ˆ˜๋‚˜ mapping table์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด ์ค‘์š”ํ•˜๋‹ค.

์ด์ „์‹œ๊ฐ„์—๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ corpus๋กœ๋ถ€ํ„ฐ ๋‹จ์–ด์˜ feature๋ฅผ ์ถ”์ถœํ•ด ๋ฒกํ„ฐ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •์„ ์‚ดํŽด๋ณด์•˜์ง€๋งŒ
์ด๋ฒˆ์‹œ๊ฐ„์—๋Š” ๋‹จ์–ด๋ฅผ ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ธ, "word embedding"์„ ๋‹ค๋ค„๋ณผ ๊ฒƒ์ด๋‹ค.

 

 

 

 

 

 


2. Dimension Reduction

์ด์ „ ์‹œ๊ฐ„(https://chan4im.tistory.com/196)์—์„œ ๋†’์€์ฐจ์›์—์„œ data๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ํฌ์†Œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ๋‚˜ํƒ€๋‚จ์„ ํ™•์ธํ–ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐ™์€์ •๋ณด ํ‘œํ˜„ ์‹œ, ๋” ๋‚ฎ์€์ฐจ์›์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” ํ•˜๋‹ค.

2.1 PCA
๊ฐ€์žฅ ๋Œ€ํ‘œ์  ์ฐจ์›์ถ•์†Œ๋ฐฉ๋ฒ•์ธ ์ฃผ์„ฑ๋ถ„ ๋ถ„์„(PCA)์€ ๊ณ ์ฐจ์›๋ฐ์ดํ„ฐ๋ฅผ ๋” ๋‚ฎ์€์ฐจ์›์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฃผ๋กœ ํŠน์ด๊ฐ’๋ถ„ํ•ด(SVD)๋ฅผ ํ†ตํ•ด ์ฃผ์„ฑ๋ถ„๋ถ„์„์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
์œ„์˜ ์‚ฌ์ง„์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.
ํŒŒ๋ž€์ ์—์„œ ๋นจ๊ฐ„์ ์œผ๋กœ ํˆฌ์˜๋œ ๊ฑฐ๋ฆฌ๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜์–ด์•ผ ํ•˜๊ณ 
๋นจ๊ฐ„์ ๋“ค์˜ ๋ถ„์‚ฐ์ด ์ตœ๋Œ€๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.

๋‹ค๋งŒ, ์ €์ฐจ์›์œผ๋กœ ํˆฌ์˜ํ•˜๊ฒŒ๋˜๋ฉด ์ •๋ณด์˜ ์†์‹ค์ด ๋ถˆ๊ฐ€ํ”ผํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ด๋Š” ๋ณต๊ตฌ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๋”ฐ๋ผ์„œ ๊ณ ์ฐจ์›์— ํ‘œํ˜„๋œ ์ •๋ณด๋ฅผ ์ง€๋‚˜์น˜๊ฒŒ ๋‚ฎ์€ ์ฐจ์›์œผ๋กœ ์ถ•์†Œํ•ด ํ‘œํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
ํŠนํžˆ, data๊ฐ€ ๋น„์„ ํ˜•์ ์œผ๋กœ ๊ตฌ์„ฑ๋ ์ˆ˜๋ก ๋”์šฑ ์–ด๋ ค์›Œ์ง„๋‹ค.

 

2.2 Manifold Hypothesis
์œ„์˜ ๊ฐ€์„ค๋กœ ์ฐจ์›์ถ•์†Œ์— ๋” ํšจ์œจ์ ์œผ๋กœ ์ ‘๊ทผํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋งค๋‹ˆํด๋“œ ๊ฐ€์„ค: ๊ณ ์ฐจ์›์˜ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋“ค์„ ์•„์šฐ๋ฅด๋Š” ์ €์ฐจ์›์˜ ๋‹ค์–‘์ฒด(manifold)์—ญ์‹œ ์กด์žฌ ํ•œ๋‹ค.
3์ฐจ์› ๊ณต๊ฐ„์ƒ์˜ 2์ฐจ์› manifold๋ฅผ 2์ฐจ์› ๊ณต๊ฐ„์— ํ‘œํ˜„ ์‹œ, ๊ฐ ์ ์‚ฌ์ด ์ตœ๋‹จ๊ฒฝ๋กœ, ๊ณต๊ฐ„์— ๋”ฐ๋ผ ์ตœ๋‹จ๊ฒฝ๋กœ๊ฐ€ ๋ฐ”๋€๋‹ค.
์œ„์™€ ๊ฐ™์ด 3์ฐจ์› ๊ณต๊ฐ„์— ๋ถ„ํฌํ•˜๋Š” data๋ฅผ ์•„์šฐ๋ฅด๋Š” 2์ฐจ์› manifold๊ฐ€ ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฐ manifold๋ฅผ ์ฐพ์•„ 2์ฐจ์› ํ‰๋ฉด์— data point๋“ค์„ mappingํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ manifold๋ฅผ ์ฐพ์„ ์ˆ˜๋งŒ ์žˆ๋‹ค๋ฉด, PCA์ฒ˜๋Ÿผ ๊ณ ์ฐจ์›ํ‰๋ฉด์— data๋ฅผ ์„ ํ˜•์ ์œผ๋กœ ํˆฌ์‚ฌํ•˜๋ฉฐ ์ƒ๊ธฐ๋Š” ์†์‹ค์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜๋‹ค๋ฅธ ํฅ๋ฏธ๋กœ์šด ํŠน์ง• ํ•˜๋‚˜๋Š” ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ณ ์ฐจ์›์ƒ์—์„œ ๊ฐ€๊นŒ์šด ๊ฑฐ๋ฆฌ์˜ point๋ผ ํ•  ์ง€๋ผ๋„
manifold๋ณด๋‹ค ์ €์ฐจ์›์œผ๋กœ mappingํ•˜๋ฉด ์˜คํžˆ๋ ค ๊ฑฐ๋ฆฌ๊ฐ€ ๋ฉ€์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ, ์ €์ฐจ์›์˜ ๊ณต๊ฐ„์ƒ์—์„œ ๊ฐ€๊นŒ์šด ์ ๋ผ๋ฆฌ๋Š” ์‹ค์ œ๋กœ๋„ ๊ฐ€๊นŒ์šด ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐ ๊ณต๊ฐ„์˜ ์ฐจ์›์ถ•์€ ๊ณ ์ฐจ์›์—์„œ ๋น„์„ ํ˜•์ ์œผ๋กœ ํ‘œํ˜„๋  ๊ฒƒ์ด๋ฉฐ, ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์„ ๊ฐ๊ฐ ํ‘œํ˜„ํ•  ๊ฒƒ์ด๋‹ค.

 

2.3 ๋”ฅ๋Ÿฌ๋‹์ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ด์œ 
๋Œ€๋ถ€๋ถ„, ๋”ฅ๋Ÿฌ๋‹์ด ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด ์ฐจ์›์ถ•์†Œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์ด
๋ฐ”๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ณ ์ฐจ์›์ƒ์—์„œ manifold๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ด๋‹ค. (๋‹ค๋งŒ ๊ฐ€์„ค์ž„.)

 

2.4 Auto Encoder
 โˆ™ ๊ณ ์ฐจ์›์˜ sample_data๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์Œ
 โˆ™ ์ž…๋ ฅ์„ ํ† ๋Œ€๋กœ manifold๋ฅผ ์ฐพ๊ณ , ์ €์ฐจ์›์œผ๋กœ ์ถ•์†Œํ•˜๋Š” encoder๋ฅผ ๊ฑฐ์นจ
 โˆ™ encoder๋ฅผ ๊ฑฐ์นœ ํ›„ bottel-neck๊ตฌ๊ฐ„์—์„œ์˜ hidden ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
 โˆ™ decoder๋Š” ์ž์ฐจ์›๋ฒกํ„ฐ๋ฅผ ๋ฐ›์•„ ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋กœ ๋ณต์›ํ•˜๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    ๋ณต์›๋œ ๋ฐ์ดํ„ฐ๋Š” ๊ณ ์ฐจ์›์ƒ manifold์œ„์— ์œ„์น˜ํ•˜๊ฒŒ ๋œ๋‹ค.

์ด๋•Œ, ๊ณ ์ฐจ์›์˜ data๋ฅผ ์ €์ฐจ์›์œผ๋กœ ์••์ถ• ํ›„ ๋ณต์›ํ•˜๋Š” ๊ณผ์ •์—์„œ AE์˜ bottle-neck์ฐจ์›์€ ๋งค์šฐ ๋‚ฎ๊ธฐ์—
๋ณต์›์— ํ•„์š”ํ•œ ์ •๋ณด๋งŒ ๋‚จ๊ธฐ๊ณ  ํ•„์š”์—†๋Š” ์ •๋ณด๋ถ€ํ„ฐ ๋ฒ„๋ ค์ง„๋‹ค.

์ด์ „์‹œ๊ฐ„(https://chan4im.tistory.com/196)์—์„œ์˜ TF-IDF๋“ฑ์„ ํ™œ์šฉ, ๊ณ„์‚ฐํ•œ ํฌ์†Œ๋‹จ์–ดํŠน์ง•๋ฒกํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ๊ณ 
๊ฐ™์€ ์ถœ๋ ฅ๊ฐ’์„ ๊ฐ–๋„๋ก ํ›ˆ๋ จ ์‹œ, AE์˜ bottle-neck์ธต ๊ฒฐ๊ณผ๊ฐ’์„ dense word embedding vector๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

 

 

 

 


3.  ํ”ํ•œ ์˜คํ•ด 1.

Skip-Gram, GloVe๋ฅผ ์‚ฌ์šฉํ•ด ํ›ˆ๋ จํ•œ ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๊ฐ€ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค?

No! ์ด ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋Š” pre-train๋œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋กœ word2vec์„ ํ†ตํ•ด ์–ป์€ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฒกํ„ฐ๊ฐ€ ํ›Œ๋ฅญํ•˜๊ฒŒ ๋‹จ์–ด์˜ ํŠน์ง•์„ ์ž˜ ๋ฐ˜์˜์€ ํ•˜์ง€๋งŒ ๋ชจ๋ธํ›ˆ๋ จ์„ ํ†ตํ•œ ๋ฌธ์ œํ•ด๊ฒฐ์— ๋Œ€ํ•œ ์ตœ์ ์˜ ๋ฒกํ„ฐ์ž„๋ฒ ๋”ฉ์€ ์•„๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ›ˆ๋ จํ•œ ์ž„๋ฒ ๋”ฉ ๋ฒกํ„ฐ๋Š” ๊ธฐ์กด๋ชฉ์ ์— ๋งž์ง€์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ์— ๋ฌธ์ œ์˜ ํŠน์ง•์„ ๊ณ ๋ คํ•˜์ง€ ์•Š์€ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฒกํ„ฐ๋Š” ๊ทธ๋‹ค์ง€ ์ข‹์€๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์—†๋‹ค.

 

 

 

 

 

 


4. word2vec [2013]

4.1 word2vec
word2vec์€ ๋‹จ์–ด๋ฅผ ์ž„๋ฒ ๋”ฉํ•˜๋Š” 2๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ CBOW์™€ Skip-Gram์„ ์ œ์‹œํ•œ๋‹ค.
๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ํ•จ๊ป˜ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด๊ฐ€ ๋น„์Šทํ• ์ˆ˜๋ก ๋น„์Šทํ•œ ๋ฒกํ„ฐ๊ฐ’์„ ๊ฐ€์งˆ ๊ฒƒ์ด๋ผ๋Š” ๊ณตํ†ต๋œ ๊ฐ€์ •์„ ์ „์ œ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.

์•ž์—์„œ์ฒ˜๋Ÿผ ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ window_size๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ํŠน์ • ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ window ๋‚ด์˜ ์ฃผ๋ณ€ ๋‹จ์–ด๋“ค์„ ์‚ฌ์šฉ, word embedding์„ ํ•™์Šตํ•œ๋‹ค.
๋‹ค๋งŒ, window๋‚ด์—์„œ์˜ ์œ„์น˜๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š์ง€๋งŒ ๊ทธ๋ ‡๋‹ค๊ณ  ์œ„์น˜์ •๋ณด๋ฅผ ๋ฌด์‹œํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.
์ด๋Š” window ์ž์ฒด์— ๋‹จ์–ด์˜ ์œ„์น˜์ •๋ณด๋ฅผ ๋‚ดํฌํ•˜๊ธฐ์— ๊ฐ€๋Šฅํ•œ ์ผ์ด๋‹ค.

 

4.2 CBOW .&. Skip-Gram 
๐Ÿ“Œ CBOW (Continuous Bag Of Words)
  - ์‹ ๊ฒฝ๋ง ์ฃผ๋ณ€์— ๋‚˜ํƒ€๋‚˜๋Š” ๋‹จ์–ด๋“ค์„ one-hot encoding๋œ ๋ฒกํ„ฐ๋กœ ์ž…๋ ฅ๋ฐ›์Œ
  - ์ž…๋ ฅ์„ ํ† ๋Œ€๋กœ ํ•ด๋‹น ๋‹จ์–ด๋ฅผ ์˜ˆ์ธก

๐Ÿ“Œ Skip-Gram 
  - ๋Œ€์ƒ ๋‹จ์–ด๋ฅผ one-hot encoding๋ฒกํ„ฐ๋กœ ์ž…๋ ฅ์„ ๋ฐ›์Œ
  - ์ž…๋ ฅ์„ ํ† ๋Œ€๋กœ ์ฃผ๋ณ€๋‹จ์–ด๋“ค์„ ์˜ˆ์ธกํ•˜๋Š” ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑ, word embedding vector๋ฅผ ํ•™์Šต
  - ๋ณดํ†ต CBOW๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜ ๋” ๋„๋ฆฌ ์‚ฌ์šฉ๋จ

 

4.3 ์ƒ์„ธ (Skip-Gram) ํ›ˆ๋ จ๋ฐฉ์‹
โ‘  MLE๋ฅผ ํ†ตํ•ด ์•„๋ž˜ ์ˆ˜์‹์˜ argmax๋‚ด์˜ ์ˆ˜์‹์„ ์ตœ๋Œ€ํ™”ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ θ๋ฅผ ์ฐพ์Œ.
โ‘ก ์ด๋ฅผ ํ†ตํ•ด wt๊ฐ€ ์ฃผ์–ด์ง€๋ฉด, ์•ž๋’ค n๊ฐœ์˜ ๋‹จ์–ด(wt-(\frac{n}{2}), ... ,wt+(\frac{n}{2}))๋ฅผ ์˜ˆ์ธกํ•˜๋„๋ก ํ›ˆ๋ จ. (window_size=n)
โ‘ข one-hot vector๋ฅผ dense vector์ธ word embedding vector๋กœ ๋ณ€ํ™˜


โˆ™ ์œ„์˜ ์ˆ˜์‹์„ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.
์ˆ˜์‹์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ, ๋งค์šฐ ๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ๋กœ softmax๊ณ„์ธต์ด ์ถœ๋ ฅ์ธต์ด๋‹ค.

โˆ™ ํฅ๋ฏธ๋กœ์šด ์ ์€ ์‹ ๊ฒฝ๋ง ๋‚ด๋ถ€์— sigmoid๊ฐ™์€ ๋น„์„ ํ˜•ํ•จ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 


5. GloVe (Global Vectors for word representation)

5.1 ์•Œ๊ณ ๋ฆฌ์ฆ˜
 โˆ™ word2vec๊ณผ ๊ฐ™์€ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ธ GloVe๋Š” "๋Œ€์ƒ ๋‹จ์–ด์— ๋Œ€ํ•ด corpus์— ํ•จ๊ป˜ ๋‚˜ํƒ€๋‚œ ๋‹จ์–ด๋ณ„ ์ถœํ˜„๋นˆ๋„๋ฅผ ์˜ˆ์ธก"ํ•œ๋‹ค.
 โˆ™ GloVe ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ parameter๋ฅผ ๊ตฌํ•˜๋Š” ์ˆ˜์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

Skip-Gram์„ ์œ„ํ•œ ์‹ ๊ฒฝ๋ง๊ณผ ๊ฑฐ์˜ ์œ ์‚ฌํ•œ ํ˜•ํƒœ์ธ๋ฐ,๋‹ค๋งŒ ์ด๋Š” classification๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ
"์ถœํ˜„๋นˆ๋„๋ฅผ ๊ทผ์‚ฌํ•˜๋Š” regression"๋ฌธ์ œ์ด๊ธฐ์— MSE๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


โˆ™๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์›ํ•ซ๋ฒกํ„ฐ x๋ฅผ ์ž…๋ ฅ์œผ๋กœ 1๊ฐœ์˜ ์€๋‹‰์ธต W๋ฅผ ๊ฑฐ์ณ ์ถœ๋ ฅ์ธต W'์„ ํ†ตํ•ด ์ถœ๋ ฅ๋ฒกํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š”๋ฐ, 
์ด ์ถœ๋ ฅ๋ฒกํ„ฐ๋Š” ๋‹จ์–ด x์™€ ํ•จ๊ป˜ corpus์— ์ถœํ˜„ํ•œ ๋ชจ๋“  ๋‹จ์–ด์˜ ๋™์‹œ์ถœํ˜„๋นˆ๋„๋“ค์„ ๋‚˜ํƒ€๋‚ธ ๋ฒกํ„ฐ Cx๋ฅผ ๊ทผ์‚ฌํ•ด์•ผํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ๋‘˜์˜ ์ฐจ์ด๊ฐ’์ธ ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๋„๋ก ์—ญ์ „ํŒŒ ๋ฐ SGD๋ฅผ ํ†ตํ•ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

โˆ™ ์ด๋•Œ, ๋‹จ์–ด x ์ž์ฒด์˜ ์ถœํ˜„๋นˆ๋„(= prior probability; ์‚ฌ์ „ํ™•๋ฅ )์— ๋”ฐ๋ผ MSE Loss๊ฐ’์ด ๋งค์šฐ ๋‹ฌ๋ผ์ง„๋‹ค.
โ—๏ธ Cx๊ฐ’ ์ž์ฒด๊ฐ€ ํด์ˆ˜๋ก ์†์‹ค๊ฐ’์ด ๋งค์šฐ ์ปค์งˆ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ!!
 ∴ f(x)๋Š” ๋‹จ์–ด์˜ ๋นˆ๋„์— ๋”ฐ๋ผ ์•„๋ž˜์™€ ๊ฐ™์ด ์†์‹คํ•จ์ˆ˜์— ๊ฐ€์ค‘์น˜๋ฅผ ๋ถ€์—ฌํ•œ๋‹ค.

์ด์™€ ๊ด€๋ จํ•ด GloVe๋…ผ๋ฌธ[https://aclanthology.org/D14-1162.pdf]์—์„œ๋Š” threshold=100, a=3/4์ผ ๋•Œ, ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ผ ๋ช…์‹œ

 

5.2 Skip-Gram. vs. GloVe
โˆ™ GloVe๋Š” ์ฒ˜์Œ์— corpus๋ฅผ ํ†ตํ•ด ๋‹จ์–ด๋ณ„ ๋™์‹œ์ถœํ˜„๋นˆ๋„๋ฅผ ์กฐ์‚ฌ,
๊ทธ์—๋Œ€ํ•œ ์ถœํ˜„๋นˆ๋„ํ–‰๋ ฌ์„ ๋งŒ๋“ค๊ณ  ์ดํ›„ ํ•ด๋‹น ํ–‰๋ ฌ์„ ํ†ตํ•ด ๋™์‹œ์ถœํ˜„๋นˆ๋„๋ฅผ ๊ทผ์‚ฌํ•œ๋‹ค.
๋”ฐ๋ผ์„œ corpus ์ „์ฒด๋ฅผ ํ›‘์œผ๋ฉฐ ๋Œ€์ƒ๋‹จ์–ด์™€ ์ฃผ๋ณ€ ๋‹จ์–ด๋ฅผ ๊ฐ€์ ธ์™€ ํ•™์Šตํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” skip-gram๋ณด๋‹ค ํ›จ์”ฌ ํ•™์Šต์ด ๋น ๋ฅด๋‹ค.

๋˜ํ•œ, skip-gram์€ corpus๋ฅผ ํ›‘์œผ๋ฉฐ(windowํŠน์„ฑ) ํ•™์Šตํ•˜๊ธฐ์—
์‚ฌ์ „ํ™•๋ฅ ์ด ๋‚ฎ์€(= ์ถœํ˜„๋นˆ๋„์ž์ฒด๊ฐ€ ์ ์€) ๋‹จ์–ด์— ๋Œ€ํ•ด์„œ๋Š” ํ•™์Šต๊ธฐํšŒ๊ฐ€ ๋ถ€์‹คํ•˜๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ skip-gram์€ ๋น„๊ต์  ๋ถ€์ •ํ™•ํ•œ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฒกํ„ฐ๋ฅผ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.

ํ•˜์ง€๋งŒ GloVe์˜ ๊ฒฝ์šฐ, skip-gram์— ๋น„ํ•ด ์ด๋Ÿฐ ๋‹จ์ ์ด ์–ด๋Š์ •๋„ ๋ณด์™„๋œ๋‹ค.

 

5.3 ์ •๋ฆฌ
GloVe๊ฐ€ ๊ฐ€์žฅ ๋›ฐ์–ด๋‚œ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฐฉ์‹์ž„์„ ์ฃผ์žฅํ–ˆ์ง€๋งŒ,
skip-gram์˜ window_size, learning_rate, epoch์ˆ˜ ๋“ฑ hyper-parameter tuning์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ ์œผ๋กœ ํฐ ์ฐจ์ด๊ฐ€ ์—†๊ธฐ์—
์ ์ ˆํ•œ ๋ฐฉ์‹์„ ์‹œ์Šคํ…œ ๊ตฌ์„ฑ์˜ ์ œ์•ฝ์— ๋”ฐ๋ผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.

 

 

 

 

 

 

 

 


6. word2vec ์˜ˆ์ œ (FastText ์˜คํ”ˆ์†Œ์Šค)

6.1 FastText๋ฅผ ํ™œ์šฉํ•œ word embedding ํ•™์Šต

 

6.2 ์‹œ๊ฐํ™”
์œ„์˜ ๋ฐฉ๋ฒ•์œผ๋กœ ์–ป์€ ๋ฒกํ„ฐ๋“ค์„ ์‹œ๊ฐํ™” ํˆด๋กœ ์‹œ๊ฐํ™”ํ•˜๋ฉด ํ›ˆ๋ จ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์‰ฝ๊ฒŒ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์•„์‰ฝ๊ฒŒ๋„ pytorch๋Š” ์ž์ฒด์‹œ๊ฐํ™”ํˆด์„ ์ œ๊ณตํ•˜์ง€ ์•Š๊ธฐ์— tensorflow์˜ tensorboard๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์ข‹์€ ์‹œ๊ฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

pytorch 1.1 version๋ถ€ํ„ฐ tensorboard๋ฅผ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜๊ธฐ์— ์‚ฌ์šฉ๊ฐ€๋Šฅ!!

 

 

 

 

 


๋งˆ์น˜๋ฉฐ...

์ด์ „์‹œ๊ฐ„์—๋Š” ํŠน์ง•๋ฒกํ„ฐ๋ฅผ TF-IDF๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•ด ์‚ฌ์šฉํ–ˆ์ง€๋งŒ, "ํฌ์†Œ์„ฑ"๋ฌธ์ œ๋“ฑ์œผ๋กœ
์ด๋ฒˆ์‹œ๊ฐ„, ์ฐจ์›์ถ•์†Œ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์•˜๋‹ค.

๊ธฐ์กด์˜ ์„ ํ˜•์  ์ฐจ์›์ถ•์†Œ๋ฐฉ๋ฒ•์— ๋น„ํ•ด Neural Network๋Š” ๋น„์„ ํ˜•์  ์ฐจ์›์ถ•์†Œ๋ฅผ ํ†ตํ•œ ํŠน์ง•์ถ”์ถœ์ด ํšจ๊ณผ์ ์ด๊ธฐ์— ๋”ฅ๋Ÿฌ๋‹์ด ๊ธฐ์กด ๋จธ์‹ ๋Ÿฌ๋‹๋ณด๋‹ค ์›”๋“ฑํ•œ ์„ฑ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค.


ํ•˜์ง€๋งŒ ์ด๋Ÿฐ ๋”ฅ๋Ÿฌ๋‹์˜ ๋น„์„ ํ˜•์  ์ฐจ์›์ถ•์†Œ๋Š” Cost๊ฐ€ ๋†’๊ณ  ์ตœ์ ํ™”๊ฐ€ ์–ด๋ ต๋‹ค.
์ด๋Ÿฐ ์ ์—์„œ word2vec์€ ๋น„์„ ํ˜•์ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ๋งค์šฐ ์ข‹์€ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ
GloVe๋Š” ๋” ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•œ ๋‹จ์–ด์ž„๋ฒ ๋”ฉ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜์˜€๋‹ค.

์œ„์˜ ๋ฐฉ๋ฒ•๋“ค์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์–ด๊ฐ„ ์œ ์‚ฌ๋„๋ฅผ data๊ธฐ๋ฐ˜์œผ๋กœ ํšจ๊ณผ์ ์ด๋ฉด์„œ ์ •ํ™•ํ•˜๊ฒŒ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.


ํ•˜์ง€๋งŒ ์•ž์œผ๋กœ ์†Œ๊ฐœํ•  text classification, Language generation๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•์—์„œ๋Š” 
์˜ค๋Š˜ ์„ค๋ช…ํ•œ word embedding algorithm๋ณด๋‹ค ๋‹จ์ˆœํžˆ embedding ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด ๋” ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์ด๋‹ค.

์ด์ œ, ๋ฌธ์žฅ๋‹จ์œ„๋กœ ์ž์—ฐ์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋“ค์— ๋Œ€ํ•ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์•Œ์•„๋ณด์ž!!

 

+ Recent posts