24 Wed

[ํŒŒ์ด์ฌ ๋”ฅ๋Ÿฌ๋‹ ํŒŒ์ดํ† ์น˜] PART 05 NLP

02 ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ฌธ์žฅ์˜ ์˜๋ฏธ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹

  1. ๋ฌธ์žฅ์„ ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค

  2. ๋‚˜๋ˆ ์ง„ ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์„ ์ˆซ์ž๋กœ ๋ฐ”๊ฟ” ๋ฌธ์žฅ์„ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•œ๋‹ค

  • ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ

  • "๋‚˜๋Š” ์ฑ…์ƒ ์œ„์— ์‚ฌ๊ณผ๋ฅผ ๋จน์—ˆ๋‹ค"

    • ๋‚˜๋Š”, ์ฑ…์ƒ, ์œ„์—, ์‚ฌ๊ณผ๋ฅผ, ๋จน์—ˆ๋‹ค

  • ์ด์™€ ๊ฐ™์ด ์˜๋ฏธ ์žˆ๋Š” ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ณผ์ •์„ Tokenization์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์ชผ๊ฐœ์ง„ ๋ถ€๋ถ„์„ Token์ด๋ผ๊ณ  ํ•œ๋‹ค. Lexical Analysis๋ผ๊ณ ๋„ ํ•œ๋‹ค. => ์—ฐ์†๋œ ๋ฌธ์ž์˜ ๋‚˜์—ด์„ ์ ์ ˆํ•˜๊ฒŒ ์˜๋ฏธ๋ฅผ ์ง€๋‹Œ ๋ถ€๋ถ„์˜ ๋‚˜์—ด๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •

Out of Vocabulary(OOV)

  • Token์„ ์ €์žฅํ•ด๋‘” Vocabulary์— Token์ด ์—†์–ด์„œ ์ฒ˜์Œ ๋ณธ Token์ด ๋‚˜์˜ค๋Š” ํ˜„์ƒ์„ OOV๋ผ๊ณ  ํ•œ๋‹ค.

  • ์ด๋Ÿด ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด ํŠน์ˆ˜ํ•œ Token์ธ <unk>์„ ๋งŒ๋“ค์–ด ์ฒ˜์Œ ๋ณด๋Š” Token์€ <unk>๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ์ฒ˜๋ฆฌ

  • Token์„ ๋ชจ์•„ ๋†“์€ ๋ฌธ์žฅ์˜ ๋ชจ์Œ์„ ๋ง๋ญ‰์น˜, Corpus๋ผ๊ณ  ํ•œ๋‹ค

  • ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ง๋ญ‰์น˜๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ชจ๋ธ์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ปค์ง€๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค

  • ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์ค€์ด์—๊ฒŒ, ํ˜„์ค€ํ•œํ…Œ๋Š” ๋™์ผํ•œ ์˜๋ฏธ์ด๋ฏ€๋กœ ์ด๋Ÿฌํ•œ ์ค‘๋ณต์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ ๋‹จ์–ด๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋„์–ด์“ฐ๊ธฐ๋ณด๋‹ค ๋” ์ข‹์€ Tokenizer๊ฐ€ ํ•„์š”

