[Week 4-1] ๐Ÿ’ฌNLP ๊ธฐ์ดˆ-Word Embedding

Jadeยท2021๋…„ 2์›” 15์ผ
0

๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech

๋ชฉ๋ก ๋ณด๊ธฐ
16/54

4์ฃผ์ฐจ ์›”์š”์ผ

  • NLP ๊ธฐ์ดˆ
  • Word Embedding

๐Ÿ“[NLP ๊ธฐ์ดˆ]

์ž์—ฐ์–ด ๋ฌธ์žฅ์„ ์ดํ•ดํ•˜๋Š” NLU(Natural Language Understanding), ์ž์—ฐ์–ด ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•˜๋Š” NLG(Natural Language Generation)์„ ํ•ฉ์ณ์„œ NLP(Natural Language Processing)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

์ž์—ฐ์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์žฅ์„ ์ˆ˜์น˜์ ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ์ž์—ฐ์–ด๋ฅผ ์ˆ˜์น˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์›-ํ•ซ ๋ฒกํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์ „์ ์ธ ๋ฐฉ๋ฒ•๊ณผ word embedding ๋ฐฉ์‹์ด ์žˆ๋‹ค.

  • Bag-of-Words
    ๋ฌธ์žฅ์„ ๋‹จ์–ด ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๊ณ  ์ค‘๋ณต๋˜๋Š” ๋‹จ์–ด๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋‹จ์–ด ์‚ฌ์ „์„ ๋งŒ๋“ ๋‹ค.
    ex) "I have two or three apples" -> {"I", "have", "two", "or", "three", "apples"}
    ์‚ฌ์ „์— ๋“ค์–ด ์žˆ๋Š” n๊ฐœ์˜ ๋‹จ์–ด์— ๋Œ€ํ•ด ๊ฐ ๋‹จ์–ด์˜ ์ธ๋ฑ์Šค๋งŒ 1์ธ ์›-ํ•ซ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด ๋•Œ ๊ฐ ๋‹จ์–ด ์‚ฌ์ด์˜ ๊ฑฐ๋ฆฌ๋Š” sqrt(2)์ด๋‹ค.
    ex)
    I : [1 0 0 0 0 0]
    have : [0 1 0 0 0 0]
    two : [0 0 1 0 0 0]
    or : [0 0 0 1 0 0]
    three : [0 0 0 0 1 0]
    apples : [0 0 0 0 0 1]

๋‹จ์–ด ์‚ฌ์ „์—์„œ ์ถ”์ถœํ•œ ์›-ํ•ซ ๋ฒกํ„ฐ๋ฅผ ์กฐํ•ฉํ•ด์„œ ์–ด๋–ค ๋ฌธ์žฅ์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐ ๋ฌธ์žฅ๋งˆ๋‹ค ๊ฐ€๋ฐฉ์„ ๋งŒ๋“ค๊ณ  ๊ทธ ์•ˆ์— ํ•„์š”ํ•œ ๋‹จ์–ด๋ฅผ ๋„ฃ๋Š”๋‹ค๋Š” ์˜๋ฏธ์—์„œ ์ด๊ฒƒ์„ Bag-of-Word๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
ex) "I have two apples" -> [1 1 1 0 0 1]

Bag-of-Word์™€ ๋ฒ ์ด์ฆˆ ์ •๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ NaiveBayes Classifier๋ฅผ ์ด์šฉํ•ด์„œ ๊ณ ์ „์ ์ธ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์–ด ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ๋ฐ˜์˜ํ•  ์ˆ˜ ์—†๊ณ , ๋‹จ์–ด ์‚ฌ์ „์ด ์ปค์ง€๋ฉด ๋ฒกํ„ฐ์˜ ์ฐจ์›์ด ๋„ˆ๋ฌด ๋งŽ์•„์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์–ด Word Embedding ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“[Word Embedding]

