Word Embeddings

๊น€๋™์ค€ยท2025๋…„ 10์›” 17์ผ

Word Embeddings

โธป

๐Ÿง  1. Word Embedding์˜ ๊ธฐ๋ณธ ๊ฐœ๋…

โ€œ๋‹จ์–ด๋ฅผ ์˜๋ฏธ์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ˆซ์ž๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•โ€

โธป

๐Ÿ”น ์™œ ํ•„์š”ํ•œ๊ฐ€?

์ปดํ“จํ„ฐ๋Š” ์–ธ์–ด(๋ฌธ์ž)๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
โ€ข ์ธ๊ฐ„: โ€œappleโ€์€ ๊ณผ์ผ์˜ ์ผ์ข…์ž„์„ ์ธ์ง€
โ€ข ์ปดํ“จํ„ฐ: โ€œappleโ€์€ ๋ฌธ์ž๋“ค์˜ ๋‚˜์—ด 'a' 'p' 'p' 'l' 'e'

๊ทธ๋ž˜์„œ ๋‹จ์–ด๋ฅผ ์ˆ˜ํ•™์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๋ฒกํ„ฐ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด ๊ณผ์ •์„ ์ž„๋ฒ ๋”ฉ(embedding) ์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

โธป

๐Ÿงฉ 2. One-hot Encoding โ€” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ‘œํ˜„

๋‹จ์–ด ๋ฒกํ„ฐ ํ‘œํ˜„
apple [1, 0, 0, 0, 0]
banana [0, 1, 0, 0, 0]
grape [0, 0, 1, 0, 0]

โ€ข	์žฅ์ : ๋‹จ์ˆœํ•˜๊ณ  ๊ตฌํ˜„ ์‰ฌ์›€
โ€ข	๋‹จ์ :
โ€ข	๋‹จ์–ด ๊ฐ„ ์˜๋ฏธ์  ์œ ์‚ฌ๋„๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†์Œ
โ€ข	๋ฒกํ„ฐ๊ฐ€ ํฌ์†Œ(sparse) ํ•˜๊ณ , ์ฐจ์›์ด ๋‹จ์–ด ์ˆ˜๋งŒํผ ์ปค์ง

โ€œappleโ€๊ณผ โ€œbananaโ€๋Š” ๋ชจ๋‘ ๊ณผ์ผ์ด์ง€๋งŒ,
One-hot ๋ฒกํ„ฐ ์ƒ์—์„œ๋Š” ์™„์ „ํžˆ ๋ฌด๊ด€ํ•จ (์ง๊ต ๊ด€๊ณ„)

โธป

๐ŸŒ 3. ์˜๋ฏธ ๊ธฐ๋ฐ˜ ํ‘œํ˜„: Word Embedding์˜ ๋“ฑ์žฅ

Word Embedding์€ โ€œ๋น„์Šทํ•œ ๋ฌธ๋งฅ์— ๋‚˜ํƒ€๋‚˜๋Š” ๋‹จ์–ด๋Š” ๋น„์Šทํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹คโ€๋Š”
๋ถ„ํฌ ๊ฐ€์„ค(Distributional Hypothesis) ์— ๊ธฐ๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“– โ€œYou shall know a word by the company it keeps.โ€
โ€” J.R. Firth, 1957

์˜ˆ๋ฅผ ๋“ค์–ด,

I ate an apple.
I ate a banana.

๋‘ ๋ฌธ์žฅ์—์„œ apple๊ณผ banana๋Š” ๊ฐ™์€ ๋ฌธ๋งฅ์— ๋“ฑ์žฅํ•˜๋ฏ€๋กœ,
์ปดํ“จํ„ฐ๋Š” ์ด ๋‘ ๋‹จ์–ด๊ฐ€ ๋น„์Šทํ•œ ์˜๋ฏธ๋ผ๊ณ  ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

โธป

โš™๏ธ 4. ์ฃผ์š” Word Embedding ๋ชจ๋ธ

(1) Word2Vec (Google, 2013)

๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ธก ๊ธฐ๋ฐ˜(predictive) ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

โธป

๐Ÿ’ก ๊ตฌ์กฐ: ๋‘ ๊ฐ€์ง€ ํ•™์Šต ๋ฐฉ์‹

