๐ฟ Data/์ด๋ชจ์ ๋ชจ
[๋ฅ๋ฌ๋, NLP] ๋ค์ํ ํ ์คํธ ์ ์ฒ๋ฆฌ ๋ฐฉ๋ฒ
1. ํ ์คํธ ์ ์ฒ๋ฆฌ 1-1. ๋จ์ ํ ํฐํ exam = ["I want to be a superman. Sometimes, I imagine that i have a super power and fly to the sky without anything. Someone says 'it's not possible', but i trust myself.", "I feel better than anytime."] import spacy from spacy.tokenizer import Tokenizer nlp = spacy.load("en_core_web_sm") tok = Tokenizer(nlp.vocab) exam_token = [] for doc in tok.pipe(exam): do..
[๋ฅ๋ฌ๋, NLP] Transformer(Positional encoding, Attention)
Positional Encoding RNN๊ณผ ๋ฌ๋ฆฌ Transformer๋ ๋ชจ๋ ํ ํฐ์ด ํ๋ฒ์ ์ ๋ ฅ๋๊ธฐ ๋๋ฌธ์ recursive๋ฅผ ํตํ ๋จ์ด ๊ฐ ์์น, ์์ ์ ๋ณด๋ฅผ ๋ด์ ์ ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ์ ์ด์ input ์ ํ ํฐ์ ์์น์ ๋ํ ์ ๋ณด๋ฅผ ๋ง๋ค์ด ํ ํฐ์ ํฌํจ์ํค๋ ์์ ์ ํ๊ฒ ๋๋๋ฐ ์ด ๊ณผ์ ์ด Positional Encoding ์ ๋๋ค. Self-Attention Attention : ๋์ฝ๋์์ ์ถ๋ ฅ ๋จ์ด๋ฅผ ์์ธกํ๋ ๋งค ์์ (time step)๋ง๋ค, ์ธ์ฝ๋์์์ ์ ์ฒด ์ ๋ ฅ ๋ฌธ์ฅ์ ์ฐธ๊ณ ํ๋ ๋ฐฉ๋ฒ. ์ด ๋, ์ ์ฒด ์ ๋ ฅ๋๋ ๋ฌธ์ฅ์ ํ ํฐ์ ๋์ผํ ๋น์ค์ผ๋ก ์ฐธ๊ณ ํ๋ ๊ฒ์ด ์๋, ํด๋น ์์ ์ ์์ธกํ ๋จ์ด์ ์ฐ๊ด์ฑ์ด ๋์ ์ ๋ ฅ ํ ํฐ์ ๋ ๋น์ค์๊ฒ ์ง์ค(attention)ํด์ ๋ณด๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฌธ์ฅ ๋ด์์์ ํ ..
[๋ฅ๋ฌ๋, NLP] RNN, LSTM, GRU
RNN(Recurrent Neural Network) ์ ๋ ฅ์ธต -> ์๋์ธต -> ์ถ๋ ฅ์ธต์ ๊ตฌ์กฐ๋ง์ ๊ฐ๋ ์ ๊ฒฝ๋ง์ ํผ๋ ํฌ์๋ ์ ๊ฒฝ๋ง์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฐ๋ฉด ์ํ ์ ๊ฒฝ๋ง(RNN)์ ์๋์ธต์์ ๋์จ ๊ฐ์ ์ถ๋ ฅ์ธต์ผ๋ก ๋ณด๋ด๋ฉด์ ๋์์ ๋ค์ ์๋์ธต ๋ ธ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ค์ ๊ณ์ฐ์ ์ํ ์ ๋ ฅ์ผ๋ก ๋ณด๋ด๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค.RNN ๊ตฌ์กฐ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ๋ชจ๋ RNN ๊ตฌ์กฐ๋ฅผ ํํํ ๊ทธ๋ฆผ์ ๋๋ค. ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ ๊ธฐ์ค์ผ๋ก 3๋ฒ์งธ ์ (์ฐ๋์ ๋ค๋ชจ)๋ ์ด์ x2์ ์ํ ๊ฒฐ๊ณผ๊ฐ๊ณผ ์๋ก์ด input์ธ x3๋ฅผ ํจ๊ป ๋ฐ์ y3์ ์ถ๋ ฅ๊ฐ์ ๋ด๋๊ฒ ๋ฉ๋๋ค. ์ฆ, RNN์ t ์์ ์์ x_t์ ์ ๋ ฅ๊ฐ์ ๋ํ ์ถ๋ ฅ๊ฐ y_t๋ฅผ ๊ณ์ฐํ ๋, ์ด์ ์์ (t-1)์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ํจ๊ป ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฐ์ ๋ฐ์ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ๋ ์ด์ ๋ ์์ฐ์ด, ์๊ณ..
[๋ฅ๋ฌ๋, NLP] ๋ถํฌ ๊ฐ์ค, Word2Vec
๋ถํฌ ๊ฐ์ค(Distributed Representation) ํ์ ๊ธฐ๋ฐ์ด ์๋, ๋จ์ด์ ๋ถํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํํํ๋ ๋ถํฌ๊ธฐ๋ฐ ๋จ์ดํํ์ ๋ฐฐ๊ฒฝ์ด ๋๋ ๊ฐ์ค ๋น์ทํ ์์น์ ๋ฑ์ฅํ๋ ๋จ์ด๋ค์ ๋น์ทํ ์๋ฏธ๋ฅผ ์ง๋๋ค.๋ ๊ฐ์ค์ ๋๋ค. Word2Vec ๋ง๊ทธ๋๋ก ๋จ์ด๋ฅผ ๋ฒกํฐํํ๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ์ํซ์ธ์ฝ๋ฉ๊ณผ๋ ๋ค๋ฅธ ๋ถ์ฐ ํํ ๋ฐฉ๋ฒ์ ๋๋ค. ์ํซ์ธ์ฝ๋ฉ์ ๋จ์ด ๋ฒกํฐ์ ์ฐจ์์ด ๋จ์ด ์งํฉ์ ํฌ๊ธฐ๊ฐ ๋๋ฉฐ, ํด๋นํ์ง ์๋ ์ด์๋ ์ ๋ถ 0 ๊ฐ์ผ๋ก ํฌ์ํ๋ค๋ฉด, Word2Vec์ ๋น๊ต์ ์ ์ฐจ์์ ๋จ์ด์ ์๋ฏธ๋ฅผ ๋ถ์ฐํ์ฌ ํํํ๊ฒ ๋ฉ๋๋ค. ์ฃผ๋ณ ๋จ์ด๋ฅผ input์ผ๋ก ์ค์ฌ ๋จ์ด๋ฅผ ์์ธกํ๋ CBoW ๋ฐฉ๋ฒ๊ณผ ์ค์ฌ ๋จ์ด๋ฅผ input์ผ๋ก ์ฃผ๋ณ ๋จ์ด๋ฅผ ์์ธกํ๋ Skip-gram ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
[๋ฅ๋ฌ๋, NLP] ๋ถ์ฉ์ด, ์ถ์ถ, BoW/TF-IDF
๋ถ์ฉ์ด(Stop words) ์์ฃผ ๋ฑ์ฅํ์ง๋ง ์์ฐ์ด๋ฅผ ๋ถ์ํ๋ ๊ฒ์ ์์ด ํฐ ๋์์ด ๋์ง ์๋ ๋จ์ด ๊ฐ๊ณ ์๋ ๋ง๋ญ์น ๋ฐ์ดํฐ์์ ์ต๋ํ ์ ์๋ฏธํ ๋จ์ด(ํ ํฐ)๋ฅผ ์ ๋ณํ๊ธฐ ์ํด ๋ถ์ฉ์ด๋ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. I, he, her, ์กฐ์ฌ, ์ ๋ฏธ์ฌ ๊ฐ์ ๋จ์ด๋ค์ด ๋๋ถ๋ถ ๋ถ์ฉ์ด๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ์ด๊ฐ ์ถ์ถ(Stemming) ๋ง๋ญ์น ๋ฐ์ดํฐ์์ ๋จ์ด๋ฅผ ์ค์ผ ์ ์๋ ์ ๊ทํ ๋ฐฉ๋ฒ ์ค ํ๋ ๋จ์ด์์ ๊ฐ๋ ์ ์๋ฏธ๋ฅผ ๊ฐ๋ ์ด๊ฐ๋ง ์ถ์ถํ๋ ๋ฐฉ๋ฒ ex) analysis๊ณผ analytic -> ๋ ๋ค ๋ถ์์ ์๋ฏธ๋ฅผ ๊ฐ๊ณ ์์ผ๋ฏ๋ก analy๋ก ์ค์ผ ์ ์์ต๋๋ค. ์์์ ๊ฐ์ด ์ด๊ฐ๋ง ์ถ์ถํ๋ค๋ณด๋ ์ฌ์ ์ ์๋ ๋จ์ด๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค. ํ์ ์ด ์ถ์ถ(Lemmatization) ๋ง์ฐฌ๊ฐ์ง๋ก ๋ง๋ญ์น ๋ฐ์ดํฐ์์ ๋จ์ด๋ฅผ ์ค์ผ ์ ์๋ ์ ๊ทํ ๋ฐฉ๋ฒ ์ค..