728x90
고양이
[0, 0, 0, 0, 0, 0, 1, 0, 0 ... 0]
희소 표현(Sparse Representation)
희소 표현으로 단어를 표현하는 방법?
단어를 표현할 때 모든 단어의 개수로 벡터의 차원을 설정하여 표현하고자 하는 단어의 인덱스 부분만 1을 주고 나머지는 0으로 채우는 방법이다.
예를 들어, 10,000개의 단어가 있는 언어 모델에서 각 단어를 나타내기 위해 10,000차원의 벡터를 사용한다면, 대부분의 단어 벡터는 0으로 채워진다. 이러한 방식은 메모리와 계산 시간을 많이 필요로 한다.
이미지의 경우 흑백 픽셀 값의 행렬로 표현할 때 대부분의 픽셀 값이 0에 가까운 경우가 많다. 이 경우 희소 표현을 사용하면 실제로 중요한 정보를 담고 있는 픽셀들만 표현하여 데이터를 효율적으로 압축하고 처리할 수 있다.
.
고양이
[0.2, 0.5, 0.3, 0.5, 0.9, 1.2 ... 0.8]
밀집 표현(dense representation)
한편, 희소 표현과 반대되는 표현으로 밀집 표현(dense representation)이 있다. 밀집 표현은 벡터의 차원을 단어 집합의 크기로 정하는 것이 아니라 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춘다. 값은 0과 1이 아닌 실수값을 가지게 된다.
예를 들어, 10,000개의 단어가 있는 언어 모델에서 각 단어를 나타내기 위해 300차원의 벡터를 사용한다면, 대부분의 단어 벡터는 0이 아닌 실수 값으로 채워진다. 이러한 방식은 희소 표현과 달리 메모리와 계산 시간을 적게 필요로 한다.
728x90
'자연어 처리(NLP) 공부' 카테고리의 다른 글
[NLP 스터디] Topic Modeling (1) | 2023.05.10 |
---|---|
[NLP 스터디] FastText, *서브워드 (0) | 2023.05.10 |
[NLP 스터디] 임베딩, Word2Vec (0) | 2023.05.08 |
[NLP 스터디] BoW(Bag of Words), TF-IDF (0) | 2023.05.03 |
[NLP 스터디] Language Model, N-gram (0) | 2023.05.01 |