๐Ÿ ๋จธ์‹ ๋Ÿฌ๋‹ | ๋”ฅ๋Ÿฌ๋‹/์ถ”์ฒœ์‹œ์Šคํ…œ

[K-Data x ๋Ÿฌ๋‹์Šคํ‘ผ์ฆˆ] 4-2. ์ž„๋ฒ ๋”ฉ๊ณผ Word2Vec

xod22 2022. 2. 1. 22:15
728x90
์ž„๋ฒ ๋”ฉ

 

1) Sparse Representation

: one-hot encoding 

ex) ๋ฉด๋„๊ธฐ = [0, 0, 0, 0, ..,1, 0, 0, ..., 0], ์ฐจ์›์˜ ๊ฐœ์ˆ˜๋Š” ์•„์ดํ…œ ์ „์ฒด ๊ฐœ์ˆ˜์™€ ๊ฐ™๋‹ค..!

๋ฒกํ„ฐ์˜ ์ฐจ์›์€ ํ•œ์—†์ด ์ปค์ง€๊ณ  ๊ณต๊ฐ„์ด ๋‚ญ๋น„๋œ๋‹ค๋Š” ํŠน์ง•

 

2) Dense Representation

: ์•„์ดํ…œ ์ „์ฒด ๊ฐœ์ˆ˜๋ณด๋‹ค ํ›จ์”ฌ ์ž‘์€ ์ฐจ์›์œผ๋กœ ํ‘œํ˜„๋จ..!

์•„์ดํ…œ์˜ ์˜๋ฏธ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ฐจ์›์— ๋ถ„์‚ฐํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค

ex) ๋ฉด๋„๊ธฐ = [0.2, 1.4, -0.4, 1.2, 0.3]

 

์›Œ๋“œ ์ž„๋ฒ ๋”ฉ

 

  • ๋‹จ์–ด๋ฅผ ์ •ํ•ด์ง„ ์‚ฌ์ด์ฆˆ์˜ dense vector๋กœ ๋‚˜ํƒ€๋‚ด๋Š”๊ฒƒ์ด๋‹ค.!!

one-hot encoding->dense representation

[0,0,1,...,0]-> 3์ฐจ์›[0.2, 0.4, 0.4]

 

  • ์ž„๋ฒ ๋”ฉ ์‹œํ‚ค๋ฉด ๋‹จ์–ด๊ฐ„์˜ ์˜๋ฏธ์ ์ธ ์œ ์‚ฌ๋„๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ

๋น„์Šทํ•œ ์˜๋ฏธ์˜ ๋‹จ์–ด๋ผ๋ฆฌ๋Š” ํ•ด๋‹น vector๊ฐ€ ๋น„์Šทํ•œ ์œ„์น˜์— ๋ถ„ํฌํ•œ๋‹ค..!

ex) ์˜ˆ์˜๋‹ค, ๊ท€์—ฝ๋‹ค, ์• ๊ต ๋“ฑ์˜ ๋‹จ์–ด๋Š” ๋น„์Šทํ•œ ๋ฒกํ„ฐ๊ฐ’์„ ๊ฐ€์งˆ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ

 

Word2Vec

 

<ํŠน์ง•>

: ๋Œ€๋Ÿ‰์˜ ๋ฌธ์„œ ๋ฐ์ดํ„ฐ์…‹์„ vector ๊ณต๊ฐ„์— ํˆฌ์˜ํ•จ

์••์ถ•๋œ ํ˜•ํƒœ์˜ ๋งŽ์€ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” dense vector๋กœ ํ‘œํ˜„

ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅธ ํ•™์Šต์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

<ํ•™์Šต๋ฐฉ๋ฒ•>

  1. CBOW
  2. Skip-gram


๊ทธ๋Ÿผ Word2Vec์„ ํ•™์Šตํ•˜๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!

โ‘  CBOW (์”จ๋ฐ”์˜ค)

 

: ์ฃผ๋ณ€์— ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์„ผํ„ฐ์— ์žˆ๋Š” ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•

๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์•ž๋’ค๋กœ ๋ช‡ ๊ฐœ(n)์˜ ๋‹จ์–ด๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ์ง€ ์ •ํ•ด์•ผ ํ•œ๋‹ค..!

 

์˜ˆ์‹œ)

์˜ˆ์ธก ๋‹จ์–ด : "sat"

n=2

์˜ˆ์ธก ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ๋‹จ์–ด : "fat", "cat", "on", "the"

* ๊ณ„์‚ฐ ๋ฐฉ๋ฒ•

์ค‘๊ฐ„์˜ ์ž„๋ฒ ๋”ฉ ์ฐจ์›์„ ๊ฑฐ์ณ์•ผํ•จ!&nbsp;

โ‘ก Skip-gram Negative Sampling (SGNS)

 

* Skip-gram

: CBOW์˜ ์ž…๋ ฅ์ธต๊ณผ ์ถœ๋ ฅ์ธต์„ ๋ฐ˜๋Œ€๋กœ ๊ตฌ์„ฑํ•œ ๋ชจ๋ธ์ด๋‹ค!

์ผ๋ฐ˜์ ์œผ๋กœ CBOW๋ณด๋‹ค ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ์•Œ๋ ค์ ธ์žˆ์Œ!

* Skip-gram Negative Sampling (SGNS)

: multi classification -> binary classification

 

<Skip-gram> 

<SGNS>

=> cat์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์€ ๋‹จ์–ด์ค‘์— sat์ด๋ผ๋Š” ๋‹จ์–ด๋ฅผ ์˜ˆ์ธกํ•ด์•ผํ•˜๋Š” Skip-gram๊ณผ ๋‹ฌ๋ฆฌ

SGNS๋Š” (cat,sat)์ด ์ธ์ ‘ํ•ด์žˆ์„ ๋•Œ 1, ๊ทธ๋ ‡์ง€์•Š๊ณ  (cat,dog)๊ฐ™์ด ๊ด€๋ จ ์—†๋Š” ๋‹จ์–ด๋ฅผ ๋„ฃ์—ˆ์„ ๋•Œ๋Š” 0์„ ๋ฑ‰๋Š”

binary ๋ฌธ์ œ๊ฐ€ ๋จ!  

 

* ๊ณ„์‚ฐ๋ฐฉ๋ฒ•

 

1) ์ค‘์‹ฌ๋‹จ์–ด์™€ ์ฃผ๋ณ€๋‹จ์–ด๊ฐ€ ๊ฐ๊ฐ ์„œ๋กœ๋‹ค๋ฅธ ์ž„๋ฒ ๋”ฉ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

2) ์ž…๋ ฅ๋‹จ์–ด์™€ ์ฃผ๋ณ€๋‹จ์–ด์™€์˜ ๋‚ด์ ์„ ํ†ตํ•ด ์‹œ๊ทธ๋ชจ์ด๋“œ ๊ฐ’์œผ๋กœ ๋ ˆ์ด๋ธ”์„ ํ‘œํ˜„!

=> ์–ด๋–ค word์— ๋Œ€ํ•ด์„œ ์ •ํ•ด์ง„ embedding์ด ๋‚˜์˜จ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋“ฌ

 


์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋‹จ์–ด๋ฅผ ๋ฒกํ„ฐ๋กœ ์ž„๋ฒ ๋”ฉ ์‹œํ‚ค๋Š” ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค!

 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์ถ”์ฒœ์— ํ•ด๋‹นํ•˜๋Š” ์•„์ดํ…œ์„ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊ฟ”์„œ ์ถ”์ฒœ์— ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค~_~

๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ๋!

728x90