원핫 인코딩을 그대로 사용하면 벡터의 길이가 너무 길어진다.
ex) 1만 개의 단어 토큰으로 이루어진 말뭉치를 다룬다고 할 때, 이 데이터를 원핫인코딩으로 벡터화하면 9,999의 0과 하나의 1로 이루어진 단어 벡터를 1만 개나 만들어야 한다.
공간적 낭비를 해결하기 위한 방법을 알아보자
3. 단어 임베딩
단어 임베딩(word embedding)
: 주어진 배열을 정해진 길이로 압축시킨다.
각 단어 간의 유사도를 계산한다.
ex) tiger, dolphin / sad, bad / cat, dog / good, happy => 각 배열을 새로운 수치로 바꾸어줌
from tensorflow.keras.layers import Embedding
model = Sequential()
model.add(Embedding(16, 4))
=> 입력될 총 단어의 수 = 16, 임베딩 후 출력되는 벡터 크기 = 4
Embedding(16, 4, input_length=2) : 총 입력되는 단어 수는 16개이지만 매번 두 개씩만 넣겠다.
<1. 텍스트토큰화>
자연어 처리를 위한 텍스트 전처리 - 1. 텍스트의 토큰화
자연어 : 우리가 평소에 말하는 음성이나 텍스트를 의미한다. 자연어 처리(Natural Language Processing, NLP) : 음성이나 텍스트를 컴퓨터가 인식하고 처리하는 것이다. 자연어 처리를 위한 텍스트 전처
oaho.tistory.com
<2. 원핫인코딩>
자연어 처리를 위한 텍스트 전처리 - 2. 원-핫 인코딩
단어의 문장의 다른 요소와 어떤 관계를 가지고 있는지 알아보는 방법이 필요하다. 2. 원-핫 인코딩 : 각 단어를 모두 0으로 바꾸어 주고 원하는 단어만 1로 바꾸어 주는 것 1. 토큰화 함수를 불러
oaho.tistory.com
'AI > DeepLearning' 카테고리의 다른 글
딥러닝_다중 분류 , 선형 회귀, 로지스틱 회귀에 따른 activation, loss 설정 (0) | 2023.04.11 |
---|---|
자연어 처리를 위한 텍스트 전처리 - 2. 원-핫 인코딩 (0) | 2023.04.02 |
자연어 처리를 위한 텍스트 전처리 - 1. 텍스트의 토큰화 (0) | 2023.04.01 |
이미지들을 배열 데이터셋으로 만들기 (0) | 2023.03.31 |
CNN을 이용한 MNIST 데이터셋 모델링 과정 (0) | 2023.03.17 |