윤제로의 제로베이스

NLP에서의 원-핫 인코딩(One-hot encoding) 본문

Background/Pytorch 기초

NLP에서의 원-핫 인코딩(One-hot encoding)

윤_제로 2022. 1. 19. 20:31

https://wikidocs.net/60853

 

01. NLP에서의 원-핫 인코딩(One-hot encoding)

컴퓨터 또는 기계는 문자보다는 숫자를 더 잘 처리 할 수 있습니다. 이를 위해 자연어 처리에서는 문자를 숫자로 바꾸는 여러가지 기법들이 있습니다. 원-핫 인코딩(One-ho ...

wikidocs.net

단어 집합은 서로 다른 단어들의 집합이다.

원-핫 인코딩을 위해서는 가장 먼저 단어 집합을 만들어야한다.

텍스트의 모든 단어를 중복을 허용하지 않고 모아놓으면 이를 단어 집합이라고 한다.

그리고 단어 집합의 고유한 숫자를 부여한는 정수 인코딩을 한다.

텍스트에 단어가 총 5000개 존재한다면, 1번부터 5000번까지 인덱스를 부여하게 된다.

1. 원-핫 인코딩(One-hot encoding)이란?

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

2. 원-핫 인코딩(One-hot encoding)의 한계

단어의 개수가 늘어날수록, 벡터를 저장하기 위해 필요한 공간이 계속 늘어난다는 단점이 있다.

또한 원-핫 벡터는 단어의 유사도를 표현하지 못한다.