Python/NLP
워드 임베딩이란
티권
2023. 3. 20. 21:22
희소 표현(Sparse Representation)
- 벡터 또는 행렬의 값이 대부분 0으로 표현되는 방법
- 예를들어 원-핫 벡터는 희소 벡터, DTM은 희소 행렬
- 고차원에 각 차원이 분리된 표현 방법
- 문제점
- 단어의 개수가 늘어나면 벡터의 차원이 한없이 커짐
- 원-핫벡터에서는 갖고 있는 코퍼스에 단어가 10000개면 벡터 차원 10000이어야함
- 공간적 낭비
- 단어의 의미를 표현하지 못함
- 단어 벡터간 유의미한 유사성을 표현할 수 없음 -> 대안 : 분산표현
분산 표현(Distributed Representation)
- 가정 : 비슷한 문맥에서 등장하는 단어들은 비슷한 의미를 가진다.
ex) 강아지는 귀엽다, 예쁘다, 애교 등의 단어와 주로 함께 등장. 이 단어들은 유사한 벡터값을 가짐.
- 단어의 의미를 다차원 공간에 벡터화하는 방법
- 단어의 의미를 여러 저차원에다가 분산하여 표현
밀집 표현(Dense Representation)
- 벡터의 차원은 단어 집합의 크기가 아님
- 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춤
- 0고 1만 가진 값이 아니라 실수값을 가지게 됨
워드 임베딩(Word Embedding)
- 단어를 밀집 벡터의 형태로 표현하는 방법
- 이 밀집 벡터를 임베딩 벡터(embedding vector)라고 함
- 방법론
- LSA
- Word2Vec
- FastText
- Glove