One-hot은 가장 간단하고 가장 일반적으로 사용되는 텍스트 기능 표현 방법입니다. 단어의 특징 표현의 관점에서 그 본질은 단어의 표현으로 단어 세트에서 단어의 아래 첨자를 직접 사용합니다.
예를 들어 다음과 같은 단어 모음이 있습니다.
【나,너,시,세상]
그런 다음 이러한 단어의 원-핫 표현은 다음과 같습니다.
- 나: [1, 0, 0, 0]
- 당신: [0, 1, 0, 0]
- 참조: [0, 0, 1, 0]
- 세계: [0, 0, 0, 1]
One-hot은 두 가지 명백한 단점이 있음을 의미합니다.
- 배열 희소성과 차원의 저주. One-hot은 단어의 첨자 위치가 1로 설정되고 다른 위치는 0으로 설정됨을 의미합니다. 실생활에서 단어 모음은 매우 커서 수천 또는 수만에 이르며 각 차원은 벡터는 단어와 동일 컬렉션의 단어 수는 일정하므로 단어는 수천 또는 수만 차원으로 표현되어야 하며 이러한 큰 차원은 후속 계산에서 많은 컴퓨팅 리소스를 필요로 합니다. 또한 벡터의 한 차원만 0이 아니므로 너무 희박합니다.
- 시맨틱이 누락되었습니다. 우리의 표현에는 단어 사이에 일정한 유사성이 있습니다. 상대적으로 낮습니다. 단어의 디지털 특징 표현으로서 단어 벡터는 단어 간의 의미론적 유사성을 유지해야 합니다. 그러나 one-hot으로 얻은 각 단어의 벡터는 다른 단어의 벡터와 직교합니다. 즉, 각 단어 간의 코사인 유사도는 0이고 각 단어 쌍 간의 유클리드 거리도 동일합니다. 따라서 이 벡터 표현은 단어 간의 유사성을 잃습니다.