728x90
반응형
맥락과 타깃
- word2vec 신경망 입력은 '맥락'
- 정답 레이블은 맥락에 둘러싸인 중앙의 단어 '타깃'
말뭉치에서 맥락과 타깃을 만드는 예
말뭉치 텍스트 단어 ID로 변환 - preprocess()
import sys
sys.path.append('..')
from util import preprocess
text = 'You say goodbye I say hello.'
corpus, word_to_id, id_to_word = preprocess(text)
print(corpus)
print(id_to_word)
단어 ID의 배열인 corpus로부터 맥락과 타깃 작성하는 예
맥락과 타깃을 만드는 함수
def create_contexts_target(corpus, window_size=1):
target = corpus[window_size:-window_size]
contexts = []
for idx in range(window_size, len(corpus)-window_size):
cs = []
for t in range(-window_size, window_size + 1):
if t == 0:
continue
cs.append(corpus[idx + t])
contexts.append(cs)
return np.array(contexts), np.array(target)
contexts, target = create_contexts_target(corpus, window_size=1)
print(contexts)
print(target)
원핫 표현으로 변환
'맥락'과 '타깃' 원핫 표현 변환 예
데이터 준비 과정
import sys
sys.path.append('..')
from util import preprocess, create_contexts_target, convert_one_hot
text = 'You say goodbye I say hello.'
corpus, word_to_id, id_to_word = preprocess(text)
contexts, target = create_contexts_target(corpus, window_size=1)
vocab_size = len(word_to_id)
target = convert_one_hot(target, vocab_size)
contexts = convert_one_hot(contexts, vocab_size)
출처 : 밑바닥부터 시작하는 딥러닝2
https://www.hanbit.co.kr/store/books/look.php?p_code=B8950212853
728x90
반응형
최근댓글