๐ก ์ฃผ์ : Subword Models
๐ ํต์ฌ
- Task : Character level models
- BPE, WordPiece model, SentencePiece model, hybrid models
1๏ธโฃ Linguistic Knowledge
1. ์ธ์ดํ ๊ฐ๋ ์ ๋ฆฌ
โ ์์ด๋ก Phonology
โฝ ์ธ์ด์ '์๋ฆฌ' ์ฒด๊ณ๋ฅผ ์ฐ๊ตฌํ๋ ๋ถ์ผ → ์ฌ๋์ ์ ์ผ๋ก ๋ฌดํ์ ์๋ฆฌ๋ฅผ ๋ผ ์ ์์ง๋ง, ์ธ์ด๋ก ํํ๋ ๋๋ ์ฐ์์ ์ธ ์๋ฆฌ๊ฐ ๋ฒ์ฃผํ์ผ๋ก ๋๋ ์ ธ์ ์ธ์๋๋ค.
โ ํํ๋ก Morphology
โฝ ์ต์ํ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ ๊ตฌ์กฐ
โฝ ๋จ์ด์ ์ดํ ๋ณํ๋ฅผ ์ฐ๊ตฌํ๋ ๋ฌธ๋ฒ์ ํ ๋ถ์ผ → ์์ ๋จ์์ ๋จ์ด๋ค์ด ๋ชจ์ฌ ํ๋์ ์๋ฏธ๋ฅผ ์์ฑ
๐ ํํ์ ๋จ์์ ๋จ์ด๋ค์ ๋ฅ๋ฌ๋์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์๋ค. ๋จ์ด๋ฅผ ํํ์ ๋จ์๋ก ์ชผ๊ฐ๋ ๊ณผ์ ์์ฒด๊ฐ ์ด๋ ต๊ณ , ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ง ์๋๋ผ๋ character, n-gram ์ผ๋ก ์ค์ํ ์๋ฏธ ์์๋ฅผ ์ถฉ๋ถํ ์ ์ก์๋ผ ์ ์๋ค.
2. Words in writing systems
โ Writing systmes vary in how they represents words
์ฌ๋์ ์ธ์ดํ๊ธฐ ์ฒด๊ณ๋ ๊ตญ๊ฐ๋ง๋ค ์ฐจ์ด๊ฐ ์กด์ฌํ๋ฉฐ ํ๋๋ก ํต์ผ๋์ด ์์ง ์๋ค.
โฝ No segmentation : ์ค๊ตญ์ด, ์๋์ด์ฒ๋ผ ๋์ด์ฐ๊ธฐ ๊ตฌ๋ถ์ด ์๋ ์ธ์ด๋ค๋ ์กด์ฌํ๋ค.
โฝ Compounds ํฉ์ฑ์ด : ๋์ด์ฐ๊ธฐ๊ฐ ์์์๋ ํ๋์ ๋ช ์ฌ๋ก ์ธ์๋๋ ๊ฒฝ์ฐ , ๋์ด์ฐ๊ธฐ ์์ด ํ ๋จ์ด๋ก ์ธ์ํด์ผํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค.
โฝ Written from
3. Models below the word level ๋จ์ด ๊ธฐ๋ฐ ๋ชจ๋ธ
โ Need to handle large, open vocabulary
๋จ์ด ๊ธฐ๋ฐ์ ๋ชจ๋ธ์ ๋ง๋ค๋ฉด ์ปค๋ฒํด์ผํ ๋จ์ด๊ฐ ๋๋ฌด ๋ง์ผ๋ฏ๋ก ๋ฌดํํ ๋จ์ด ์ฌ์ ๊ณต๊ฐ์ด ํ์ํด ๋นํจ์จ์ ์ด๋ค.
โฝ Rich morphology : ์ฒด์ฝ์ด์ ๊ฐ์ด ํ๋ถํ ํํํ์ ๊ฐ์ง ์ธ์ด
โฝ Transliteration : ์ธ๋์ด ํ๊ธฐ
โฝ Informal Spelling : ์ถ์ฝ์ด, ๋ง์ถค๋ฒ์ ๋ง์ง ์๋ ์ฒ ์ํ๊ธฐ, ์ ์กฐ์ด๋ค์ด ์๊ฒจ๋จ
2๏ธโฃ Pure Character-level models
1. Character level ๋ก ์ ๊ทผํ๋ ์ด์
โ (๋ณต์ต) ๋จ์ด ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๋ฌธ์ ์
โ ์ธ์ด๋ณ๋ก ํน์ฑ์ด ์์ดํ๋ค.
โก Need to handle large , open vocabularly
- ํ์ ๋ ๋จ์ด์ฌ์ ํฌ๊ธฐ์ ์ํด ๋จ์ด์ฌ์ ์ ์๋ ๋จ์ด๋ UNK ํ ํฐ์ผ๋ก ๋ถ๋ฅ๋๋ ๋ฌธ์ : OOV
- ๊ธฐ๊ณ๋ฒ์ญ์ ๊ฒฝ์ฐ ์ซ์๋ ์ด๋ฆ๊ฐ์ด ๋จ์ด๊ฐ ๋ฌดํ๋๋ก ์ฆ๊ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ : open-vocabulary problem
- multi-task learning ์ ๊ฒฝ์ฐ ๋ชจ๋ธ์ด ๋๋ฉ์ธ๋ง๋ค ์ปค๋ฒํด์ผํ ๋จ์ด๊ฐ ๋ ๋ง์์ง๋ค.
โ ๊ธ์ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ์ข์์
๐จ Unkown word ํ์ ๊ฐ๋ฅ : OOV ๋ฌธ์ ํด๊ฒฐ
๐จ ๋น์ทํ ์คํ ๋ง ๊ตฌ์ฑ์ ๋จ์ด๋ ๋น์ทํ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ๊ฐ์ง ์ ์์
๐จ ํฉ์ฑ์ด์ ๊ฐ์ Connected language ๋ ๋ถ์ ๊ฐ๋ฅ
๐จ character n-grams ์ผ๋ก ์๋ฏธ ์ถ์ถ : ๋ฌธ๋ฒ, ์๋ฏธ์ ์ผ๋ก๋ ์ ์ ์น ์์ ์ ์์ผ๋, ๊ฒฐ๊ณผ๋ ์ข์
๐ OOV ๋ฌธ์ : NLP ์์ ๋น๋ฒํ ๋ฐ์ํ๋ ๋ฌธ์ ๋ก input language ๊ฐ database ํน์ input of embedding ์ ์์ด์ ์ฒ๋ฆฌ๋ฅผ ๋ชป ํ๋ ๋ฌธ์
https://acdongpgm.tistory.com/223
2. Pure Character level seq2seq LSTM NMT system
โ English - Czech WMT (2015)
โฝ ์ฒด์ฝ์ด๋ character level ๋ก ์ด๊ฒ์ ๊ฒ ์คํํด๋ณด๊ธฐ ์ข์ ์ธ์ด์ด๋ค.
โฝ word level ์ ๋นํด char level ์ด ์ฌ๋ ์ด๋ฆ์ ์ ๊ตฌ๋ถํด๋ด๋ ๋ชจ์ต์ ๋ณผ ์ ์๋ค. word level ์ unk ํ ํฐ์ ๋ํด ์๋ฌธ์ ๊ทธ๋๋ก copy ํ๋ค๋ ๋จ์ ์ด ์๋ค.
โฝ character level ๋ชจ๋ธ์ ํ๋ จํ๋๋ฐ 3์ฃผ๋ ์์๋์๋ค.
โ Fully Character-level Neural Machine Transliation without Explicit segmentation (2017)
Encoder
(1) ๋ฌธ์ฅ ์ ์ฒด์ ๋ํด character ๋จ์์ ์๋ฒ ๋ฉ์ ์งํํ๋ค.
(2) Filter size ๋ฅผ ๋ค์ํ๊ฒ ์ฃผ์ด์ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ์งํํ์ฌ ํผ์ฒ๋ฅผ ์ถ์ถํ๋ค.
(3) stride=5 ๋ก maxpooling ์ ์งํํ๋ค. (๊ธ์๊ฐ 3~7๊ฐ๋ก ๊ตฌ์ฑ๋๋ฉด ํ๋์ ๋จ์ด๊ฐ ๋ง๋ค์ด์ง)
(4) segmentation embeddings : feature
(5) Highway Network
(6) Bidirectional GRU
Decoder ๋ ์ผ๋ฐ์ ์ธ character level์ sequence model
๐ highway network : ๊น์ด๊ฐ ์ฆ๊ฐํ ์๋ก ์ต์ ํ๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋ชจ๋ธ์ ๊น๊ฒ ๋ง๋ค๋ฉด์ ์ ๋ณด์ ํ๋ฆ์ ํต์ ํ๊ณ ํ์ต ๊ฐ๋ฅ์ฑ์ ๊ทน๋ํํ ์ ์๋๋ก ํด์ฃผ๋ ์ญํ (Resnet / LSTM ๊ณผ ๋น์ทํจ)
๐จ Transform gate, Carry gate
https://lyusungwon.github.io/studies/2018/06/05/hn/
https://datacrew.tech/resnet-1-2015/
โ Character-Based Neural Machine Translation with Capacity and Compression (2018)
โฝ Bi-LSTM Seq2Seq ๋ชจ๋ธ์ ์ ์ฉ
โฝ char seq2seq ๋ชจ๋ธ๊ณผ word level ์ BPE ๋ชจ๋ธ์ ์ฑ๋ฅ์ ๋น๊ตํ์ ๋, ์ฒด์ฝ์ด-์์ด ๋ฒ์ญ์์ character based ๋ชจ๋ธ์ด BPE ๋ณด๋ค ์ฐ์ํ ์ฑ๋ฅ์ ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ์ฐ์ฐ๋์ ํจ์ฌ ๋ ๋ง๋ค.
๐ character-level model ์ ์ฑ๋ฅ์ด ์ข ๋ ์ฐ์ํ์ง๋ง, ์ฐ์ฐ๋์ด ๋ง์ ์๊ฐ๊ณผ ๋น์ฉ์ด ํจ์ฌ ๋ง์ด ๋๋ ๋ฌธ์
3๏ธโฃ Sub-word Models
๐ Subword model ์ word level ๋ชจ๋ธ๊ณผ ๋์ผํ๋, ๋ ์์ word ์ธ word pieces ๋ฅผ ์ฌ์ฉํ๋ค.
1. BPE
โ Byte Pair Encoding
* ์์ด๋์ด ๊ธฐ๋ฐ์ด ๋ ์ ํ๋ ผ๋ฌธ : https://aclanthology.org/P16-1162.pdf → ์ํ์ค์์ ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ๋ฐ์๋๋ byte pair ๋ฅผ ์๋ก์ด byte ๋ก clustering ํ์ฌ ์ถ๊ฐํ๋ ๋ฐฉ์
โฝ word level model ๊ณผ ๋น์ทํ๋, word piece ๋ก ์ ๊ทผํ๋ค.
โฝ ๋ณธ๋ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ฐ๊ตฌ๊ฐ ์์๋์๋ค๊ฐ, ์ด์ ์ฐฉ์ํ์ฌ Word segmentation ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋ฐ์ ํ๋ค. ๋ฅ๋ฌ๋๊ณผ ๋ฌด๊ดํ ์์ด๋์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
โฝ ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ๋ฐ์๋๋ pair ๋ฅผ character ๋จ์๋ก ์ค์
โฝ Purely data-driven and multi-lingual : ๋ชจ๋ ๋ฐ์ดํฐ์ ๋ํด ์ ์ฉํ ์ ์๊ณ ์ธ์ด์ ๋ํด ๋ ๋ฆฝ์
๐จ dictionary ์์ ์ผ์ชฝ ์ซ์๋ค์ ๋จ์ด์ ๋ฑ์ฅ ํ์
๐จ es ๋ 6+3 = 9 ์ด 9๋ฒ ๋ฑ์ฅํจ
2. wordpiece model
๋จ์ด ๋ด์์ ํ ํฐํ๋ฅผ ์งํ
โฝ BPE ๋ณํ ์๊ณ ๋ฆฌ์ฆ
โฝ Pre-segmentation + BPE : ๋น๋ฒํ๊ฒ ๋ฑ์ฅํ๋ ๋จ์ด๋ค์ ๋ํด ๋จผ์ ๋จ์ด์ฌ์ ์ ์ถ๊ฐํ๊ณ ์ดํ์ BPE ๋ฅผ ์ ์ฉ
โฝ BPE ๋ ๋น๋์์ ๊ธฐ๋ฐํด ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ ์์ ๋ณํฉํ๋๋ฐ, wordpiece model ์์๋ ๋ณํฉ๋์์ ๋ ์ฝํผ์ค์ likelihood ์ฐ๋๋ฅผ ๊ฐ์ฅ ๋์ด๋ ์์ ๋ณํฉํ๋ค.
โฝ ์์ฃผ ๋ฑ์ฅํ๋ piece ๋ unit ์ผ๋ก ๋ฌถ์, ์์ฃผ ๋ฑ์ฅํ์ง ์๋ ๊ฒ์ ๋ถ๋ฆฌ
โฝ Transformer, ELMo, BERT, GPT-2 ์ต์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์์ ์ด ์๊ณ ๋ฆฌ์ฆ ์๋ฆฌ๊ฐ ์ฌ์ฉ๋จ
3. SentencePiece Model
Raw text ์์ ๋ฐ๋ก ์๋
โฝ ๊ตฌ๊ธ์์ 2018๋ ๊ณต๊ฐํ ๋น์ง๋ํ์ต ๊ธฐ๋ฐ ํํ์ ๋ถ์ ํจํค์ง : https://github.com/google/sentencepiece
โฝ ์ค๊ตญ์ด ๋ฑ ๋จ์ด๋ก ๊ตฌ๋ถ์ด ์ด๋ ค์ด ์ธ์ด์ ๊ฒฝ์ฐ raw text ์์ ๋ฐ๋ก character-level ๋ก ๋๋์ด์ง๋ค.
โฝ ํ ํฐํ ์ฌ์ ์์ ์์ด ๋ฌธ์ฅ ๋จ์์ input ๋จ์ด ๋ถ๋ฆฌ ํ ํฐํ๋ฅผ ์ํํ๋ ๋จ์ด ๋ถ๋ฆฌ ํจํค์ง์ด๋ฏ๋ก ์ธ์ด์ ์ข ์๋์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ค.
โฝ ๊ธฐ์กด BPE ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ bigram ๊ฐ๊ฐ์ ๋ํด co-occurence ํ๋ฅ ์ ๊ณ์ฐํ๊ณ ๊ฐ์ฅ ๋์ ๊ฐ์ ๊ฐ์ง๋ ๊ฒ์ ์ถ๊ฐํ๋ค.
4. BERT
โฝ vocab size ๊ฐ ํฌ์ง๋ง ๋งค์ฐ ํฌ์ง ์์ผ๋ฏ๋ก word piece ๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ฌ์ฉํ๋ค.
โฝ ์๋์ ์ผ๋ก ๋น๋๊ฐ ๋์ ๋จ์ด + wordpiece ๋ฅผ ์ด์ฉ
๐ ์ฌ์ ์ ์๋ Hypatia ๋ผ๋ ๋จ์ด์ ๊ฒฝ์ฐ์ 4๊ฐ์ word vector piece ๋ก ์ชผ๊ฐ์ง๋ค.
๐ subword ๋ก ํํ๋ ๊ฒ๋ค์ ์ด๋ป๊ฒ ๋ค์ ๋จ์ด ๋จ์๋ก ํํํ๋๊ฐ?
→ ์๋ฒ ๋ฉ๋ ๋ฒกํฐ๋ค์ ํ๊ท ํด์ word vector ๋ก ๋ง๋ฆ
→ cnn,rnn ๊ณ์ด๋ก ์ธํด ๋ ๊ณ ์ฐจ์์ ์๋ฒ ๋ฉ๋ ๋ฒกํฐ ํ์ต
4๏ธโฃ Hybrid Models
๐ ๊ธฐ๋ณธ์ ์ผ๋ก word ๋จ์๋ก ์ฒ๋ฆฌํ๊ณ , ๊ณ ์ ๋ช ์ฌ๋ ์ฌ์ ์ ์๋ ๋จ์ด๋ character ๋จ์๋ก ์ทจ๊ธํ๋ค.
1. Character-level POS
โฝ Conv ์ฐ์ฐ์ ์ทจํ์ฌ ๋จ์ด ์๋ฒ ๋ฉ์ ์์ฑํ๊ณ ๋ ๋์ level ์ ์ด ์๋ฒ ๋ฉ์ ์ ์ฉํด POS ํ๊น
2. character-based LSTM (2015)
โฝ character ๋จ์๋ก NMT ์ ๊ฒฝ๋ง ๊ธฐ๊ณ๋ฒ์ญ task ๋ฅผ ์งํํ ์ฐ๊ตฌ ์ฌ๋ก
3. Character-Aware Neural Language models (2015)
โฝ subword ์ ๊ด๊ณ์ฑ์ ๋ชจ๋ธ๋ง : eventful ~ eventufully ~ uneventful ์ฒ๋ผ ๊ณตํต๋ subword ์ ์ํด ์๋ฏธ์ ๊ด๊ณ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ ์ฉํ๋ค.
โฝ Char ๋จ์๋ก ๊ตฌ๋ถ → Conv layer with various filter size (feature representation) → maxpooling (์ด๋ค ngram ์ด ๋จ์ด์ ๋ป์ ๊ฐ์ฅ ์ ๋ํ๋ด๋์ง ๊ณ ๋ฅด๋ ๊ณผ์ ) → highyway network → Word level LSTM
โฝ ํจ์ฌ ์ ์ ํ๋ผ๋ฏธํฐ์๋ก ๋น์ทํ ์ฑ๋ฅ์ ๋ธ๋ค.
โฝ highway ์ด์ ์๋ ์ฌ๋ ์ด๋ฆ์ ์๋ฏธ๋ฅผ ๋ด์ ๊ฒ์ด ์๋ ์ฒ ์๊ฐ ์ ์ฌํ ๋จ์ด๋ค์ด ๊ฐ์ฅ ๋น์ทํ ๋จ์ด๋ก ์ถ๋ ฅ๋ ๋ฐ๋ฉด, highway network ์ดํ์๋ ์๋ฏธ๋ฅผ ๊ณ ๋ คํด ๋ค๋ฅธ ์ฌ๋์ ์ด๋ฆ์ ์ถ๋ ฅํด์ค๋ค ๐ semantic ์ ๋ฐ์ํ์ฌ ๋ ์๋ฏธ์๋ ๋จ์ด๋ค์ ํ์ต
3. hybrid NMT
โฝ ๋๋ถ๋ถ word level ๋ก ์ ๊ทผํ๊ณ ํ์ํ ๋๋ง character level ๋ก ์ ๊ทผํ๋ค.
โฝ ๊ธฐ๋ณธ์ ์ผ๋ก seq2seq ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
โฝ ์ฑ๋ฅ๋ ๊ฐ์ฅ ์ข์๋ค.
โฝ char-based ๋ฒ์ญ์ ์ด๋ฆ์ ๋ํด ์๋ชป ๋ฒ์ญํจ
โฝ word-based ๋ฒ์ญ์ diagnosis ๋จ์ด๋ฅผ ์์ด๋ฒ๋ ค po ์ง์ ์ ๋ฑ์ฅํ ๋จ์ด๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํ๊ณ unk ํ ํฐ์ ๊ทธ๋ฅ ์๋ฌธ์์ copy ํด์ ์ฌ์ฉํจ
โฝ ๋ฒ์ญ ๊ฒฐ๊ณผ๋ hybrid ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ฅ ์ฐ์
4. FastText embedding
โฝ word2vec ์ ์ด์ ์ฐจ์ธ๋ word vector learning library ๋ก ํ๋์ ๋จ์ด์ ์ฌ๋ฌ ๋จ์ด๋ค์ด ์กด์ฌํ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํ์ฌ ํ์ตํ๋ค. (n-gram)
โฝ ํํ์๊ฐ ํ๋ถํ ์ธ์ด๋ ํฌ๊ทํ ๋จ์ด๋ค์ ๋ค๋ฃฐ ๋ ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด๋ ๋ชจ๋ธ
โฝ ํ ๋จ์ด์ n-gram ๊ณผ ์๋์ ๋จ์ด๋ฅผ ๋ชจ๋ ํ์ต์ ์ฌ์ฉํ๋ค.
๐ ๋ชจ๋ฅด๋ ๋จ์ด์ ๋ํด์๋ subword ๋ฅผ ํ์ฉํด ๋ค๋ฅธ ๋จ์ด์์ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ ์ ์๊ณ ๋ฑ์ฅ ๋น๋์๊ฐ ์ ์ ํฌ๊ทํ ๋จ์ด๋ ๋ค๋ฅธ ๋จ์ด์ n-gram ์ ๋น๊ตํด ์๋ฒ ๋ฉ ๊ฐ์ ๊ณ์ฐํ ์ ์๋ค.
ex. ์ด์ฉํฐ๋น → ์ด์ฉ๋ผ๊ณ
๐ ์ค์ต ๋งํฌ
4. https://wikidocs.net/86792 : IMDB ์ค์ต
5. https://wikidocs.net/99893 : ์์ฐ์ด ์ฒ๋ฆฌ ์คํํธ์ ํ๊น ํ์ด์ค๊ฐ ๊ฐ๋ฐํ ํจํค์ง tokenizers๋ ์์ฃผ ๋ฑ์ฅํ๋ ์๋ธ์๋๋ค์ ํ๋์ ํ ํฐ์ผ๋ก ์ทจ๊ธํ๋ ๋ค์ํ ์๋ธ์๋ ํ ํฌ๋์ด์ ๋ฅผ ์ ๊ณต
'1๏ธโฃ AIโขDS > ๐ NLP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
NER ์ค์ต (0) | 2022.06.02 |
---|---|
Glove ์ค์ต (0) | 2022.05.31 |
[cs224n] 11๊ฐ ๋ด์ฉ ์ ๋ฆฌ (0) | 2022.05.19 |
ํ ์คํธ ๋ถ์ โก (0) | 2022.05.17 |
ํ ์คํธ ๋ถ์ โ (0) | 2022.05.14 |
๋๊ธ