Byte Pair Encoding(BPE)

  • Character based tokenization

    • ๋„์–ด์“ฐ๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธ€์ž๋ฅผ Token์œผ๋กœ ์‚ฌ์šฉ

    • ์žฅ์ 

      • ์‚ฌ์ „์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“œ๋Š” ์žฅ์ ์ด ์žˆ์Œ

      • OOV ํ˜„์ƒ์„ ์—†์•จ ์ˆ˜ ์žˆ๋‹ค.

    • ๋‹จ์ 

      • ํ‘œํ˜„๋ฒ•์— ๋Œ€ํ•œ ํ•™์Šต์ด ์–ด๋ ต๋‹ค

      • ๊ธ€์ž ํ•˜๋‚˜๋Š” ๋ณดํ†ต ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ณ  ์—ฐ์†๋œ ๋‚˜์—ด์ด ํŠน์ • ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ํŒจํ„ด์œผ๋กœ ํ•™์Šตํ•ด ์˜๋ฏธ๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•จ => ์‰ฌ์šด ์ผ์€ ์•„๋‹˜

  • n-gram Tokenization

    • 1๊ฐœ ๋‹จ์œ„๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์—ฐ์†๋œ ์œˆ๋„์šฐ๋ฅผ ๋‹จ์œ„๋กœ ์‚ดํŽด๋ณด๋Š” ๊ฐœ๋…

    • n์— ๋”ฐ๋ผ uni, bi, tri-gram์œผ๋กœ ๋‚˜๋‰˜๋ฉฐ n >= 4์ผ ๊ฒฝ์šฐ n-gram์œผ๋กœ ๋‚˜ํƒ€๋ƒ„

    • ์žฅ์ 

      • ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์šฉ์–ด๋ฅผ ์ž˜ ์ฐพ์•„๋ƒ„

      • ๊ณ ์œ ์˜ ์˜๋ฏธ๊ฐ€ ์•„๋‹Œ ๋‚˜์—ด๋˜๋Š” ๋‹จ์–ด๋กœ ์ƒ์„ฑ๋˜๋Š” ์ƒˆ๋กœ์šด ์˜๋ฏธ๋ฅผ ์ž˜ ํŒŒ์•…ํ•จ

      • ๋„์–ด์“ฐ๊ธฐ๋‚˜ ๊ธ€์ž๋กœ๋Š” ์žก์„ ์ˆ˜ ์—†์—ˆ๋˜ Token์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Œ

    • ๋‹จ์ 

      • ์“ธ๋ชจ ์—†๋Š” ์กฐํ•ฉ์ด ๋„ˆ๋ฌด ๋งŽ์ด ์ƒ์„ฑ๋œ๋‹ค

      • ํŠนํžˆ ํ•œ๊ตญ์–ด๋Š” ์–ด๋ฏธ ๋ณ€ํ™”๊ฐ€ ๋‹ค์–‘ํ•ด์„œ ์˜๋ฏธ๋Š” ๋น„์Šทํ•˜์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ Token์ด ๋งค์šฐ ๋งŽ์ด ์ƒ๊ฒจ๋‚  ๊ฒƒ

      • Token ์‚ฌ์ „์ด ๊ณผํ•˜๊ฒŒ ์ปค์ง€์ง€๋งŒ ์˜๋ฏธ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” Token์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋น„ํšจ์œจ์ 

  • Byte Pair Encoding

    • Data Compression ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋๋˜ ๊ฐœ๋…

    • ๋ฐ˜๋ณต์ ์œผ๋กœ ๋‚˜์˜ค๋Š” ๋ฐ์ดํ„ฐ์˜ ์—ฐ์†๋œ ํŒจํ„ด์„ ์น˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ข€ ๋” ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฐœ๋…

    • 2015๋…„ <Nerual Machine Translation of Rare Word with Subword Units> ๋…ผ๋ฌผ์„ ์‹œ์ž‘์œผ๋กœ NP์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” Tokenizer Algorithm์ด ๋จ

    • n-gram์—์„œ ์—ฐ์†๋œ ๊ธ€์ž์˜ ๋‚˜์—ด์ด ์•„๋‹Œ ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜ํƒ€๋‚˜๋Š” ๊ธ€์ž์˜ ๋‚˜์—ด์€ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด ๋”ฐ๋กœ Token์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์„ 

    • ์•Œ๊ณ ๋ฆฌ์ฆ˜

      1. ๋‹จ์–ด ํšŸ์ˆ˜๋ฅผ ๊ธฐ๋กํ•œ ์‚ฌ์ „์„ ๋งŒ๋“ ๋‹ค. ์ด ๋•Œ ์‚ฌ์ „์˜ ๋‹จ์–ด ๊ธ€์ž๋Š” ๋ชจ๋‘ ๋„์–ด ํ‘œํ˜„

      2. ๊ฐ ๋‹จ์–ด์— ๋Œ€ํ•ด ์—ฐ์†๋œ 2๊ฐœ์˜ ๊ธ€์ž์˜ ์ˆซ์ž๋ฅผ ์„ธ์–ด ๊ฐ€์žฅ ๋งŽ์ด ๋‚˜์˜ค๋Š” ๊ธ€์ž 2๊ฐœ์˜ ์กฐํ•ฉ์„ ์ฐพ๋Š”๋‹ค

      3. ๋‘ ๊ธ€์ž๋ฅผ ํ•ฉ์ณ ๊ธฐ์กด์˜ ์‚ฌ์ „์˜ ๋‹จ์–ด๋ฅผ ์ˆ˜์ •ํ•œ๋‹ค

      4. ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ํšŸ์ˆ˜๋งŒํผ 2~3๋ฒˆ์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•œ๋‹ค