๋ฐฉ์‹ ์ž…๋ ฅ ์ถœ๋ ฅ ์„ค๋ช…
CBOW (Continuous Bag of Words) ์ฃผ๋ณ€ ๋‹จ์–ด ์ค‘์‹ฌ ๋‹จ์–ด ๋ฌธ๋งฅ์œผ๋กœ ์ค‘์‹ฌ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธก
Skip-Gram ์ค‘์‹ฌ ๋‹จ์–ด ์ฃผ๋ณ€ ๋‹จ์–ด ์ค‘์‹ฌ ๋‹จ์–ด๋กœ ์ฃผ๋ณ€ ๋‹จ์–ด๋ฅผ ์˜ˆ์ธก

โธป

๐Ÿงฉ ์˜ˆ์‹œ ๋ฌธ์žฅ

โ€œThe cat sits on the matโ€
โ€ข CBOW:
์ฃผ๋ณ€ ๋‹จ์–ด [The, sits, on] โ†’ ์ค‘์‹ฌ ๋‹จ์–ด โ€œcatโ€
โ€ข Skip-Gram:
์ค‘์‹ฌ ๋‹จ์–ด โ€œcatโ€ โ†’ ์ฃผ๋ณ€ ๋‹จ์–ด [The, sits, on]

์ด ์˜ˆ์ธก์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๊ฐ ๋‹จ์–ด์˜ ๋ฒกํ„ฐ๊ฐ€ ์ ์ฐจ ์˜๋ฏธ์ ์œผ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.

โธป

๐Ÿ“ˆ ํ•™์Šต ๊ฒฐ๊ณผ ์˜ˆ์‹œ

๋‹จ์–ด ๋ฒกํ„ฐ ์˜ˆ์‹œ(3์ฐจ์› ๋‹จ์ˆœํ™”)
king [0.7, 0.2, 0.5]
queen [0.6, 0.3, 0.4]
man [0.8, 0.1, 0.5]
woman [0.7, 0.3, 0.4]

๐Ÿ‘‰ king - man + woman โ‰ˆ queen
๋‹จ์–ด ๊ฐ„ ์˜๋ฏธ ๊ด€๊ณ„๊ฐ€ ์ˆ˜ํ•™์  ๋ฒกํ„ฐ ์—ฐ์‚ฐ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค!

โธป

๐Ÿ“ ์‹ค์ œ ์œ ์‚ฌ๋„ ์˜ˆ์‹œ (์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„)

๋‹จ์–ด ์Œ ์œ ์‚ฌ๋„ ํ•ด์„
(king, queen) 0.83 ๋†’์€ ์œ ์‚ฌ๋„ (์™•๊ณผ ์—ฌ์™•)
(cat, dog) 0.76 ๋‘˜ ๋‹ค ๋™๋ฌผ
(king, apple) 0.05 ๊ฑฐ์˜ ๋ฌด๊ด€

โธป

(2) GloVe (Stanford, 2014)

Global Vectors for Word Representation

Word2Vec์€ โ€œ์˜ˆ์ธกโ€ ์ค‘์‹ฌ์ด์—ˆ๋‹ค๋ฉด,
GloVe๋Š” โ€œํ†ต๊ณ„์  ๋นˆ๋„(co-occurrence)โ€ ์— ์ดˆ์ ์„ ๋งž์ถฅ๋‹ˆ๋‹ค.

โธป

๐Ÿ’ก ํ•ต์‹ฌ ์•„์ด๋””์–ด

โ€œ๋‹จ์–ด๋“ค์ด ํ•จ๊ป˜ ๋“ฑ์žฅํ•˜๋Š” ํ™•๋ฅ  ๋น„์œจ(co-occurrence ratio)์€
๋‹จ์–ด ์˜๋ฏธ์˜ ์ค‘์š”ํ•œ ๋‹จ์„œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.โ€

