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

자연어14

[딥러닝 자연어처리] 11. 8) 사전 훈련된 워드 임베딩 ~ 09) 사전 훈련된 워드 임베딩 사용하기 딥러닝을 이용한 자연어처리 입문 #11 8) 사전 훈련된 워드 임베딩 ~ 09) 사전 훈련된 워드 임베딩 (Pre-Trained Word Embedding) 사용하기 08) 사전 훈련된 워드 임베딩 (Pre-trained Word Embedding) 1. 케라스 임베딩 층 (Keras Embedding Layer) 케라스 : 훈련 데이터의 단어들에 대해 워드 임베딩을 수행하는 도구 Embedding() 제공 Embedding() : 인공 신경망 구조 관점에서 임베딩 층 구현 1) 임베딩 층은 룩업 테이블이다. 어떤 단어 → 단어에 부여된 고유한 정수값 → 임베딩 층 통과 → 밀집 벡터 ex) 영단어 : great 임베딩 차원 : 4로 설정 great은 정수 인코딩 과정에서 1,918의 정수로 인코딩 되었.. 2024. 1. 2.
[딥러닝 자연어처리] 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.
[딥러닝 자연어처리] 8-6. (08) 케라스의 함수형 API - (10)다층 퍼셉트론으로 텍스트 분류하기 딥러닝을 이용한 자연어처리 입문 #8-6. (08) 케라스의 함수형 API(Keras Functional API) - (10)다층 퍼셉트론으로 텍스트 분류하기 08) 케라스의 함수형 API(Keras Functional API) Sequential API는 복잡한 모델을 만드는데 한계가 있음 functional API는 입력의 크기(shape)를 명시한 입력층(Input layer)을 모델의 앞단에 정의 1.전결합 피드 포워드 신경망(Fully-connected FFNN) from tensorflow.keras.layers import Input, Dense from tensorflow.keras.models import Model inputs = Input(shape=(10,)) #10개의 입력을 받는.. 2023. 12. 22.
[딥러닝 자연어처리] 8-3. (4) 딥러닝의 학습 방법 딥러닝을 이용한 자연어처리 입문 # 8-3. 4) 딥러닝의 학습 방법 1. 손실 함수 실제값, 예측값의 차이를 수치화해주는 함수. 오차와 손실 함수의 값은 비례 회귀 = MSE, 분류 = 크로스 엔트로피를 주로 이용. 1 ) MSE 연속형 변수를 이용할 때 이용 model.compile(optimizer='adam', loss='mse', metrics=['mse']) #loss에 문자열 mse을 써주면 돼. model.compile(optimizer='adam', loss=tf.keras.losses.MeanSquaredError(), metrics=['mse']) #이런 식으로 표현도 ok. #하지만 딥러닝 자연어 자체가 일반적으로 분류 문제이기 때문에 MSE보단 Cross-entropy를 더 많게 .. 2023. 12. 18.
[딥러닝 자연어처리] 4. 카운트 기반의 단어 표현 딥러닝을 이용한 자연어처리 입문 #4. 카운트 기반의 단어 표현 1. 다양한 단어의 표현 방법 1. 단어의 표현 방법 국소 표현 - 단어 자체만 보고, 특정값을 맴핑해 단어 표현하는 방법 분산 표현 - 주변을 참고해서 단어 표현하는 방법 ex) puppy, cute, lovely란 단어가 있을 때, 숫자를 mapping → 국소 표현 방법 ↔ 분산 표현 방법 = 단어 표현 위해 주변 단어 참고 puppy란 단어 근처에 cute, lovely가 나오게 되면 → puppy를 이런 단어로 정의하도록 분산 표현은 단어의 뉘앙스를 이해, 표현하도록 함 국소 표현 ⇒ 이산 표현, 분산 표현 ⇒ 연속 표현 (분리 방법과 관련있음) 2. 단어 표현의 카테고리화 뒤에 나오는 Bag of Words ⇒ 국소 표현에 속해... 2023. 12. 5.
[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.