2021 09 30 - KR-HappyFace/meetup-logs GitHub Wiki

์ค€ํ™

  • Accuracy๊ฐ€ ๋†’์•„์ง€๋Š”๋ฐ, Loss๊ฐ€ ์™œ ์˜ฌ๋ผ๊ฐ€๋Š”๊ฐ€?
  • ๋ชจ๋ธ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ์‹คํ—˜์„ ์ง„ํ–‰ํ–ˆ์Œ.

์žฌ์˜

  • Data Augmentation: Subject๋ž‘ Object๋ฅผ ๋ฐ”๊พธ๋ฉด ๊ด€๊ณ„๋ฅผ ์ฐพ๋Š” ๊ฑฐ์ž–์•„์š”. ์ฆ‰ subject, object์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”์„œ Organization <-> Organization ๊ด€๊ณ„๋‚˜ Person <-> Person ๊ด€๊ณ„๋ฅผ ํ‚ค์›Œ๋ดค์–ด์š”. ์›๋ž˜ ๋ถ€์กฑํ•œ ๋ฐ์ดํ„ฐ๋“ค ์žˆ์ž–์•„์š”.
  • Data Augmentation: KoEDA RandomSwap์„ ํ•ด๋ณด์ž. Random Deletion์€ ์•ˆ ๋˜๋Š” ๊ฒŒ target ๋‹จ์–ด๋„ ์ง€์šธ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ.
  • Organization <-> ๋‚ ์งœ๋Š” ๋’ค์ง‘์„ ์ˆ˜๊ฐ€ ์—†์„ ๊ฒƒ ๊ฐ™์•„์š”. ๊ทธ๋Ÿฌ๋ฉด ํŽธํ–ฅ์„ฑ์ด ์‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ–ˆ์–ด์š”.
  • ์•„๋‹ˆ๋ฉด ์•ž๋’ค ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”์„œ trainํ•œ ๋‹ค์Œ์— ensembleํ•˜๋Š” ๋ฐฉ์‹์„ ํ–ˆ์–ด์š”.
  • ๊ฐ•์˜์—์„œ NERํ•  ๋•Œ ์Œ์ ˆ๋‹จ์œ„๋กœ ๋‚˜๋ˆ ์„œ train์‹œํ‚ค๋˜๋ฐ, ์ €๋„ ์ด๋ ‡๊ฒŒ ํ•ด๋ณผ๊นŒ ์ƒ๊ฐ์„ ํ•ด๋ดค์–ด์š”. ์• ์ดˆ์— subword ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋ฉด ์•ˆ ๋˜๋‹ˆ๊นŒ ๊ธ€์ž๋‹จ์œ„๋กœ ์ชผ๊ฐ ๋‹ค.

image

์„ธํ˜„

  • Special Token [SUB] [/SUB], [OBJ], [/OBJ]๋ฅผ ์ƒˆ๋กœ ๋„ฃ์–ด์„œ Entity๋ฅผ Markingํ–ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ Entity Token์—์„œ Classification์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒŒ ์ œ์ผ ์ข‹๋‹ค๋Š” ๋…ผ๋ฌธ์ด ์žˆ์—ˆ๋‹ค.
  • ๋ฌธ์žฅ์— tag๋งŒ ๋„ฃ๊ณ , ๊ทธ๊ฒŒ ๋ฌด์Šจ ๋‹จ์–ด์ธ์ง€ ์•ž์— ์ถ”๊ฐ€์ ์œผ๋กœ ๋ช…์‹œํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผ์ž„. ์ €๋Š” ๋‚ ๋ ค๋„ ๋  ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค (์ค‘๋ณต๋œ ์ •๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์—)
  • Class ๋ณ„๋กœ ๋™์ผ ๋น„์œจ๋กœ ๋ฝ‘์•„์„œ ํ•˜๋ฉด ์ข‹๋”๋ผ๊ณ ์š”. (Stratified) ์•„์˜ˆ ์•ˆ ๋ฝ‘ํžˆ๋Š” ์• ๋“ค๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
  • RoBERTa์—์„œ token_type_id์„ ์•ˆ ์“ฐ์ž–์•„์š”. Sentence A์ธ์ง€ B์ธ์ง€. Separated Token์„ ๋ณด๊ณ  Autogenerate์„ ํ•˜๋”๋ผ๊ณ ์š”. Embedding ๋‹จ์—์„œ ์ž๋™์œผ๋กœ ์ƒ์„ฑ์„ ํ•ด์ฃผ๋”๋ผ๊ณ ์š”.
  • ๋ถ„์—…ํ•ด์„œ ํ•  ๊ฒŒ ๋งŽ์„ ๊ฒƒ ๊ฐ™์Œ: Loss ์•ˆ ๊ฑด๋“ฆ, K Fold์•ˆ ํ–ˆ์Œ,

