ํ์ฌ ๋ฅ๋ฌ๋ ๋ถ์ผ์์๋ ๋ฐ์ดํฐ์ ๋ถ์กฑ์ ์๋ฌ๋ฆฌ๊ณ ์๋ค. ์๋ํ๋ฉด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด์๋ ๋ ๋ง์ ๋ฐ์ดํฐ๊ฐ ํ์์ ์ธ๋ฐ ์ด๋ฅผ ์ํด ํ์ํ ๋ฐ์ดํฐ์ ์์ ํ์ ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ๋ช ๋ ๊ธฐ์ ์ด Data Augmentation์ด๋ค. Data Augmentation์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๋ฉด ๊ธฐ์กด์ ์กด์ฌํ๋ ๋ฐ์ดํฐ์ ์ฝ๊ฐ์ ๋ณํ ๋๋ ์์์ ๊ฐํด์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฃผ๋ก Computer VIsion ๋ถ์ผ์์ ์ฌ์ฉ๋๋๋ฐ NLP์๋ Data Augmentation ๊ธฐ๋ฒ์ด ์กด์ฌํ๋ค๋ ์ฌ์ค์ ์๊ฒ ๋๊ณ ํ ๋ฒ ๊ณต๋ถํด๋ณด๋ฉด์ ํฌ์คํธ๋ฅผ ์์ฑํ์๋ค. ์ด ํฌ์คํธ๋ ๋ค์์ ๋ธ๋ก๊ทธ๋ค์ ์ฐธ๊ณ ํ์ฌ ์์ฑ๋์๋ค.
https://neptune.ai/blog/data-augmentation-nlp
What is the difference of augmentation between vision and NLP?
vision์ augmentation๊ณผ NLP์ augmentation์๋ ์ฐจ์ด์ ์ด ๋ถ๋ช ํ ์กด์ฌํ๋ค. ์๋ฅผ ๋ค์ด ์๊ฐํด๋ณด์. vision์์ ๊ณ ์์ด ์ฌ์ง์ด ์ฃผ์ด์ก๋ค๊ณ ํ์์ ๋, ๋น์ ์์ ๊ฐ์ฅ ํํ๊ฒ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ธ grayscale์ด๋ ํ์ ๋ฑ์ ์ ์ฉํ๋ค๊ณ ํด๋ณด์. ๊ทธ๋ฌ๋ฉด ์ด์ ๋น์ทํ๊ฒ NLP์์๋ ๋ฌธ์ฅ๋ด ๋จ์ด์ ์์๋ฅผ ์ ํํ๋ฉด augmentation ํ๊ธฐ ์ด์ ์ ๋ฌธ์ฅ๊ณผ ๋๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ๋ ๋ฌธ์ฅ์ด ๋์ฌ๊น? ๋ค์์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๊ทธ๋ ์ง ์์์ ํ์ฐํ๊ฒ ์ ์ ์๋ค.
ํ ๋ง๋๋ก ๋น์ ์์๋ ๋ฐ์ดํฐ๊ฐ ์ฃผ์ด์ง๋ฉด data generator๋ฅผ ์ฌ์ฉํด์ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ๋ค์ด๊ฐ๋ ๋ฐ์ดํฐ ๋ฐฐ์น๋ฅผ ๋๋คํ๊ฒ ๋ณํ$($augmentation$)$ํ๋ฉด ๋๋ฏ๋ก ํ์ต ์ ์ ๋ฐ๋ก ์ค๋นํด์ผํ ์ฌํญ์ ์๋ค.
ํ์ง๋ง NLP์์๋ ๊ทธ๋ ์ง ์๋ค. ๋ฌธ์ฅ์ ๋ฌธ๋ฒ์ ์ธ ๊ตฌ์กฐ ๋๋ฌธ์ ๋งค์ฐ ์ธ๋ฐํ๊ฒ data augmentation์ ์งํํด์ผ ํ๋ค. ์์ผ๋ก์ ๋ด์ฉ๋ค์ ๋ชจ๋ ํ์ต ์ด์ ์ ์ฌ์ฉํด์ผ ํ๋ method๋ค์ด๋ค. ์ด์ ๋ถํฐ NLP์ data augmentation method์ ๋ํด ์์๋ณด๋๋ก ํ์!! ๐ฅ
NLP Data Augmentation Methods
1. Lexical Substitution
Lexical Substitution์ ํ ์คํธ์ ๋ํ๋ ์๋ ๋จ์ด๋ฅผ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ํด์น์ง ์๋ ์ ์์ ๋์ฒดํ๋ ๋ฐฉ์์ด๋ค.
a. Thesaurus-based substitution
์ด method ์์๋ ๋ฌธ์ฅ ๋ด์์ ๋๋คํ ๋จ์ด๋ฅผ ๊ณ ๋ฅด๊ณ Thesaurus๋ฅผ ์ฌ์ฉํ์ฌ ๋์์ด๋ก ๋์ฒดํ์๋ค. ์๋ฅผ ๋ค์ด, ์์ด์ ๋ํ WordNet ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํด์ ๋์์ด๋ฅผ ์ฐพ๊ณ ๋์ฒด๋ฅผ ์ํํ๋ค. ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋จ์ด๋ค ๊ฐ์ ์ฐ๊ด์ฑ์ ์๋์ผ๋ก ์ ๋ฆฌํด๋์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ด๋ค.
b. Word-Embeddings Substitution
์ด ๋ฐฉ์์์๋ Word2Vec, GloVe ๊ฐ์ pre-trained ์๋ ์๋ฒ ๋ฉ์ ๊ฐ์ง๊ณ ๋ฌธ์ฅ ๋ด์ ๋ช๋ช ๋จ์ด์ ๋ํ ๋์ฒด๋ฅผ ์ํด ์๋ฒ ๋ฉ ๊ณต๊ฐ์์ ๊ทผ์ ํด ์๋ ๋จ์ด๋ค์ ์ฌ์ฉํ์๋ค.
์๋ฅผ ๋ค์ด, ๊ฐ์ฅ ๋น์ทํ 3๊ฐ์ ๋จ์ด๋ฅผ ์ฌ์ฉํด์ ์ด 3๊ฐ์ ๋ณํ๋ ํ ์คํธ๋ฅผ ์์ฑํ ์ ์๋ค.
c. Masked Language Model
BERT, RoBERTa, ALBERT ๊ฐ์ Transformer model๋ค์ pretext task์ธ "Masked Language Modeling"์ ์ฌ์ฉํ์ฌ ๋ฐฉ๋ํ ์ผ์ ๋ฐ์ดํฐ์์ ํ์ต๋์๋ค. ์ด MLM์ ๋ฌธ๋งฅ์ ๊ธฐ๋ฐํ์ฌ masked word๋ฅผ ์์ธกํด์ผ ํ๋ task์ด๋ค.
์ด๋ ํ ์คํธ๋ฅผ augmentํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค. ์๋ฅผ ๋ค์ด, pre-trained BERT model์ ์ฌ์ฉํ ๋, ํ ์คํธ์ ๋ช๋ช ๋ถ๋ถ์ maskํด๋๊ณ BERT model์๊ฒ masked token์ ์์ธกํ๋๋ก ๋ฌผ์ด๋ณผ ์ ์๋ค.
๋ฐ๋ผ์, maske prediction์ ํตํด ๋ค์ํ ํ ์คํธ๋ฅผ ์์ฑํ ์ ์๋ค. ์ด์ ์ ๋ฐฉ์๋ค๊ณผ ๋น๊ตํ ๋ ์์ฑ๋ ํ ์คํธ๋ ๋ชจ๋ธ์ด ์์ธกํ ๋ ์ปจํ ์คํธ๋ฅผ ๊ณ ๋ คํ๋ฏ๋ก ๋ฌธ๋ฒ์ ์ผ๋ก ๋ ์ผ๊ด์ฑ์ด ์๋ค.
d. TF-IDF based word replacement
์ด augmentation method์ ๊ธฐ๋ณธ์ ์ธ ์์ด๋์ด๋ ๋ฎ์ TF-IDF ์ ์๋ฅผ ๊ฐ์ง๋ ๋จ์ด๋ค์ ์ ๋ณด๊ฐ ์๊ณ ๋ฐ๋ผ์, ๋ฌธ์ฅ์ ground-truth ๋ผ๋ฒจ์ ์ํฅ์ ๋ฐ์ง ์๊ณ ๋์ฒด๋ ์ ์๋ค.
๊ธฐ์กด ๋จ์ด์์ ๋์ฒด๋๋ ๋จ์ด๋ ์ ์ฒด ๋ฌธ์์์ ๋จ์ด์ TF-IDF ์ ์๋ฅผ ๊ณ์ฐํจ์ผ๋ก์จ ์ ํ๋๊ณ ๊ฐ์ฅ ๋ฎ์ ์ ์๋ฅผ ๊ฐ์ง๋ ๋จ์ด๋ฅผ ์ ํํ๋ค.
2. Back Translation
์ด method์์๋ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ์ธ์ด๋ก ๋ฒ์ญํ๊ณ ๋ค์ ์๋์ ์ธ์ด๋ก ๋ฒ์ญํ๋ค. ์ด๋ฌํ ๋ฐฉ์์ ๋ฌธ์ฅ์ ์๋ฏธ๋ ๋ณด์กดํ๋ ๋์ ๋จ์ด๋ค์ ๊ตฌ์ฑ์ด ๋ฌ๋ผ์ง๋ค.
์์๋ฅผ ์ดํด๋ณด๋ฉด ์ค์ ๋ก ๋ฌธ์ฅ์ ํํ๋ ๋ฐ๋๊ธด ํ์ง๋ง ๋ฌธ์ฅ์ ์๋ฏธ๋ ๋ฐ๋์ง ์์์์ ์ ์ ์๋ค.
3. Text Surface Transformation
์ด method๋ ์ ๊ท์์ ์ฌ์ฉํ์ฌ ์ ์ฉ๋๋ ๊ฐ๋จํ ํจํด ์ผ์น ๋ณํ์ด๋ค. Text Surface Transformation ๋ ผ๋ฌธ์์๋ ์ถ์ฝ์์ ํ์ฅ์ผ๋ก ๋๋ ๊ทธ ๋ฐ๋๋ก ์ธ์ด ํ์์ ๋ณํํ๋ ์๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ฅผ ์ ์ฉํ์ฌ augmented text๋ฅผ ์์ฑํ ์ ์๋ค.
์ถ์ฝํ๊ณผ ์ผ๋ฐํ์ ๋ณํ์ ๋ฌธ์ฅ์ ์๋ฏธ๋ฅผ ๋ฐ๊พธ์ง ์๊ธฐ ๋๋ฌธ์, ๋ค์๊ณผ ๊ฐ์ด ๋ชจํธํ ์ํฉ์์๋ ์ ๋๋ก ์๋ํ์ง ์๋ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๊ธฐ๋ ํ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ผ๋ฌธ์์๋ ๋ชจํธํ ์ถ์ฝ์ ํ๋ฝํ์ง๋ง ๋ชจํธํ ํ์ฅ์ ๊ฑด๋๋ฐ์๋ค.
4. Easy Data Auhmentation$($EDA$)$
Easy Data Augmentation์ ํต์์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ๊ฐ์ฅ ๊ฐ๋จํ data augmentation ๋ฐฉ๋ฒ ์ค ํ๋์ด๋ค. EDA๋ 4๊ฐ์ ๊ฐ๋จํ์ง๋ง ๋งค์ฐ ์ข์ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ๋ ์ฐ์ฐ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ์ด ๋ฐฉ๋ฒ๋ค์ overfitting์ ๋ฐฉ์งํด์ฃผ๊ณ robust model์ ํ์ต์ํค๋๋ฐ ๋์์ ์ค๋ค. EDA๋ ํ๋์ ๋ ผ๋ฌธ์ด ์๋๋ฐ ๊ถ๊ธํ๋ค๋ฉด ๋ ผ๋ฌธ์ ์ฝ์ด๋ณด๋ ๊ฒ๋ ์ถ์ฒํ๋ค.
a. Synonym Replacement
์ด method๋ ์์ ์ค๋ช ํ Thesaurus-based substitution์ ์ ์ฌํ ๋ด์ฉ์ผ๋ก ๋ฌธ์ฅ ๋ด์์ ๋๋คํ ๋จ์ด๋ฅผ ๋์์ด๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ํ ๋ง๋๋ก paraphrase๋ฅผ ํ๋ค๋ ์๋ฏธ์ด๋ค.
b. Random Insertion
๋ฌธ์ฅ ๋ด์์ ๋ถ์ฉ์ด๊ฐ ์๋ ๋๋คํ ๋จ์ด์ ๋๋คํ ๋์์ด๋ฅผ ์ฐพ๋๋ค. ์ด ๋์์ด๋ฅผ ๋ฌธ์ฅ ๋ด์์ ๋๋คํ ์์น์ ์ฝ์ ํ๋ค. ์ด ๊ณผ์ ์ $n$๋ฒ ๋ฐ๋ณตํ๋ค.
c. Random Swap
๋ฌธ์ฅ ๋ด์์ ๋๋คํ ๋ ๋จ์ด์ ์์น๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ด๋ค.
d. Random Deletion
๋ฌธ์ฅ์์ ๊ฐ ๋จ์ด๋ฅผ ํ๋ฅ $p$๋ฅผ ์ฌ์ฉํ์ฌ ๋๋คํ๊ฒ ์ ๊ฑฐํ๋ค.
5. Instance Crossover Augmentation
์ด method๋ ์ ์ ํ์์ ๋ฐ์ํ๋ ์ผ์์ฒด ๊ต์ฐจ์์ ์๊ฐ์ ๋ฐ์๋ค. ์ฌ๊ธฐ์๋ tweet์ด ๋ฐ์ผ๋ก ๋๋ ์ง๊ณ ๋๊ฐ์ ์๊ทน$($positive/negative$)$์ ๋ ๊ฐ์ ๋๋คํ tweet๋ค๋ผ๋ฆฌ๋ ์๋ก์ ์ ๋ฐ์ด ๋ฐ๋์ด์ง๋ค. ๊ฐ์ค์ ๊ฒฐ๊ณผ๊ฐ ๋น๋ฌธ๋ฒ์ ์ด๊ณ ์๋ฏธ๋ก ์ ์ผ๋ก ๋ถ์ ์ ํ๋๋ผ๋ ์ ํ ์คํธ๊ฐ ์ฌ์ ํ sentiment๋ฅผ ๋ณด์กดํ๋ค๋ ๊ฒ์ด๋ค.
์ด method๋ ์ ํ๋ ์ธก๋ฉด์์ ๋ณ ํจ๊ณผ๊ฐ ์์ง๋ง F1-score์๋ ๋์์ด ๋๋ ๋ชจ์ต์ ๋ณด์ฌ์คฌ๋ค.
6. NLP Albumentation
์ด ํฌ์คํธ์ ์๋ถ๋ถ์์ computer vision data augmentation๊ณผ NLP data augmentation์ ์ฐจ์ด์ ๋ํด์ ์๊ธฐํ์๋ค. ํ์ง๋ง ์ด ์น์ ์์๋ CV data augmentation์์ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ๋ค์ ์ด๋ป๊ฒ NLP์ ์ ์ฉํ ์ ์์ ์ง์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๊ธฐ ์ํด Albumentation ํจํค์ง๋ฅผ ์ฌ์ฉํ ํ ๋ฐ, ์ฌ๊ธฐ์๋ ์ด๋ ํ ๊ธฐ์ ๋ค์ด ์๋์ง ์์๋ณด๋๋ก ํ์.
a. Shuffle Sentences Transform
์ด ๋ณํ์์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์ฅ์ ํฌํจํ๋ ํ ์คํธ ์ํ์ด ์ฃผ์ด์ง๋ฉด ์ด ๋ฌธ์ฅ๋ค์ ์ ํ๋์ ์๋ก์ด ์ํ์ ๋ง๋ค์ด๋ธ๋ค. ์๋ฅผ ๋ค์ด text = '<Sentence1>. <Sentence2>. <Sentence3>. <Sentence4>. <Sentence5>. <Sentence5>'๊ฐ ์ฃผ์ด์ง๋ฉด text = '<Sentence2>. <Sentence3>. <Sentence1>. <Sentence5>. <Sentence5>. <Sentence4>.'๋ก ๋ณํ๋๋ ๊ฒ์ด๋ค.
b. Exclude Duplicate Transform
์ด ๋ณํ์์๋ ๋ณต์ ๊ฐ ๋์ด ์๋ ๋ฌธ์ฅ์ ํฌํจํ ์ฌ๋ฌ ๋ฌธ์ฅ์ ํฌํจํ ํ ์คํธ ์ํ์ด ์ฃผ์ด์ง๋ฉด, ์ด ๋ณต์ ๋ฌธ์ฅ๋ค์ ์๋ก์ด ์ํ์ ๋ง๋ค๊ธฐ ์ํด ์ญ์ ๋๋ค. ์๋ฅผ ๋ค์ด text = ‘<Sentence1>. <Sentence2>. <Sentence4>. <Sentence4>. <Sentence5>. <Sentence5>.’ ๊ฐ ์ฃผ์ด์ง๋ฉด ‘<Sentence1>. <Sentence2>.<Sentence4>. <Sentence5>.’ ๋ก ๋ณํ๋๋ ๊ฒ์ด๋ค.
์ด ์ธ์๋ Albumentation ํจํค์ง์๋ ๋ง์ ๋ณํ๋ค์ด ์กด์ฌํ์ง๋ง, ๋ณธ ํฌ์คํธ์์๋ ์ด ์ ๋๋ง ๋ค๋ค๋ณด๋๋ก ํ๊ฒ ๋ค.
7. NLP Mixup
Mixup์ ๊ฐ๋จํ์ง๋ง ํจ๊ณผ์ ์ธ image augmentation ๋ฐฉ๋ฒ์ด๋ค. Mixup์ ์์ด๋์ด๋ ํ์ต์ ์ํ ํฉ์ฑ ์์ ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ผ์ ๋น์จ๋ก ๋ฏธ๋ ๋ฐฐ์น์์ ๋ ๊ฐ์ ๋ฌด์์ ์ด๋ฏธ์ง๋ฅผ ๊ฒฐํฉํ๋ ๊ฒ์ด๋ค. ์ด๋ฏธ์ง์ ๋ํด ์ด๊ฒ์ ๋ ๊ฐ์ ์๋ก ๋ค๋ฅธ ํด๋์ค์ ์ด๋ฏธ์ง ํฝ์ ์ ํฉ์น๋ค๋ ์๋ฏธ์ด๋ค. Mixup์ ํ์ต ์ค์ ์ ๊ทํ์ ํํ๋ก ์๋ํ๋ค.
Mixup์ ์์ด์ด๋๋ฅผ NLP๋ก ๋๊ณ ์์ ํ ์คํธ์์ ์๋ํ ์ ์๋๋ก ํ์๋ค. ์ด ๋ฐฉ๋ฒ์ Mixup์ ํ ์คํธ์ ์ ์ฉํ ๋ ๊ฐ์ง ์๋ก์ด ๋ฐฉ๋ฒ์ ์ ์ํ์๋ค.
a. wordMixup
์ด ๋ฐฉ๋ฒ์์๋ ๋ฏธ๋ ๋ฐฐ์น์์ ๋ ๊ฐ์ ๋๋คํ ๋ฌธ์ฅ๋ค์ด ๋ค์ด์ค๊ณ ๋๊ฐ์ ๊ธธ์ด๋ก zero-padding ๋๋ค. ๊ทธ ๋ค์์ ์ด๋ค์ word embedding์ ๋ณดํต์ text classification์ ๋ํ ํ๋ฆ์ผ๋ก ์ง๋๊ฐ๋ค. cross-entropy loss์ ์ฃผ์ด์ง ๋น์จ์์ ๊ธฐ์กด ํ ์คํธ์ ๋ ๋ผ๋ฒจ ๋ชจ๋์ ๋ํด ๊ณ์ฐ๋๋ค.
b. sentMixup
์ด ๋ฐฉ๋ฒ์์๋ ๋ ๊ฐ์ ๋ฌธ์ฅ์ด ๋ค์ด์ค๊ณ ๋๊ฐ์ ๊ธธ์ด๋ก zero-padding ๋๋ค. ๊ทธ ๋ค์์ ์ด๋ค์ word embedding์ LSTM/CNN encoder์ ํต๊ณผํ๊ณ ๋ง์ง๋ง hidden state๋ฅผ sentence embedding์ผ๋ก ๋ฐ์๋ค์ธ๋ค. ์ด๋ฌํ embedding๋ค์ ํน์ ๋น์จ๋ก ํฉ์ณ์ง๊ณ ๋ง์ง๋ง ๋ถ๋ฅ ๋ ์ด์ด๋ก ํ๋ฌ๊ฐ๋ค. cross-entropy loss๋ ์ฃผ์ด์ง ๋น์จ์์ ๊ธฐ์กด ๋ฌธ์ฅ์ ๋ ๋ผ๋ฒจ์ ๊ธฐ๋ฐํด์ ๊ณ์ฐ๋๋ค.
Conclusion
์ด๋ ๊ฒ ํด์ NLP์ data augmentation method๋ค์ ๋ํด์ ์์๋ดค๋๋ฐ ์๊ฐ๋ณด๋ค computer vision๋งํผ์ด๋ ๋ค์ํด์ ๋๋๋ค. ๐ฒ data augmentation์ ๋งค์ฐ ์ค์ํ ๋ถ์ผ์ด๊ธฐ ๋๋ฌธ์ NLP ์ธ์ Computer vision์ ๊ณต๋ถํ ๋๋ ํ์ํ๋ฏ๋ก ํ ๋ฒ ์ฆ์ ๊ณต๋ถํด๋ณด๊ธฐ๋ฅผ ์ถ์ฒํ๋ค. ๐
์ถ์ฒ
https://neptune.ai/blog/data-augmentation-nlp