์˜ˆ๋ฅผ ๋“ค์–ด:
โ€ข โ€œiceโ€๋Š” โ€œcoldโ€์™€ ์ž์ฃผ ๋“ฑ์žฅํ•˜๊ณ , โ€œsteamโ€์€ โ€œhotโ€๊ณผ ์ž์ฃผ ๋“ฑ์žฅ
โ€ข โ€œiceโ€์™€ โ€œsteamโ€์€ ๋‘˜ ๋‹ค โ€œwaterโ€์™€ ๊ด€๋ จ๋จ
โ†’ ๋”ฐ๋ผ์„œ โ€œiceโ€์™€ โ€œsteamโ€์˜ ์ฐจ์ด๋Š” โ€œcold-hotโ€ ์ถ•์œผ๋กœ ์„ค๋ช… ๊ฐ€๋Šฅ

์ด๋Ÿฐ ๊ด€๊ณ„๋ฅผ ๋ฐ˜์˜ํ•˜์—ฌ ๋ฒกํ„ฐ๋ฅผ ํ•™์Šตํ•จ.

โธป

๐Ÿ“Š GloVe์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

์ค‘์‹ฌ ๋‹จ์–ด ์ฃผ๋ณ€ ๋‹จ์–ด ๋™์‹œ ๋“ฑ์žฅ ํšŸ์ˆ˜
ice cold 45
ice hot 2
steam hot 40
steam cold 3

์ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•๋ฅ  ๋น„์œจ์„ ๊ณ„์‚ฐํ•˜๊ณ ,
๋ฒกํ„ฐ ๊ณต๊ฐ„ ์ƒ์—์„œ ๊ทธ ๊ด€๊ณ„๋ฅผ ๋ณด์กดํ•˜๋„๋ก ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

โธป

(3) FastText (Facebook AI, 2016)

โ€œ๋‹จ์–ด ๋‚ด๋ถ€(subword) ๊ตฌ์กฐ๊นŒ์ง€ ๊ณ ๋ คํ•œ Word Embeddingโ€

โธป

โš™๏ธ ํ•ต์‹ฌ ์•„์ด๋””์–ด

Word2Vec์ด๋‚˜ GloVe๋Š” ๋‹จ์–ด ์ „์ฒด๋ฅผ ํ•˜๋‚˜์˜ ํ† ํฐ์œผ๋กœ ๋ด…๋‹ˆ๋‹ค.
โ†’ โ€œunbelievableโ€์€ ํ•˜๋‚˜์˜ ๋‹จ์–ด๋กœ๋งŒ ํ•™์Šต๋จ.

ํ•˜์ง€๋งŒ FastText๋Š” ๋‹จ์–ด๋ฅผ ๋ถ€๋ถ„ ๋‹จ์œ„(subword, n-gram) ๋กœ ๋ถ„ํ•ดํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ:

โ€œappleโ€ โ†’ โ€œappโ€, โ€œpplโ€, โ€œpleโ€
โ€œrunningโ€ โ†’ โ€œrunโ€, โ€œunnโ€, โ€œnniโ€, โ€œninโ€, โ€œingโ€

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด:
โ€ข ํ˜•ํƒœ๊ฐ€ ๋น„์Šทํ•œ ๋‹จ์–ด๋Š” ๋ฒกํ„ฐ๋„ ๋น„์Šทํ•˜๊ฒŒ ํ•™์Šต๋จ
โ€ข ํฌ๊ท€ ๋‹จ์–ด(OOV, Out-of-Vocabulary) ์ฒ˜๋ฆฌ์— ๊ฐ•ํ•จ

โธป

๐Ÿ“˜ ์˜ˆ์‹œ ๋น„๊ต

๋‹จ์–ด Word2Vec ๋ฒกํ„ฐ FastText ๋ฒกํ„ฐ
walk [0.61, 0.32, 0.44, โ€ฆ][0.62, 0.34, 0.43, โ€ฆ]
walking [0.20, 0.10, 0.12, โ€ฆ][0.61, 0.33, 0.45, โ€ฆ]

โžก๏ธ FastText๋Š” โ€œwalkโ€์™€ โ€œwalkingโ€์„ ์œ ์‚ฌํ•˜๊ฒŒ ํ•™์Šต
โžก๏ธ ํ˜•ํƒœ ๊ธฐ๋ฐ˜ ์ผ๋ฐ˜ํ™”๊ฐ€ ๊ฐ€๋Šฅ (ํ˜•ํƒœ์†Œ ๋‹จ์œ„ ํ•™์Šต)

โธป

