๊ด€๋ฆฌ ๋ฉ”๋‰ด

yeon's ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป

[๋„์„œ] ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ - 1์žฅ. ๋‹ค์–‘ํ•œ ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•๋“ค ๋ณธ๋ฌธ

NLP

[๋„์„œ] ํ•œ๊ตญ์–ด ์ž„๋ฒ ๋”ฉ - 1์žฅ. ๋‹ค์–‘ํ•œ ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•๋“ค

yeon42 2022. 11. 13. 03:06
728x90

1.3 ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•์˜ ์—ญ์‚ฌ์™€ ์ข…๋ฅ˜

1.3.1 ํ†ต๊ณ„ ๊ธฐ๋ฐ˜์—์„œ ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ ๊ธฐ๋ฐ˜์œผ๋กœ

์ดˆ๊ธฐ ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•: ์ž ์žฌ ์˜๋ฏธ ๋ถ„์„(Latent Semantic Analysis)

: ๋‹จ์–ด ์‚ฌ์šฉ ๋นˆ๋„ ๋“ฑ ๋ง๋ญ‰์น˜์˜ ํ†ต๊ณ„๋Ÿ‰ ์ •๋ณด๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ์ปค๋‹ค๋ž€ ํ–‰๋ ฌ์— ํŠน์ด๊ฐ’ ๋ถ„ํ•ด(SVD) ๋“ฑ ์ˆ˜ํ•™์  ๊ธฐ๋ฒ•์„ ์ ์šฉํ•ด ํ–‰๋ ฌ์— ์†ํ•œ ๋ฒกํ„ฐ๋“ค์˜ ์ฐจ์›์„ ์ถ•์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•

-> ์ด ๊ฒฐ๊ณผ๋กœ ๋ง๋ญ‰์น˜์˜ ์ฃผ์ œ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ex) ๋‹จ์–ด-๋ฌธ์„œ ํ–‰๋ ฌ์— ์ž ์žฌ ์˜๋ฏธ ๋ถ„์„์„ ์ ์šฉ

- ๋Œ€๋ถ€๋ถ„์˜ ํ–‰๋ ฌ์€ ํฌ์†Œ ํ–‰๋ ฌ(๋Œ€๋ถ€๋ถ„์˜ ์š”์†Œ ๊ฐ’์ด 0์ธ ํ–‰๋ ฌ)์ธ๋ฐ,

  ์ด๋Ÿฐ ํฌ์†Œ ํ–‰๋ ฌ์ด ๋‹ค๋ฅธ ๋ชจ๋ธ์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์“ฐ์ด๊ฒŒ ๋˜๋ฉด ๊ณ„์‚ฐ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๋Ÿ‰์ด ๋„ˆ๋ฌด ์ปค์ง

-> ์ด๋Ÿฐ ์ด์œ ๋กœ ์›๋ž˜ ํ–‰๋ ฌ์˜ ์ฐจ์›์„ ์ถ•์†Œํ•œ ๋’ค ์‚ฌ์šฉํ•œ๋‹ค.

 

- ๋‹จ์–ด or ๋ฌธ์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ฐจ์›์„ ์ถ•์†Œํ•  ์ˆ˜ ์žˆ์Œ

   - ๋‹จ์–ด ๊ธฐ์ค€์œผ๋กœ ์ถ•์†Œ: ๋‹จ์–ด ์ˆ˜์ค€ ์ž„๋ฒ ๋”ฉ

   - ๋ฌธ์„œ ๊ธฐ์ค€์œผ๋กœ ์ถ•์†Œ: ๋ฌธ์„œ ์ž„๋ฒ ๋”ฉ

 

 

1.3.2 ๋‹จ์–ด ์ˆ˜์ค€์—์„œ ๋ฌธ์žฅ ์ˆ˜์ค€์œผ๋กœ

๋‹จ์–ด ์ˆ˜์ค€ ์ž„๋ฒ ๋”ฉ: NPLM, Word2Vec, GloVe, FastText, Swivel ๋“ฑ

