본문 바로가기
AI/NLP

Word Embedding

by lucian 2021. 11. 22.

1. 희소 표현(Sparse Representation)

희소표현은 대부분 0으로 표현되는 방법이다.
대표적인 예로 원-핫 벡터가 있다.
예를 들어 원-핫 벡터로 표현된다 하면 'hi, my name is gildong.'의 hi는 [1,0,0,0,0]이 된다. my는 [0,1,0,0,0]이 된다.
이처럼 단어가 길어지면 길어질수록 차원이 한없이 커진다는 단점을 가지고 있다. 즉 문장의 단어가 만개면 차원도 만개가 된다. 또한 한개의 단어에만 1을 표시하고 나머지 단어는 0을 표시하므로 메모리의 불필요함이 증가된다.

또한 원-핫 벡터는 단어의 의미를 담지 못한다고 한다. 그저 단어를 자르고 그 위치 기준으로 1을 표시하기 때문이다.
즉 단어간의 유사도를 계산할 수 없다. 

 

2. 밀집 표현(Dense Representation)

이런 희소표현의 반대인 밀집 표현이 있다. 단어의 수를 가지고 차원을 만들어내는 희소표현과 달리 밀집표현은 사용자가 정한 차원의 수에 맞춘 실수값으로 표현된다.
만약 내가 'hi, my name is gildong.'의 hi를 표현한다면 벡터의 차원을 5로 두고 어떤 연산을 통해 [2.2, 1.0, 0.4, 1.7, 0.1]이 된다. 이러면 불필요하게 차원의 수가 증대되는 일을 방지할 수 있다.
또한 이렇게 된다면 단어간의 유사도를 계산할 수 있게 된다.

 

 

Word Embedding은 단어를 밀집 표현으로 밀집 벡터로 변환한 것이다.

그리고 이 결과를 임베딩 벡터라고 표현한다. 또한 이 임베딩 벡터는 인공신경망의 가중치를 학습시켜 준다.

워드 임베딩은 다양한 방법들이 존재하는데 LSA, Word2Vec, FastText, Glove 등이 있다고 한다.


'AI > NLP' 카테고리의 다른 글

Word2Vec  (0) 2021.11.22
자연어처리-추가예정  (0) 2021.11.22

댓글