๐Ÿงญ 5. Embedding ๊ณต๊ฐ„์˜ ๊ตฌ์กฐ

Word Embedding์ด ์ž˜ ํ•™์Šต๋˜๋ฉด,
๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ์˜๋ฏธ ๊ด€๊ณ„๊ฐ€ ๊ธฐํ•˜ํ•™์ ์œผ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ (2D๋กœ ๋‹จ์ˆœํ™”ํ•œ ์‹œ๊ฐํ™”):

    king โ€ขโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ข queen
     โ†‘             โ†‘
    man โ€ขโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ€ข woman

โ†’ โ€œ์„ฑ๋ณ„โ€์ด๋ผ๋Š” ์ถ”์ƒ์  ๊ฐœ๋…์ด ๋ฒกํ„ฐ ๊ณต๊ฐ„์˜ ๋ฐฉํ–ฅ์œผ๋กœ ํ‘œํ˜„๋จ.

โธป

๐Ÿงฎ 6. ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ (๊ฐ„๋‹จ ์š”์•ฝ)

์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ (cosine similarity)

๋‹จ์–ด ๋ฒกํ„ฐ A, B ์˜ ์œ ์‚ฌ๋„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค:
\text{similarity}(A,B) = \frac{A \cdot B}{|A||B|}
โ€ข 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์˜๋ฏธ๊ฐ€ ๋น„์Šทํ•จ
โ€ข 0์ด๋ฉด ๋ฌด๊ด€, -1์ด๋ฉด ๋ฐ˜๋Œ€ ์˜๋ฏธ

โธป

๐Ÿง  7. ์‹ค์ œ ์˜ˆ์‹œ (๋น„๊ตํ‘œ)

๋‹จ์–ด์Œ Word2Vec FastText GloVe
kingโ€“queen 0.83 0.85 0.84
catโ€“dog 0.78 0.79 0.80
runโ€“running 0.30 0.74 0.40
Franceโ€“Paris 0.88 0.86 0.89

โžก๏ธ FastText๋Š” ํ˜•ํƒœ๊ฐ€ ๋‹ค๋ฅธ ๋‹จ์–ด(run vs running)์— ๊ฐ•ํ•จ
โžก๏ธ GloVe๋Š” ์ „์ฒด์ ์ธ ์˜๋ฏธ ๊ด€๊ณ„(์ „์—ญ์  ํ†ต๊ณ„)์— ๊ฐ•ํ•จ

โธป

๐Ÿงฐ 8. ์‘์šฉ ๋ถ„์•ผ

๋ถ„์•ผ ํ™œ์šฉ ์˜ˆ์‹œ
๐Ÿˆน ๊ธฐ๊ณ„ ๋ฒˆ์—ญ โ€œapple โ†’ ์‚ฌ๊ณผโ€ ์ฒ˜๋Ÿผ ์˜๋ฏธ ์œ ์‚ฌ๋„ ๊ธฐ๋ฐ˜ ๋ฒˆ์—ญ
๐Ÿ’ฌ ๊ฐ์ • ๋ถ„์„ โ€œhappyโ€ โ‰ˆ โ€œjoyfulโ€ โ†’ ๊ธ์ •์œผ๋กœ ๋ถ„๋ฅ˜
๐Ÿง  ์ฑ—๋ด‡ ์‚ฌ์šฉ์ž ๋ฐœํ™”์˜ ์˜๋ฏธ ์œ ์‚ฌ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‘๋‹ต ์„ ํƒ
๐Ÿ” ์ •๋ณด ๊ฒ€์ƒ‰ ์˜๋ฏธ์ ์œผ๋กœ ๋น„์Šทํ•œ ๋‹จ์–ด๋„ ํ•จ๊ป˜ ๊ฒ€์ƒ‰ (์˜ˆ: โ€œcarโ€ โ†” โ€œautomobileโ€)

โธป

โš ๏ธ 9. ํ•œ๊ณ„์ 