ํ˜„์ˆ˜

  • Class weight์„ ๋„ฃ์—ˆ์Œ.
  • ALBERT๋Š” ์„ฑ๋Šฅ์ด ์ž˜ ๋‚˜์˜ค์ง€ ์•Š์Œ.
  • ๋‹จ์–ด๋ฅผ Entity๋ฅผ ๋”ฐ๋กœ ๋นผ์„œ ๋ถ„๋ฅ˜ํ•˜๋ฉด ์ •ํ™•ํ•˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ–ˆ์Œ. Token ์œ„์น˜๋ฅผ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์ƒ๊ฐํ•˜๋‹ค๊ฐ€. Mask Index๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์–ด์„œ. Mask๋ฅผ ์”Œ์›Œ์„œ ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐํ–ˆ์–ด์š”. Mask ์œ„์น˜์— ์žˆ๋Š” ๋ฒกํ„ฐ๋ฅผ ๋นผ์™€์„œ concatํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ƒ๊ฐ์„ ํ–ˆ์Œ.
  • Loss์— weight์€ ์–ด๋–ป๊ฒŒ ์ ์šฉํ•จ? Trainer ํ•จ์ˆ˜๋Š” overridingํ•ด์„œ loss ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ๋งŒ compute loss ํ•จ์ˆ˜์— loss function์ด ์•ˆ ๋ณด์ด๋”๋ผ๊ณ ์š”. ์•„๋งˆ default๊ฐ€ cross entropy์ผ ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐ์„ ํ•ฉ๋‹ˆ๋‹ค.

์„ฑ์šฑ

  • Max length๋ฅผ 128๋กœ ์ง€์ •ํ–ˆ์„ ๋•Œ์™€ ์•ˆ ํ–ˆ์„ ๋•Œ์˜ ์ฐจ์ด ์กด์žฌ. 128 character length ์ด์ƒ์ธ ๋ฌธ์žฅ๋“ค 460๊ฐœ ์กด์žฌ. ํŠนํžˆ Class ๋ณ„ distribution์„ ๊ฐ์•ˆํ•ด๋„, max length๋ฅผ ์ €๋ ‡๊ฒŒ ์ง€์ •ํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Œ์„ ์ฆ๋ช…ํ–ˆ์Œ.

์˜คํ”ผ์Šค์•„์›Œ์—์„œ ์–ธ๊ธ‰๋œ ๊ฒƒ๋“ค

  1. Entity Special Token ์ถ”๊ฐ€ https://arxiv.org/abs/1906.03158

Q. ํ™๊ธธ๋™์€ ํ•œ๊ตญ์—์„œ ํƒœ์–ด๋‚ฌ๋‹ค -> ํ™๊ธธ๋™์€ ๋ณผ๋ฆฌ๋น„์•„์—์„œ ํƒœ์–ด๋‚ฌ๋‹ค ์ด๋ ‡๊ฒŒ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ ๊นŒ์š”? ๋ญ”๊ฐ€ ๋‘˜์˜ ๊ด€๊ณ„๊ฐ€ ํƒœ์–ด๋‚œ๊ณณ์˜ ์œ„์น˜์ธ๊ฒƒ๋งŒ ๋งž์ถ”๋ฉด ๋  ๊ฒƒ ๊ฐ™์€๋ฐ ์ •๋‹ต๋‹จ์–ด ์ž์ฒด์˜ ์˜๋ฏธ๊ฐ€ ์ค‘์š” ํ• ๊นŒ์š”?

A,. ์ถ”๊ฐ€๋กœ ๋ง์”€๋“œ๋ฆฌ์ž๋ฉด, ๋ฐ์ดํ„ฐ์…‹์˜ ๊ฐ entity๋งˆ๋‹ค ๊ฐœ์ฒด๋ช… ํ…Œ๊ทธ๊ฐ€ ๋ถ€์ฐฉ๋˜์–ด ์žˆ์„๊ฑฐ์—์š” :-) ๊ฐœ์ฒด๋ช… ํ…Œ๊ทธ๊ฐ€ ๊ฐ™์€ entity๋กœ๋Š” ๊ต์ฒดํ•ด๋„ ์˜๋ฏธ์ ์œผ๋กœ ํฐ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ์ง„ ์•Š์„๊ฒ๋‹ˆ๋‹ค. ์ €๋ผ๋ฉด ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๊ฐ ๊ฐœ์ฒด๋ณ„ ์‚ฌ์ „์„ ๋งŒ๋“ค์–ด๋†“๊ณ  random replace๋ฅผ ํ•œ ํ›„์— ๊ด€์ฐฐํ•ด๋ณผ๊ฑฐ๊ฐ™์•„์š”

  1. Bidirectional LSTM ์ถ”๊ฐ€

  2. Pretraining model with arbitrary masking

  3. Round Trip translation -> Back Translation์„ ํ•˜๊ฒŒ ๋˜๋ฉด entity ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์—†์–ด์งˆ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? Entity์—๋‹ค๊ฐ€ ๊ด„ํ˜ธ๋ฅผ ์ณ์„œ ๋„ฃ์œผ๋ฉด ๋˜์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค. -> ENTITY ๋Œ€์‹  ๊ณ ์œ ๋ช…์‚ฌ๋ฅผ ๋„ฃ์–ด์„œ ๋ฒˆ์—ญํ•˜๊ณ  ๋‹ค์‹œ entity๋กœ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–ด๋–ค๊ฐ€์š”

  4. EDA, AEDA

  5. CLS, SEP ๋„ฃ์–ด์„œ format ๋งž์ถ”๊ธฐ

