์์ฐ์ด ์ฒ๋ฆฌ(Natural Language Processing, NLP)๋?
์์ฐ์ด๋ C,Python,Java์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ค๋ฅธ, ๋ฐ๋์ ํน์ ์ด๋ฒ์ ๋ฐ๋ฅด์ง ์๊ณ ์ฌ๋๋ค์ด ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ์ธ์ด๋ฅผ ๋งํ๋ค. ์์ฐ์ด ์ฒ๋ฆฌ๋ ์ด๋ฌํ ์์ฐ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ์ฌ ํด์ํ๊ณ ์ฒ๋ฆฌํ ์ ์๋๋ก ํด์ฃผ๋ ๊ฒ์ด๋ค. ์ฆ, ์ธ๊ฐ์ ํ
์คํธ, ์์ฑ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ๊ตฌ์กฐ์ ์๋ฏธ๋ฅผ ํ์
ํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ํน์ ์์
์ ์ํํ ์ ์๋๋ก ํ๋ ์ผ๋ จ์ ๊ณผ์ ์ด๋ค.
NLP์ ์ฃผ์ ์์ฉ ๋ถ์ผ
1.
๊ธฐ๊ณ ๋ฒ์ญ(Machine Translation): ํ ์ธ์ด์์ ๋ค๋ฅธ ์ธ์ด๋ก ํ
์คํธ๋ฅผ ์๋์ผ๋ก ๋ฒ์ญํ๋ค. ๊ตฌ๊ธ ๋ฒ์ญ(Google Translate)๊ณผ ๊ฐ์ ์๋น์ค๊ฐ ์๋ค..
2.
์์ฑ ์ธ์(Speech Recognition): ์์ฑ ๋ฐ์ดํฐ๋ฅผ ํ
์คํธ๋ก ๋ณํํ๋ค. ์๋ฅผ ๋ค์ด, ์ค๋งํธํฐ์ ์์ฑ ์ธ์ ๊ธฐ๋ฅ์ด๋ ์์ฑ ๊ธฐ๋ฐ ๊ฐ์ ๋น์(Amazon Alexa, Google Assistant ๋ฑ)๊ฐ ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ค.
3.
์์ฐ์ด ์ดํด(Natural Language Understanding, NLU): ํ
์คํธ์ ์๋ฏธ๋ฅผ ๋ถ์ํ์ฌ ์ฌ์ฉ์์ ์๋๋ ๋ฌธ๋งฅ์ ์ดํดํ๋ ๊ณผ์ ์ด๋ค. ์ด๋ฅผ ํตํด ๋ ๋ณต์กํ ์ง๋ฌธ์ ๋๋ตํ๊ฑฐ๋, ์ฌ์ฉ์์ ์๊ตฌ๋ฅผ ์ถฉ์กฑ์ํค๋ ์์
์ ์ํํ ์ ์๋ค.
4.
์์ฐ์ด ์์ฑ(Natural Language Generation, NLG): ๋ฐ์ดํฐ์์ ์ ๋ณด๋ฅผ ์ถ์ถํ๊ณ ์ด๋ฅผ ์์ฐ์ค๋ฌ์ด ์ธ์ด๋ก ํํํ๋ ๊ณผ์ ์ด๋ค. ์๋ฅผ ๋ค์ด, ์๋ ๊ธฐ์ฌ ์์ฑ, ์์ฝ ์์ฑ ๋ฑ์ ์ฌ์ฉ๋๋ค.
5.
๊ฐ์ ๋ถ์(Sentiment Analysis): ํ
์คํธ ๋ฐ์ดํฐ์์ ์ ์์ ๊ฐ์ ์ด๋ ํ๋๋ฅผ ๋ถ์ํ๋ ๊ธฐ์ ์ด๋ค. ์์
๋ฏธ๋์ด, ์ ํ ๋ฆฌ๋ทฐ ๋ฑ์์ ์ฌ์ฉ์์ ๋ฐ์์ ๋ถ์ํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ค.
6.
์ฑ๋ด(Chatbots): ์ฌ์ฉ์์ ์์ฐ์ด๋ก ๋ํ๋ฅผ ๋๋ ์ ์๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ด๋ค. ๊ณ ๊ฐ ์ง์, ์ ๋ณด ๊ฒ์ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๋ค.
NLP ๊ธฐ๋ฒ์ ์์
์์ฐ์ด ์ฒ๋ฆฌ(NLP) ๋ถ์ผ๋ ๋งค์ฐ ๊ด๋ฒ์ํ๋ฉฐ, ๋ค์ํ ๊ธฐ๋ฒ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค. ์ด๋ค์ ํ
์คํธ ๋ฐ์ดํฐ์ ์ดํด, ๋ถ์, ์์ฑ ๋ฑ์ ์ฌ์ฉ๋๋ค.
1.
ํ ํฐํ(Tokenization): ํ
์คํธ๋ฅผ ์์ ๋จ์์ธ ํ ํฐ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ณผ์ ์ด๋ค. ํ ํฐ์ ๋ณดํต ๋จ์ด, ๊ตฌ, ๋๋ ๋ฌธ์ฅ์ผ ์ ์๋ค. ํ ํฐํ๋ ํ
์คํธ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ธฐ ์ํ ์ฒซ ๋จ๊ณ๋ก, ๋ค์ ์ฒ๋ฆฌ ๋จ๊ณ์ ๊ธฐ๋ฐ์ด ๋๋ค.
2.
๋ถ์ฉ์ด ์ ๊ฑฐ(Stop word romoval): ๋ถ์ฉ์ด๋ ํ
์คํธ์์ ์์ฃผ ๋ฑ์ฅํ์ง๋ง ๋ถ์์ ์์ด์ ์ค์ง์ ์ธ ์๋ฏธ๋ฅผ ๊ฐ์ง์ง ์๋ ๋จ์ด๋ค์ ๋งํ๋ค. ๋ณดํต ๋ชจ๋ธ์ ์ฑ๋ฅ ํฅ์, ์ฒ๋ฆฌ ์๊ฐ๊ณผ ์ ์ฅ ๊ณต๊ฐ์ ์ค์ด๊ธฐ ์ํด ๋ถ์ฉ์ด๋ฅผ ์ ๊ฑฐํด์ค๋ค.
3.
ํ์ฌ ํ๊น
(Part-of-Speech Tagging): ํ
์คํธ ๋ด ๊ฐ ํ ํฐ์ ํ์ฌ(๋ช
์ฌ, ๋์ฌ, ํ์ฉ์ฌ ๋ฑ)๋ฅผ ์๋ณํ๊ณ ํ๊น
ํ๋ ๊ณผ์ ์ด๋ค. ์ด๋ ๋ฌธ์ฅ์ ๊ตฌ์กฐ์ ์๋ฏธ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ค.
4.
์ด๊ฐ ์ถ์ถ(Stemming)๊ณผ ํ์ ์ด ์ถ์ถ(Lemmatization): ์ด๊ฐ ์ถ์ถ์ ๋จ์ด์์ ์ ๋ฏธ์ฌ๋ฅผ ์ ๊ฑฐํ์ฌ ๊ธฐ๋ณธ์ ์ธ ํํ, ์ฆ '์ด๊ฐ'์ ์ฐพ๋ ๊ณผ์ ์ด๋ค. ์ด๊ฐ ์ถ์ถ์ ๋ชฉ์ ์ ๊ด๋ จ๋ ๋จ์ด๋ค์ ๋์ผํ ์ด๊ฐ์ผ๋ก ์ค์ฌ์ ํ
์คํธ์ ๋ณต์ก์ฑ์ ์ค์ด๋ ๊ฒ์ด๋ค. ํ์ ์ด ์ถ์ถ์ ๋จ์ด๋ฅผ ๊ทธ๊ฒ์ ์ฌ์ ํ ๋๋ ํ์ ์ด ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ผ๋ก ๋จ์ด์ ์๋ฏธ์ ๋ฌธ๋งฅ์ ์ดํดํ๋ ค๊ณ ํ๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๊ฐ ์ถ์ถ๋ณด๋ค ์ ํํ ๊ธฐ๋ณธ ํํ๋ฅผ ์ ๊ณตํด์ค๋ค.
5.
๊ตฌ๋ฌธ ๋ถ์(Syntactic Parsing): ๋ฌธ์ฅ์ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ์ฌ ๊ทธ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ํธ๋ฆฌ(๊ตฌ๋ฌธ ํธ๋ฆฌ)๋ฅผ ์์ฑํ๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ฅ ๋ด์์ ๋จ์ด์ ๊ตฌ์ ๊ด๊ณ๋ฅผ ์ดํดํ ์ ์๋ค.
6.
์๋ฏธ ๋ถ์(Semantic Analysis): ๋ฌธ์ฅ์ด๋ ํํ์ ์๋ฏธ๋ฅผ ์ดํดํ๊ณ ํด์ํ๋ ๊ณผ์ ์ด๋ค. ๋จ์ด๋ ๋ฌธ์ฅ์ด ์ฃผ์ด์ง ๋ฌธ๋งฅ์์ ์ด๋ค ์๋ฏธ๋ฅผ ๊ฐ์ง๋์ง๋ฅผ ๋ถ์ํ๋ค.
7.
๋จ์ด ์๋ฒ ๋ฉ(Word Embeddings): ๋จ์ด๋ฅผ ๋ฐ์ง ๋ฒกํฐ๋ก ํํํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ด ๋ฒกํฐ๋ค์ ๋จ์ด ๊ฐ์ ์๋ฏธ์ ๊ด๊ณ๋ฅผ ๋ฐ์ํ๋ค. ๋ํ์ ์ธ ์๋ก Word2Vec, GloVe ๋ฑ์ด ์๋ค.
8.
ํธ๋์คํฌ๋จธ(Transformer) ๋ชจ๋ธ: ์ดํ
์
๋ฉ์ปค๋์ฆ(Attention Mechanism)์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ชจ๋ธ๋ก, ๋ฌธ์ฅ ๋ด์ ๋ชจ๋ ๋จ์ด ๊ฐ์ ๊ด๊ณ๋ฅผ ํ ๋ฒ์ ํ์
ํ ์ ์๋ค. ์ด ๊ธฐ๋ฒ์ BERT, GPT ๊ฐ์ ์ต์ NLP ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ด ๋๋ฉฐ, ๋์ ์ดํด๋์ ๋ฌธ๋งฅ ๋ถ์ ๋ฅ๋ ฅ์ ์ ๊ณตํ๋ค.
9.
๊ฐ์ ๋ถ์(Sentiment Analysis): ํ
์คํธ ๋ฐ์ดํฐ์์ ๊ธ์ ์ , ๋ถ์ ์ , ์ค๋ฆฝ์ ๊ฐ์ ์ ์๋์ผ๋ก ๊ฐ์งํ๋ ๊ธฐ๋ฒ์ด๋ค. ์ด๋ ์๋น์ ๋ฆฌ๋ทฐ, ์์
๋ฏธ๋์ด ๊ฒ์๋ฌผ ๋ฑ์์ ์ฌ์ฉ์์ ํ๋๋ ๋ฐ์์ ๋ถ์ํ๋ ๋ฐ ํ์ฉ๋๋ค.