AI/DeepLearning

자연어 처리를 위한 텍스트 전처리 - 3. 단어 임베딩

oaho 2023. 4. 2. 00:51
반응형

원핫 인코딩을 그대로 사용하면 벡터의 길이가 너무 길어진다.

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

 

반응형