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โ์ ์ถ๋ฐ์ ์ด ๋์์ต๋๋ค.