본문 바로가기
  • 데이터에 가치를 더하다, 서영석입니다.

word2vec10

[딥러닝 자연어처리] 10. (1) 워드 임베딩 ~ 7) 자모 단위 한국어 fast text 학습하기 딥러닝을 이용한 자연어처리 입문 #10. (1) 워드 임베딩 ~ 7) 자모 단위 한국어 fast text 학습하기 (1) 워드 임베딩 밀집 표현(Dense Representation) 밀집 표현은 벡터의 차원을 단어 집합의 크기로 상정하지 않음 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춤 Ex) 강아지 = [ 0 0 0 0 1 0 0 0 0 0 0 0 ... 중략 ... 0] 밀집 표현을 사용하고, 사용자가 밀집 표현의 차원을 128로 설정한다면 강아지 = [0.2 1.8 1.1 -2.1 1.1 2.8 ... 중략 ...] → 벡터의 차원이 조밀해졌다고 해서 밀집 벡터 워드 임베딩(Word Embedding) 단어를 밀집 벡터(dense vector)의 형태로 표현하는 방법을 워드 임베딩.. 2024. 1. 1.
[2022 통계청 공모전] 5. test 및 후기.. 마지막.. test padding이다. 토크나이저시키고.. tokenizer = Tokenizer() tokenizer.fit_on_texts(test) X_encoded = tokenizer.texts_to_sequences(test) 패딩시킨다... X_test = pad_sequences(X_encoded, maxlen=max_len, padding='post') 잘잘한 코드를 몇 줄 작성한 뒤, predicted에 y_pred의 argmax 다시 말해서, 최대가 되는 벡터값을 넣어주면 완료! y_pred = np.mean(pred_list,axis=0) predicted = y_pred.argmax(axis=-1) 이후 아래 그림처럼 digit_1, digit_2, digit_3이 비어있는데, 이.. 2022. 5. 16.
[2022 통계청 공모전] 4. CNN-LSTM 사용 CNN-LSTM 사용하기에 앞서 PCA를 진행해주었다. PCA 함수 생성 compute_pca 함수를 만들어, covariance 행렬을 계산 covariance matrix에서 eignvector와 eigenvalue를 계산 eigenvalue를 오름차순으로 sort highest 에서 lowest로 종렬 eigen vector를 내림차순으로 sort n개의 eigenvector를 선택 후 배열 eigenvector의 transpose를 곱하여 데이터를 변환 def compute_pca(X: np.ndarray, n_components: int=2) -> np.ndarray: X_demeaned = X - X.mean(axis=0) covariance_matrix = np.cov(X_demeaned, .. 2022. 5. 15.
[2022 통계청 공모전] 4. modeling with CNN-LSTM 임베딩까지 마친 set을 CNN-LSTM의 모델을 적용시키는 분류 분석을 진행하였다. CNN Algorithm : 차원 축소 단계를 거쳐 이미지를 분류하는 신경망 알고리즘이다. convolution layer , pooling layer , fully connected layer을 통해 feature 추출. LSTM(Long Short Term Memory) RNN에서 발전된 구조로 3개의 gate와 2개의 state가 존재한다. Forget Gate : 잊고자 하는 정도. 활성화함수 : sigmoid 함수 (출력값 : 0~1 사이) Input Gate : 새로운 입력을 받고자 하는 정도. 활성화함수 : sigmoid 함수 (출력값 : 0~1 사이) Output Gate : Cell State 중 어떤 .. 2022. 5. 11.
[2022 통계청 공모전] 3. embedding_model Embedding_model 만들기 Word2Vec 함수 사용 from gensim.models import Word2Vec embedding_okt = Word2Vec(tokenized_okt1, size=100, window = 2, min_count=50, workers=4, iter=100, sg=1) embedding 모델을 구축한다는 것은 Word2Vec의 함수를 써서 단어벡터를 만들어준다는 뜻이다. 이후 아래 코드처럼 저장해주면 임베딩된 모델이 완성되게 된다. embedding_okt.save('/emb__okt.model') 자연어처리에서 사용하는 gensim 라이브러리는 아래를 참고하면 된다. https://radimrehurek.com/gensim/ Gensim: topic modell.. 2022. 5. 9.
[2022 통계청 공모전] 2. remove stopwords (불용어 처리) check bigword split 큰 단어들을 일일이 쪼개준 뒤, 잘 쪼개져있는지 확인 후 불용어 처리를 하였다. bigword = {key: value for key, value in count.items() if len(key)>=5 and value 2022. 5. 8.