Normalization ์ ๊ทํ#
์ฐ๋ฆฌ๊ฐ ์ตํ ์๊ณ ์๋ ์ ๊ทํ๋ curr - min / max - min์ด๋ค. ์ธ์ดํ๊ณผ ์์ฐ์ด ์ฒ๋ฆฌ์์ morpheme(ํํ์ : ์๋ฏธ๋ฅผ ๊ฐ์ง ๊ฐ์ฅ ์์ ๋จ์)
๋ผ๋ ๊ฒ์ด ๋จ์ด์ ๊ธฐ๋ฐ์ผ๋ก ์ ์๋๋ค. ๋ณดํต token์ด๋ผ๋ ๊ฒ์ ๋ ๊ฐ ์ด์์ morpheme์ ํฉ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์ ๋์ฌ(prefix) ์ ๋ฏธ์ฌ(suffix)๊ฐ ๋จ์ด์ ํํ์ ๋ฐ๋ผ ๋ณํ๋์ด ๋ถ๋๋ค.
์ ๊ทํ๋ โconverting a token into its base formโํ๋ ๊ณผ์ ์ด๋ค. inflection form โ base form.
reducing the # of unique tokens present in the text
removing the variations of a word in the text
removing redundant information
3.1 stemming ์ด๊ฐ ์ถ์ถ#
laughing, laughed, laughs, laugh โ laugh ๋จ์ : ๊ฐ๋ ์ฌ์ ์ ์๋ ๋จ์ด๋ฅผ ๋ง๋ค ์๋ ์๋ค. ๊ทธ๋์ ์ข์ normalization์ ์๋ ์ ์๋ค. ๋ํ winning ๊ฐ์ ๊ฒฝ์ฐ ์๋์ stem์ win์ธ๋ฐ winn์ผ๋ก ๋ง๋ค ์ ์๋ค.
from nltk.stem import WordNetLemmatizer
from nltk.stem import PosterStemmer, LancasterStemmer
from nltk.tokenize import word_tokenize
lemmatizer = WordNetLemmatizer()
๋ณดํต ์ด๊ฐ ์ถ์ถ ์๋๊ฐ ํ์ ์ด ์ถ์ถ๋ณด๋ค ๋น ๋ฅด๋ค.
3.2 lemmatization ํ์ ์ด ์ถ์ถ#
Lemma ํ์ ์ด๋ โ๊ธฐ๋ณธ ์ฌ์ ํ ๋จ์ดโ ์ ๋์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ํ์ ์ด ์ถ์ถ์ ์ํด์๋ ๊ธฐ๋ณธ์ ์ผ๋ก POS(part of speech)๊ฐ ํ์ํ๋ค. ํํํ์ ํ์ฑ(morphological parsing)์ ํ๊ฒ๋๋ฉด ์ด๊ฐ(stem)๊ณผ ์ ์ฌ(affix)๋ก ๋จ์ด๋ฅผ ์ชผ๊ฐ๊ฒ ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ํตํด์ ๋ ์ด์ ์ชผ๊ฐค ์ ์๋ ๋จ์๋ก ์๋ฏธ๋ฅผ ์ชผ๊ฐ๋ ๊ฒ์ด๋ค. ์ด๋ฐ ๊ณผ์ ์ ์ํด์ ํ์ฌ ์ ๋ณด๋ฅผ ๊ณ ๋ คํ์ฌ ๋จ์ด์ ์ํ์ ์ถ์ถํ๋ ๊ฒ์ด ์๋ฏธ์ ์ผ๋ก ์ ํํ๊ณ ์ผ๊ด๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ฐ ๋์์ด ๋๋ค.
4. ๋ฌธ๋ฒ Grammer#
4.1 Constituency Grammar#
4.2 Dependency Grammar#
words of a sentence are dependent upon other words of the sentence
5. Subword Tokenizer ์๊ณ ๋ฆฌ์ฆ#
Birthplace = Birth + Place
์๋ฌด๋ฆฌ ๋ง์ด ํ์ต์์ผ๋ ๋ชจ๋ฅด๋ ๋จ์ด๊ฐ ํ์ต๊ณผ์ ์์ ๋์ค๊ธฐ ๋ง๋ จ์ด๋ค. ์ด๋ฅผ OOV(out-of-vocabulary), UNK(unknown token)์ด๋ผ๊ณ ๋งํ๋ค. OOV๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๋จ์ด๋ ๋ณดํต ๋ ์์ ๋จ์๋ก ์ชผ๊ฐ๋ฉด ์๋ 2๊ฐ๋ก ํด์๋ ์ ์๋ ํฉ์ฑ์ด, ํฌ๊ท ๋จ์ด ํน์ ์ ์กฐ์ด ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋จ์ด๋ฅผ ๋ ์ชผ๊ฐ๊ฐฐ๋ค๋ ์๋ฏธ์ด๋ค.
5.1 Byte-Pair Encoding(BPE) 1994#
aaabdaaabac โ (aa โ Z) ZabdZabac โ (ab โ Y) ZYdZYac โ (ZY โ X) XdXac
๋ฐ์ดํฐ ์์ถ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ฐ์์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ ๊ธ์์ ์์ ์ฐพ์์ ํ๋์ ๊ธ์๋ก ๋ณํฉํ๋ ๋ฐฉ์.
์์ฐ์ด ์ฒ๋ฆฌ์์ BPE๋ ๊ณง subword segmentation ์๊ณ ๋ฆฌ์ฆ์ ๋งํ๋ค. ๊ธ์ ๋จ์์์ ์ ์ฐจ์ ์ผ๋ก ๋จ์ด ์งํฉ์ ๋ง๋ค์ด๋ด๋ bottom up ๋ฐฉ์์ ์ ๊ทผ์ ํ๋ค. ์ฐ์ ํ๋ จ ๋ฐ์ดํฐ์ ์๋ ๋จ์ด๋ค์ ๋ชจ๋ ๊ธ์ ๋๋ ์ ๋์ฝ๋ ๋จ์๋ก ๋จ์ด ์งํฉ์ ๋ง๋ค๊ณ , ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ๋ ์ ๋๊ทธ๋จ์ ํ๋์ ์ ๋๊ทธ๋จ์ผ๋ก ํตํฉํ๋ค. ์ ๋ฆฌํ์๋ฉด ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ๋ฑ์ฅํ๋ ๋ฌธ์ ํน์ subword์ ์์ ์ฌ๊ท์ ์ผ๋ก ํฉ์น๋ฉฐ, ํ ์คํธ๋ฅผ ๋ถํ ํ๋ ๋ฐฉ์์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ๋ฌธ์ ๋ letter ์์ค์์ ์๋ํ๊ธฐ ๋๋ฌธ์ ๋จ์ด ๋ด์ ๋ด๋ถ ๊ตฌ์กฐ๋ ์๋ฏธ๋ฅผ ๊ณ ๋ คํ์ง ์๋๋ค.
5.2 wordpiece tokenizer โ for BERT#
bpe๊ฐ ๋น๋์์ ๊ธฐ๋ฐํ์ฌ ๊ฐ์ฅ ๋ง์ด ๋ฑ์ฅํ ์์ ๋ณํฉํ๋ ๊ฒ ๊ณผ๋ ๋ฌ๋ฆฌ, ๋ณํฉ๋์์ ๋ ์ฝํผ์ค์ ์ฐ๋ likelihood๋ฅผ ๊ฐ์ฅ ๋์ด๋ ์์ผ๋ก ๊ตฌ์ฑ. ๋ชจ๋ ๋จ์ด ์์ ๋ฅผ ๋ถ์ด๊ณ ๊ธฐ์กด์ ์๋ ๋์ด์ฐ๊ธฐ ์ถ๊ฐ. ๋๋๋ฆด๋๋ ๋์ด์ฐ๊ธฐ ๋ชจ๋ ์์ ๊ณ ๋ฅผ ๋์ด์ฐ๊ธฐํ ํ๋ฉด ๋๋ค. BPE๋ ๋น์ทํ๊ธด ํ๋ฐ, ๋จ์ด ์์ค์์ ์๋ํ๋ค๋๊ฒ ๋ค๋ฅด๋ค. BPE๊ฐ letter โ token(subword) bottom up ๋ฐฉ์์ด์๋ค๋ฉด, wordpiece๋ word โ token(subword) topdown ๋ฐฉ์์ด๋ผ๊ณ ๋ณผ ์ ์๋ค. ๋ํ ์ฐจ์ด์ ์ ๋จ์ด ๊ฒฝ๊ณ๋ฅผ ํ์ํ๋ ํน์ ํ ํฐ[CLS],[SEP]๋ฑ์ ์ฌ์ฉํ์ฌ ์๋ธ์๋๋ฅผ ์์ฑํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
5.3 SentencePiece#
์ฌ์ ํ ํฐํ ์์ (pretokenization) ์์ด ์ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ ๋ฐ์ดํฐ(raw data)์ ๋ฐ๋ก ๋จ์ด ๋ถ๋ฆฌ ํ ํฌ๋์ด์ ๋ฅผ ์ฌ์ฉํ ์ ์์. ๋จ์ด ๋ถ๋ฆฌ ํ ํฐํ ์ํ โ ์ด๋ค ์ธ์ด์๋ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅ.
6. Libraries#
spacy
c ๊ธฐ๋ฐ, ๋น ๋ฆ
๊ทธ๋ฅ ์ด๊ฑฐ ์จ๋ผ
nltk
์ธ๋ฐ์์ด ์ ํ์ง ๋ง์