์›-ํ•ซ ๋ฒกํ„ฐ ๋ง๊ณ ๋„ Word Embedding ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•ด์„œ ์ž์—ฐ์–ด ๋‹จ์–ด๋ฅผ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
Word Embedding์€ ์‹ ๊ฒฝ๋ง์„ ์ด์šฉํ•œ ์ž์—ฐ์–ด ์ „์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์œผ๋กœ, ๋น„์Šทํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” ๋‹จ์–ด๊ฐ€ ์ขŒํ‘œ๊ณต๊ฐ„ ์ƒ์—์„œ ๋น„์Šทํ•œ ์œ„์น˜์— ์žˆ๋„๋ก ๋งคํ•‘ํ•˜์—ฌ ๋‹จ์–ด ๊ฐ„์˜ ๊ด€๊ณ„๋‚˜ ์˜๋ฏธ๋ฅผ ๋ฐ˜์˜ํ•œ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๋ชจ๋ธ์— ์‚ฌ์šฉํ•˜๋ฉด ๋” ๋‚˜์€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

  • Word2Vec
    ์–ด๋–ค ์ค‘์‹ฌ ๋‹จ์–ด๊ฐ€ ์žˆ์„ ๋•Œ ๊ทธ ์ฃผ๋ณ€์˜ ๋‹จ์–ด๋Š” ์ค‘์‹ฌ ๋‹จ์–ด์™€ ์œ ์‚ฌํ•œ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค๋Š” ๊ฐ€์ • ํ•˜์—, moving window๋ฅผ ์ด์šฉํ•ด์„œ ์ค‘์‹ฌ ๋‹จ์–ด์™€ ๊ทธ ์•ž๋’ค ๋‹จ์–ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด ์Œ์„ ์ถ”์ถœํ•ด๋‚ธ๋‹ค.
    ex) moving window์˜ ํฌ๊ธฐ๊ฐ€ 3์ผ ๋•Œ๋Š” ์ค‘์‹ฌ ๋‹จ์–ด ์•ž๋’ค๋กœ ํ•œ ๋‹จ์–ด์”ฉ๋งŒ ๋ณด๊ฒŒ ๋œ๋‹ค.
    "I study math." -> (I, study)
    "I study math" -> (study, I) (study, math)
    " I study math" -> (math, study)

์ด๋ ‡๊ฒŒ ์ถ”์ถœํ•œ ๋‹จ์–ด ์Œ๋“ค์„ ์›-ํ•ซ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊พผ ๊ฒƒ์„ ๋ฐ์ดํ„ฐ๋กœ ์‚ผ์•„ ๋‚ด์  ์—ฐ์‚ฐ(๋ฒกํ„ฐ ๊ฐ„์˜ ์œ ์‚ฌ๋„ ์ธก์ •)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์–•์€ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑํ•œ๋‹ค. ์‹ ๊ฒฝ๋ง์€ ์ฃผ๋ณ€ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ค‘์‹ฌ ๋‹จ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ถ”์ •ํ•˜๊ณ , ์ค‘์‹ฌ ๋‹จ์–ด๋ฅผ ์ž˜ ๋งž์ถ”๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค. Word2Vec์˜ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ๋‹ค๋ฅธ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์‹ ๊ฒฝ๋ง์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.


๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ[ํ”ผ์–ด ์„ธ์…˜]

์—ฐํœด ๋™์•ˆ ๋งŒ๋“  ๊ฐ„ํŒ ์ธ์‹ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆด๋‹ค. kaggle ๋ฐ์ดํ„ฐ์…‹์„ ๋ฐ›์•„์„œ colab ํ™˜๊ฒฝ์—์„œ ๋งŒ๋“ค์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ์…‹์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ glob์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ํŒŒ์ผ ์ด๋ฆ„์€ string์ด๋ผ์„œ ์ •๋ ฌ์ด 1, 10, 11, 12... ์ด๋Ÿฐ ์‹์œผ๋กœ ๋˜์–ด์„œ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด natsort๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ๋‚ด์šฉ์„ ๊ณต์œ ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฝ”๋“œ๋ฅผ ๊ฐ™์ด ๋ณด๋ฉด์„œ ๋ชจ๋ธ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ์ข€ ๋” ํ–ˆ๋‹ค.

profile
๋ฐ˜๊ฐ€์›Œ์šฉ

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