๋จ์ด๋ฅผ ์๋ฒ ๋ฉํ๋๋ฐ ์์ด ๊ฐ์ฅ ์์ด์ ์ธ ๋ฐฉ๋ฒ
๋จ์ด ์งํฉ์ ํฌ๊ธฐ๊ฐ ์ฐจ์์ด ๋๋ค.
[the, cat, sat, on, the, mat] 5๊ฐ์ง ๋จ์ด๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์ฅ์ 3์ฐจ์์ ๋ฒกํฐ๋ฅผ ๊ฐ์ง๋ค.
from konlpy.tag import Komoran
import numpy as np
komoran = Komoran()
text = "์ค๋ ๋ ์จ๋ ๊ตฌ๋ฆ์ด ๋ง์์"
nouns = komoran.nouns(text)
print(nouns)
dics = {}
for word in nouns:
if word not in dics.keys():
dics[word] = len(dics) #0, 1, 2
print(dics)
#one-hot-encoding
nb_classes = len(dics)
targets = list(dics.values())
one_hot_targets = np.eye(nb_classes)[targets]
print(one_hot_targets)
ํ์ง๋ง ์-ํซ-์ธ์ฝ๋ฉ์ ํฌ์ ํ๋ ฌ๋ก ์ฌ์ ์ ํฌ๊ธฐ๊ฐ ์ปค์ง ์๋ก ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น, ๊ณ์ฐ ๋ญ๋น๊ฐ ์ฌํ๋ค.
๋ํ ํ ํฐ ๋จ์ด์ ๊ทธ ์ฃผ๋ณ์ ๋จ์ด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ์ง ๋ชปํ๋ค.
์ด๋ฌํ ๋จ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋จ์ด์ ์ ์ฌ ์๋ฏธ๋ฅผ ๋ฐ์ํ์ฌ ๋ค์ฐจ์ ๊ณต๊ฐ์ ๋ฒกํฐํ ํ๋ ๊ธฐ๋ฒ์ผ๋ก ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋ค.
์ฒซ์งธ๋ ์นด์ดํธ ๊ธฐ๋ฐ์ ๋ฒกํฐํ ๋ฐฉ๋ฒ์ธ LSA(์ ์ฌ ์๋ฏธ ๋ถ์), HAL ๋ฑ์ด ์์ผ๋ฉฐ,
๋์งธ๋ ์์ธก ๊ธฐ๋ฐ์ผ๋ก ๋ฒกํฐํํ๋ NNLM, RNNLM, Word2Vec, FastText ๋ฑ์ด ์๋ค.
๊ทธ๋ฆฌ๊ณ ์นด์ดํธ ๊ธฐ๋ฐ๊ณผ ์์ธก ๊ธฐ๋ฐ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ชจ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก GloVe๋ผ๋ ๋ฐฉ๋ฒ์ด ์กด์ฌํ๋ค.
์ฐธ๊ณ ๋ฌธํ :
'NLP ๐ฃ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
seq2seq(sequence to sequence), attention (0) | 2022.01.25 |
---|
๋๊ธ