Word Embeding

  • ๋ฌธ์žฅ์„ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ๋‚ ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์ธ์ž๋กœ ์‚ฌ์šฉํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

  • ์ด ์ˆซ์ž๋Š” ๋‹จ์ˆœํžˆ ์ธ๋ฑ์Šค๋ฅผ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ

  • Token์„ ์œ ํ•œํ•œ ๊ฐœ์ˆ˜๋กœ ๊ฐ€์ง„ ๋ณ€์ˆ˜๋กœ ์ƒ๊ฐํ•˜๊ณ  ๋ฒ”์ฃผํ˜• ์ž๋ฃŒ๋กœ ํ‘œํ˜„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ

  • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์ฃผํ˜• ์ž๋ฃŒ ๋ณ€์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•œ ๊ฐ€์ง€๊ฐ€ ๋ฐ”๋กœ ์›-ํ•ซ ์ธ์ฝ”๋”ฉ

  • One-Hot Encoding

    • Corpus๋ฅผ ๋ชจ๋‘ Tokenizationํ•ด Voca๋ฅผ ๋งŒ๋“ค๊ณ  ๊ฐ Tk ๋งˆ๋‹ค Index๋ฅผ ์ •ํ•ด์•ผ ํ•œ๋‹ค.

  • Frequency-based Method

    • ๋‹จ์–ด์˜ ํšŸ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ฌธ์žฅ์— ์žˆ๋Š” Token์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์„ธ์–ด ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ์‹

    • Token์˜ ํšŸ์ˆ˜์—๋งŒ ์ง‘์ค‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋จธ๋‹ˆ ๊ฐ™์€ ๊ณณ์— Token์„ ๋ชจ์•„ ๋†“๋Š”๋‹ค๊ณ  ํ•ด์„œ Bag of Words(BoW)๋ผ๊ณ  ํ•œ๋‹ค.

    • 'a', 'an', 'the', 'in' ๋“ฑ์˜ ๋‹จ์–ด๋Š” ๋นˆ๋„์ˆ˜๊ฐ€ ๊ต‰์žฅํžˆ ๋†’์€๋ฐ ๋“ฑ์žฅ ๋นˆ๋„๊ฐ€ ์ ์€ Token์— ์•…์˜ํ–ฅ์„ ๋ผ์น˜๊ฒŒ ๋œ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด TF-IDF๋ผ๋Š” ํ‘œํ˜„๋ฐฉ๋ฒ•์ด ์กด์žฌํ•œ๋‹ค

  • TF-IDF

    • Term Frequency - Inverse Documnet Frequency

    • idf๋Š” Token์ด ๋“ฑ์žฅํ•˜๋Š” ์ˆ˜์˜ ๋น„์œจ์˜ ์—ญ์ˆ˜์ด๋‹ค.

    • a๋‚˜ the ๋“ฑ์˜ Token์€ TF๊ฐ€ ๋†’์ง€๋งŒ ๋ชจ๋“  ๋ฌธ์žฅ(๋ฌธ์„œ)์— ๋“ฑ์žฅํ•˜๋ฏ€๋กœ idf๋Š” log(1)์— ๊ฐ€๊นŒ์›Œ ์ง„๋‹ค. => 0์— ๊ฐ€๊นŒ์šด ์ˆ˜

    • ๋”ฐ๋ผ์„œ tf-idf ๋Š” tf์™€ idf๋ฅผ ๊ณฑํ•จ์œผ๋กœ์จ ๊ณผ๋„ํ•˜๊ฒŒ ๋†’์•˜๋˜ tf์ˆ˜์น˜๋ฅผ ๋‚ฎ์ถฐ์ค€๋‹ค.

    • ๋ฐ˜๋Œ€๋กœ ํฌ๊ท€ํ•œ Token์˜ ๊ฒฝ์šฐ์—๋„ ๋ถ€์กฑํ•œ TF๋ฅผ ์˜ฌ๋ ค์ฃผ๋Š” ํšจ๊ณผ๋ฅผ ๋ณด์ธ๋‹ค

    • ํšŸ์ˆ˜ ๊ธฐ๋ฐ˜์˜ ๋ฐฉ๋ฒ•์€ ๋ฌธ์ž๋ฅผ ๋น„๊ต์  ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ณ  ํŠน์ • Task์— ๋Œ€ํ•ด ๋‚œ์ด๋„ ๋Œ€๋น„ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์ธ๋‹ค(ex ์ŠคํŒธ)

    • ๋‹จ์ ์€ ๋‹จ์–ด์˜ ์ˆœ์„œ๊ฐ€ ๋ฌด์‹œ๋œ๋‹ค๋Š” ์ ์ด๋ฉฐ NLG์™€ ๊ฐ™์ด ์ƒˆ๋กœ์šด ๋ฌธ์žฅ์„ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š” Task์—๋Š” ์–ด๋ ต๋‹ค.

  • Dense Representation

    • ์›ํ•ซ ์ธ์ฝ”๋”ฉ์˜ ๋ฌธ์ œ์ ์€ ๋ณ€์ˆ˜์˜ ํฌ์†Œ์„ฑ์ด๋‹ค. token์˜ ๊ฐœ์ˆ˜๋งŒํผ v๊ฐœ์˜ ๋ฒกํ„ฐ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•˜๊ณ  ๋Œ€๋ถ€๋ถ„์€ 0์ธ๋ฐ ๊ทน์†Œ์ˆ˜์˜ ๋ฌธ์„œ์—๋งŒ ์“ฐ์ธ๋‹ค

    • ์ด๋Š” ํฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ํ•„์š”ํ•˜๊ฒŒ ํ•˜๋ฉด์„œ ๋Œ€๋ถ€๋ถ„์€ 0์œผ๋กœ ๋ผ ์žˆ์–ด ๋น„ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•œ๋‹ค.

  • Word2vec : idea

    • ์ด ๋ฐฉ๋ฒ•์€ ๊ด€๊ณ„๋ฅผ ์—ฐ์‚ฐ์œผ๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒกํ„ฐ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค.

    • ๋ชจ๋ธ ํ•™์Šต์˜ ๊ฐ€์ •

      • Token์˜ ์˜๋ฏธ๋Š” ์ฃผ๋ณ€ Token์˜ ์ •๋ณด๋กœ ํ‘œํ˜„๋œ๋‹ค

    • ํ•™์Šตํ•˜๋Š” ๊ณผ์ •

      • CBOW : Continuous Bag-of-Words Model

      • Skip-Gram

      • ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ๊ณตํ†ต์ ์œผ๋กœ ๋ฌธ์žฅ์„ ์œˆ๋„์šฐ ํ˜•ํƒœ๋กœ ๋ถ€๋ถ„๋งŒ ๋ณด๋Š” ๊ฒƒ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•œ๋‹ค

      • CBOW๋Š” ์ฃผ๋ณ€ Token์„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด ๋”ํ•œ ํ›„ Target์„ ๋งž์ถ”๋Š” ๊ฒƒ์ด๊ณ  Skip-Gram์˜ ๋ชฉ์ ์€ Target์„ ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด ์ฃผ๋ณ€ Token์„ ๋งž์ถ”๋Š” ๊ฒƒ

Last updated

Was this helpful?