- ๊ฐ๊ฐ์˜ ๋ฒกํ„ฐ๋“ค์— ๋Œ€ํ•ด ํ•ด๋‹น ๋‹จ์–ด์˜ ๋ฌธ๋งฅ์  ์˜๋ฏธ๋ฅผ ํ•จ์ถ•ํ•จ

 

* ํ•˜์ง€๋งŒ ๋™์Œ์ด์˜์–ด๋ฅผ ๋ถ„๊ฐ„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ์ 

- ๋‹จ์–ด์˜ ํ˜•ํƒœ๊ฐ€ ๊ฐ™๋‹ค๋ฉด ๋™์ผํ•œ ๋‹จ์–ด๋กœ ๊ฐ„์ฃผํ•จ

 

๋ฌธ์žฅ ์ˆ˜์ค€ ์ž„๋ฒ ๋”ฉ: ELMo, BERT, GPT ๋“ฑ

: ๊ฐœ๋ณ„ ๋‹จ์–ด๊ฐ€ ์•„๋‹Œ ๋‹จ์–ด ์‹œํ€€์Šค ์ „์ฒด์˜ ๋ฌธ๋งฅ์  ์˜๋ฏธ๋ฅผ ํ•จ์ถ•ํ•จ

- ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•๋“ค๋ณด๋‹ค ์ „์ด ํ•™์Šต ํšจ๊ณผ๊ฐ€ ์ข‹์Œ

 

ex) ๋จน๋Š” ๋ฐฐ, ์‹ ์ฒด ๋ถ€์œ„ ๋ฐฐ, ๊ตํ†ต ์ˆ˜๋‹จ ๋ฐฐ๋“ค์„ ๋ถ„๋ฆฌํ•ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Œ

 

 

1.3.3 ๋ฃฐ -> ์—”๋“œํˆฌ์—”๋“œ -> ํ”„๋ฆฌํŠธ๋ ˆ์ธ/ํŒŒ์ธ ํŠœ๋‹

90๋…„๋Œ€๊นŒ์ง€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ์€ ์‚ฌ๋žŒ์ด feature(๋ชจ๋ธ์˜ ์ž…๋ ฅ๊ฐ’)๋ฅผ ์ง์ ‘ ์„ ํƒํ•จ

- ์–ธ์–ด ๋ฌธ์žฅ์˜ ๊ทœ์น™์„ ๋ชจ๋ธ์— ์ง์ ‘ ์•Œ๋ ค์คŒ

 

2000๋…„๋Œ€ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ถ„์•ผ์— ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์ด ์ฃผ๋ชฉ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•จ

- ์‚ฌ๋žŒ์ด ๋ชจ๋ธ์— ๊ทœ์น™์„ ์ง์ ‘ ์•Œ๋ ค์ฃผ์ง€ ์•Š์•„๋„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ์ž…์ถœ๋ ฅ ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ์‚ฌ๋žŒ์˜ ๊ฐœ์ž… ์—†์ด ์Šค์Šค๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Œ

: ์—”๋“œํˆฌ์—”๋“œ ๋ชจ๋ธ ex) seq2seq

 

2018๋…„ ELMo๊ฐ€ ์ œ์•ˆ๋œ ํ›„ ํ”„๋ฆฌํŠธ๋ ˆ์ธ(pretrain)๊ณผ ํŒŒ์ธ ํŠœ๋‹(fine-tuning) ๋ฐฉ์‹์œผ๋กœ ๋ฐœ์ „ํ•จ

- ๋จผ์ € ๋Œ€๊ทœ๋ชจ ๋ง๋ญ‰์น˜๋กœ ์ž„๋ฒ ๋”ฉ์„ ๋งŒ๋“ฌ (pretrain)

    - ์ด ์ž„๋ฒ ๋”ฉ ์•ˆ์—๋Š” ๋ง๋ญ‰์น˜์˜ ์˜๋ฏธ์ , ๋ฌธ๋ฒ•์  ๋งฅ๋ฝ์ด ํฌํ•จ๋จ