ํ•œ๊ณ„ ์„ค๋ช…
๋ฌธ๋งฅ ๋ฌด์‹œ Word2Vec, GloVe, FastText ๋ชจ๋‘ โ€œ๋‹จ์–ด๋ณ„ ๊ณ ์ • ๋ฒกํ„ฐโ€๋งŒ ์ œ๊ณต โ†’ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ ๋œป์ด ๋‹ฌ๋ผ์ ธ๋„ ๋™์ผ ๋ฒกํ„ฐ ์‚ฌ์šฉ
ํŽธํ–ฅ(Bias) ํ•™์Šต ๋ฐ์ดํ„ฐ์˜ ์‚ฌํšŒ์  ํŽธํ–ฅ์„ ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜ (์˜ˆ: gender bias)
๋ณต์žกํ•œ ๋ฌธ์žฅ ์˜๋ฏธ ๋‹จ์–ด ์ˆ˜์ค€ ํ‘œํ˜„๋งŒ์œผ๋กœ๋Š” ๋ฌธ์žฅ ์ „์ฒด ์˜๋ฏธ๋ฅผ ์™„๋ฒฝํžˆ ํฌ์ฐฉํ•˜๊ธฐ ์–ด๋ ค์›€

โžก๏ธ ์ดํ›„์— BERT, GPT ๊ฐ™์€ ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜(Contextual) ์ž„๋ฒ ๋”ฉ์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

โธป

๐Ÿงฉ 10. ๋น„๊ต ์ •๋ฆฌํ‘œ

ํ•ญ๋ชฉ Word2Vec GloVe FastText
๋ฐฉ์‹ ์˜ˆ์ธก ๊ธฐ๋ฐ˜ (local) ํ†ต๊ณ„ ๊ธฐ๋ฐ˜ (global) ์˜ˆ์ธก ๊ธฐ๋ฐ˜ + Subword
๋ฌธ๋งฅ ๋ฐ˜์˜ ์ง€์—ญ ๋ฌธ๋งฅ๋งŒ ์ „์—ญ ํ†ต๊ณ„ ๋ฐ˜์˜ ์ง€์—ญ ๋ฌธ๋งฅ + ํ˜•ํƒœ์†Œ ๋ฐ˜์˜
ํฌ๊ท€ ๋‹จ์–ด ์ฒ˜๋ฆฌ ์•ฝํ•จ ์•ฝํ•จ ๊ฐ•ํ•จ
ํ•™์Šต ์†๋„ ๋น ๋ฆ„ ๋А๋ฆผ ์ค‘๊ฐ„
๋Œ€ํ‘œ ์žฅ์  ํšจ์œจ์  ์˜๋ฏธ ํ‘œํ˜„ ์ „์—ญ ๊ด€๊ณ„ ๋ณด์กด ํ˜•ํƒœ์  ์œ ์—ฐ์„ฑ, ์ผ๋ฐ˜ํ™”
๋Œ€ํ‘œ ๋‹จ์  ๋ฌธ๋งฅ ๋ฌด์‹œ ์—…๋ฐ์ดํŠธ ์–ด๋ ค์›€ ๊ณ„์‚ฐ๋Ÿ‰ ๋งŽ์Œ

โธป

๐Ÿ“˜ 11. ๊ฒฐ๋ก 

Word Embedding์€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์˜ ์–ธ์–ด ์ดํ•ด๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ ํ•ต์‹ฌ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
โ€ข Word2Vec โ†’ ์˜๋ฏธ ๊ธฐ๋ฐ˜ ๋ฒกํ„ฐ์˜ ์‹œ์ž‘
โ€ข GloVe โ†’ ์ „์—ญ ํ†ต๊ณ„์™€ ์˜๋ฏธ ๊ด€๊ณ„ ๋ฐ˜์˜
โ€ข FastText โ†’ ๋‹จ์–ด ๋‚ด๋ถ€ ๊ตฌ์กฐ๊นŒ์ง€ ๊ณ ๋ ค

์ด ๊ธฐ์ˆ ๋“ค์€ ์ดํ›„์˜ BERT, GPT ๊ฐ™์€ ๋Œ€ํ˜• ์–ธ์–ด๋ชจ๋ธ(LLM) ์˜
๊ธฐ์ดˆ์  ํ† ๋Œ€๋ฅผ ์ด๋ฃจ๋ฉฐ, ์˜ค๋Š˜๋‚ ์˜ โ€œ์˜๋ฏธ ์ดํ•ด AIโ€์˜ ์ถœ๋ฐœ์ ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€