본문 바로가기
Tensorflow/RNN

[Tensorflow] [RNN] [두 번째 이야기] 원 핫 인코딩(one_hot_encoding 이란?)

by 설화님 2024. 1. 15.

원 핫 인코딩(one_hot_encoding 이란?)

 

원 - 핫 인코딩은 단어집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식.

 

두가지 과정으로 정리

1) 정수 인코딩 수행 

 - 각 단어에 고유한 정수를 부여

2) 표현하고 싶은 단어의 고유한 정수를 인덱스로 간주하고, 해당 위치에 1을 부여하고, 다른 단어의 인덱스의 위치에는 0을 부여.

 

ex) 나는 자연어 처리를 배운다

 

['나', '는', '자연어', '처리', '를', '배운다']

 

각 토큰에 대해서 고유한 정수를 부여.

문장이 짧 떄는 빈도수를 고려하지 않지만, 빈도수 순으로 단어를 정렬하여 정수를 부여하는 경우가 많다.

 

단어집합 :  {'나' : 0, '는' : 1, '자연어' : 2, '처리' : 3, '를' : 4, '배운다' : 5}

 

그리고 자연어라는 단어의 원 핫 벡터

[0,0,1,0,0,0]

자연어는 정수 2이므로 인덱스 2의 값이 1, 나머지 값은 0인 벡터가 나온다.