- ์ด๋Ÿฐ ์ž„๋ฒ ๋”ฉ์„ ์ž…๋ ฅ์œผ๋กœ ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ ,

  ์›ํ•˜๋Š” ๊ตฌ์ฒด์  ๋ฌธ์ œ์— ๋งž๋Š” ์†Œ๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์— ๋งž๊ฒŒ ์ž„๋ฒ ๋”ฉ์„ ํฌํ•จํ•œ ๋ชจ๋ธ ์ „์ฒด๋ฅผ ์—…๋ฐ์ดํŠธ ํ•จ (fine-tuning, ์ „์ด ํ•™์Šต)

 

 

* ๋‹ค์šด์ŠคํŠธ๋ฆผ ํƒœ์Šคํฌ(downstream task): ์šฐ๋ฆฌ๊ฐ€ ํ’€๊ณ  ์‹ถ์€ ๊ตฌ์ฒด์  ๋ฌธ์ œ๋“ค

ex) ํ’ˆ์‚ฌ ํŒ๋ณ„, ๊ฐœ์ฒด๋ช… ์ธ์‹, ์˜๋ฏธ์—ญ ๋ถ„์„ ๋“ฑ

 

* ์—…์ŠคํŠธ๋ฆผ ํƒœ์Šคํฌ(upstream task): ๋‹ค์šด์ŠคํŠธ๋ฆผ ํƒœ์Šคํฌ์— ์•ž์„œ ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๊ณผ์ œ๋“ค

ex) ๋‹จ์–ด/๋ฌธ์žฅ ์ž„๋ฒ ๋”ฉ์„ pretrain ํ•˜๋Š” ์ž‘์—…

 

์œ— ๋ฌผ์ด ๋ง‘์•„์•ผ ์•„๋žซ๋ฌผ์ด ๋ง‘๋‹ค.

-> ์ž„๋ฒ ๋”ฉ ํ’ˆ์งˆ์ด ์ข‹์•„์•ผ ๋ฌธ์ œ๋ฅผ ์ œ๋Œ€๋กœ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

 

1.3.4 ์ž„๋ฒ ๋”ฉ์˜ ์ข…๋ฅ˜์™€ ์„ฑ๋Šฅ

(1) ํ–‰๋ ฌ ๋ถ„ํ•ด ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•

: ํ–‰๋ ฌ์„ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์€ ํ–‰๋ ฌ๋กœ ์ชผ๊ฐœ๋Š” ๋ฐฉ์‹์˜ ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•

- ๋ถ„ํ•ดํ•œ ํ›„ ๋‘˜ ์ค‘ ํ•˜๋‚˜์˜ ํ–‰๋ ฌ๋งŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋‘˜์„ ๋”ํ•˜๊ฑฐ๋‚˜ ์ด์–ด ๋ถ™์—ฌ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ์‚ฌ์šฉ

ex) GloVe, Swivel ๋“ฑ

 

(2) ์˜ˆ์ธก ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•

: ์–ด๋–ค ๋‹จ์–ด ์ฃผ๋ณ€์— ํŠน์ • ๋‹จ์–ด๊ฐ€ ๋‚˜ํƒ€๋‚ ์ง€ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜,

 ์ด์ „ ๋‹จ์–ด๋“ค์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ผ์ง€ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜,

 ๋ฌธ์žฅ ๋‚ด ์ผ๋ถ€ ๋‹จ์–ด๋ฅผ ์ง€์šฐ๊ณ  ํ•ด๋‹น ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ผ์ง€ ๋งž์ถ”๋Š” ๊ณผ์ •์—์„œ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•

ex) Word2Vec, FastText, BERT, ELMo, GPT ๋“ฑ

 

(3) ํ† ํ”ฝ ๊ธฐ๋ฐ˜ ๋ฐฉ๋ฒ•

: ์ฃผ์–ด์ง„ ๋ฌธ์„œ์— ์ž ์žฌ๋œ ์ฃผ์ œ๋ฅผ ์ถ”๋ก ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž„๋ฒ ๋”ฉ์„ ์ˆ˜ํ–‰

ex) ์ž ์žฌ ๋””๋ฆฌํด๋ ˆ ํ• ๋‹น(Latent Dirichlet Allocation)

 

