rueki

워드 임베딩 본문

DL/NLP

워드 임베딩

륵기 2019. 7. 4. 09:06
728x90
반응형

본 문은 https://wikidocs.net/33520 를 참고해서 작성한 글입니다.

 

Word Embedding은 텍스트를 구성하는 하나의 단어를 수치화하는 방법이다.

즉, 단어를 벡터로 표현한다고 생각하면 될 것이다.

희소 표현에서 밀집 표현으로 변환하는데 희소 표현과 밀집 표현을 먼저 알아보자

 


희소 표현(Sparse Representation) 

희소 벡터의 예는 원-핫 인코딩을 통한 벡터이다.

원-핫 벡터는 표현하고자 하는 단어의 인덱스를 1, 그 외에는 전부 0으로 표현했는데

여기서 문제는, 단어의 개수가 늘어나면 벡터의 차원은 끝없이 커진다는 것이다.

단어 갯수 10000개 중에 원하는 단어의 인덱스가 5라고 하면,

[0, 0, 0, 0, 1, 0, 0 ....., 0, 0] 이 되는데 찾는 단어 뒤에 0이 약 9990개 정도 있다.

이는 공간적 낭비를 일으킨다고 볼 수 있다.

 


밀집 표현(Dense Representation)

벡터의 차원을 단어 집합의 크기로 상정하지 않고, 사용자가 설정한 값으로 모든 단어의 벡터 표현의 차원을 맞춘다.

그리고 값도 0과 1로만 구성되지 않고 실수값을 가지게 된다.

벡터의 차원을 설정하면서 모든 단어의 벡터 표현은 설정값으로 바뀌고, 실수가 된다.

[0.2 1.8 1.1 -2.1 1.1 2.8 ... 중략 ...]


 

단어를 밀집 벡터로 표현하는 것을 워드 임베딩(Word Embedding)이라고 하며, 

이에 대한 결과를 임베딩 벡터라고 한다.

 

728x90
반응형
Comments