์˜คํ”ผ์Šค์•„์›Œ Q&A

  • RE task ์—์„œ ํ˜น์‹œ start_index ์™€ end_index ๊ฐ€ ์–ด๋””์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์„๊นŒ์š”? -> ๊ฑ ๋ฌด์‹œํ•˜์…ˆ. ๋…ธ์“ธ๋ชจ
  • ๋ฌธ์žฅ์˜ ์˜๋ฏธ๊ฐ€ ํฌ๊ฒŒ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค๋ฉด subject, object ์œ„์น˜ ๋ฐ”๋€Œ์–ด๋„ ์ƒ๊ด€ ์—†์Œ.
  • ORG:์ •์น˜/์ข…๊ต ๋ผ๋ฒจ์—์„œ mislabel์ด ๋‘๋“œ๋Ÿฌ์ง€๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค
  • train์‹œ unknown ํ† ํฐ์ด ์žˆ๋Š” ๊ฒŒ regularization ๊ธฐ๋Šฅ์„ ํ•  ์ˆ˜ ์žˆ์„์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค! ๋˜ entity์— unknown ํ† ํฐ์ด ์žˆ์„ ๋•Œ๋Š” ์–ด๋–ค ์˜ํ–ฅ์ด ์žˆ์„์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค. -> ์ผ์ข…์˜ ๊ทธ๋Ÿฐ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๊ณ ์š”. -์ตœ๊ทผ์— ๊ฐœ์ฒด๋ช…์ธ์‹๊ธฐ๋กœ ๋…ผ๋ฌธ์„ ์ผ๋Š”๋ฐ, bert๋ฅ˜ ๋ชจ๋ธ๋“ค์ด (๋†€๋ž๊ฒŒ๋„) [unk] ๋ž‘ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ž˜ ์žก๋”๋ผ๊ตฌ์š” -> [unk]๋Š” 2012๋…„์— ํƒœ์–ด๋‚ฌ๋‹ค -> [unk]:PS ๋กœ ์žก๋”๋ผ๊ตฌ์š” :-)
  • sentence ์˜ ๊ธธ์ด๋ฅผ ํŒŒ์•…ํ•  ๋•Œ๋Š” tokenization ํ•˜๊ธฐ ์ „์˜ ๊ธธ์ด๋ฅผ ๋ณด๋Š”๊ฒŒ ๋งž๋‚˜์š”? -> Tokenizing ํ•œ ๋‹ค์Œ์— ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋Š” ๊ฒŒ ๋งž์ง€ ์•Š๋‚˜ ์‹ถ์Šต๋‹ˆ๋‹ค.
  • TAPT(PPT ๋ณธ๋ฌธ์˜ Domain Apaptation) ๋Œ๋ฆด ๋•Œ๋Š” ์•„๋ฌด๋ž˜๋„ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ๋งคํŠธ๋ฆญ์ด ์—†๋Š”๋ฐ, ๋ณดํ†ต loss๊ฐ€ ์–ด๋Š ์ˆ˜์ค€์œผ๋กœ ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€ ๋Œ๋ฆฌ๋Š”์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค!
  • fine-tuning์—์„œ warm-up ์“ฐ๋Š”๊ฒŒ ๋งž๋‚˜์š”? -> ์•ˆ ์“ฐ๋Š” ๊ฑธ ์ถ”์ฒœํ•œ๋‹ค.
  • ๋ถˆ์šฉ์–ด๋ฅผ ๋”ฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ๋ชจ๋ธ ํ•™์Šต์— ๋„์›€์ด ๋ ๊นŒ์š”? ํ•™์Šต์— ๋ฐฉํ•ด๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์งˆ๋ฌธ๋“œ๋ฆฝ๋‹ˆ๋‹ค! -> Validation์„ ๋ด„
  • ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋•Œ ๋ถˆ์šฉ์–ด๋ฅผ ๊ฐ™์ด ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ์‹์€ ํ•˜๋ฉด ์•ˆ๋˜๋Š”๊ฑธ๊นŒ์š”? -> ๋„ค ํ…Œ์ŠคํŠธ์…‹์„ ์ „์ฒ˜๋ฆฌํ•ด์„œ ๋ชจ๋ธ์ด ์ธํผ ๋„ฃ๋Š”๊ฑด ๋งค์šฐ ์ž์—ฐ์Šค๋Ÿฌ์šด๊ฑฐ๊ฐ™๊ตฌ์š”. ์˜ˆ๋ฅผ๋“ค์–ด์„œ ์•…์„ฑ๋Œ“๊ธ€ ๋ถ„๋ฅ˜ํ• ๋•Œ๋„ 'ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹' ์ด๋‚˜ 'ใ… ใ… ใ… ใ… ใ… ใ… ' ๊ฐ™์€๊ฒƒ๋„ ์ „๋ถ€ normalizationํ•œ ํ›„์— ๋ชจ๋ธ์— ํƒœ์šฐ๊ฑฐ๋“ ์š”