(4) ์ž„๋ฒ ๋”ฉ ์„ฑ๋Šฅ ํ‰๊ฐ€

ํŒŒ์ธ ํŠœ๋‹ ๋ชจ๋ธ์˜ ๊ตฌ์กฐ๋ฅผ ๊ณ ์ •ํ•œ ๋’ค ๊ฐ ์ž„๋ฒ ๋”ฉ์„ ์ „์ด ํ•™์Šต์‹œํ‚ค๋Š” ํ˜•ํƒœ๋กœ ์ •ํ™•๋„๋ฅผ ์ธก์ •ํ•จ

GloVe < ELMo < GPT < BERT-base < BERT-large

- ์ž„๋ฒ ๋”ฉ ํ’ˆ์งˆ์ด ๊ฐ ๋‹ค์šด์ŠคํŠธ๋ฆผ ํƒœ์Šคํฌ ์„ฑ๋Šฅ์— ํฌ๊ฒŒ ์˜ํ–ฅ์„ ์ฃผ๊ณ  ์žˆ์Œ

 

 

 

 

1.5 ์ด ์ฑ…์ด ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ์™€ ์ฃผ์š” ์šฉ์–ด

* ๋ง๋ญ‰์น˜(corpus): ์ž„๋ฒ ๋”ฉ ํ•™์Šต์ด๋ผ๋Š” ํŠน์ • ๋ชฉ์ ์„ ๊ฐ€์ง€๊ณ  ์ˆ˜์ ‘ํ•œ ํ‘œ๋ณธ(sample)

- ์ปฌ๋ ‰์…˜(collection): ๋ง๋ญ‰์น˜์— ์†ํ•œ ๊ฐ๊ฐ์˜ ์ง‘ํ•ฉ

 

์ฑ…์—์„œ ๋‹ค๋ฃจ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ ๋‹จ์œ„: ๋ฌธ์žฅ

 

์ƒ๊ฐ์ด๋‚˜ ๊ฐ์ •, ์ •๋ณผ๋ฅด ๊ณต์œ ํ•˜๋Š” ๋ฌธ์žฅ ์ง‘ํ•ฉ: ๋ฌธ์„œ

 

์ฑ…์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„: ํ† ํฐ(token)

- ๋ฌธ์žฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ† ํฐ์œผ๋กœ ๊ตฌ์„ฑ๋จ

- ๋ฌธ๋งฅ์— ๋”ฐ๋ผ์„œ๋Š” ํ† ํฐ์„ ๋‹จ์–ด, ํ˜•ํƒœ์†Œ, ์„œ๋ธŒ์›Œ๋“œ๋ผ๊ณ  ๋ถ€๋ฆ„

 

* ํ† ํฌ๋‚˜์ด์ฆˆ(tokenize): ๋ฌธ์žฅ์„ ํ† ํฐ ์‹œํ€€์Šค๋กœ ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •

ex) ์‹ค์ˆ˜, ์ธ, ์ดˆ์›”์ˆ˜, ๋Š”, ๋ชจ๋‘, ๋ฌด๋ฆฌ์ˆ˜, ์ด, ๋‹ค.

 

* ํ˜•ํƒœ์†Œ ๋ถ„์„: ๋ฌธ์žฅ์„ ํ˜•ํƒœ์†Œ ์‹œํ€€์Šค๋กœ ๋‚˜๋ˆ„๋Š” ๊ณผ์ •

- ํ˜•ํƒœ์†Œ ๋ถ„์„, ํ† ํฌ๋‚˜์ด์ฆˆ, ํ† ํฐํ™”๋ผ๊ณ  ๋ถ€๋ฆ„

 

* ์–ดํœ˜ ์ง‘ํ•ฉ: ๋ง๋ญ‰์น˜์— ์žˆ๋Š” ๋ชจ๋“  ๋ฌธ์„œ๋ฅผ ๋ฌธ์žฅ์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ์—ฌ๊ธฐ์— ํ† ํฌ๋‚˜์ด์ฆˆ๋ฅผ ์‹ค์‹œํ•œ ํ›„ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ํ† ํฐ๋“ค์˜ ์ง‘ํ•ฉ

 

Comments