딥러닝/자연어처리

단어를 표현하는 방법. 원핫벡터와 워드임베딩

씩씩한 IT블로그 2020. 9. 16. 16:44
반응형

단어를 분석하기 위해선 문자를 정형데이터로 바꿔야 한다. 이때 사용하는 기법이 원핫벡터와 워드임베딩

 

1. 원핫벡터

문서에 나오는 모든 단어들(코퍼스)의 개수만큼 차원을 가지고, 해당단어만 1, 나머지는 0을 갖는 행렬로 표현

ex) 나는 강아지를 좋아한다. 

  나는 강아지를 좋아한다
나는 1 0 0
강아지를 0 1 0
좋아한다 0 0 1

나는 => [1,0,0]

강아지를 => [0,1,0]

좋아한다 => [0,0,1]

* 하지만 문서의 양이 커지고, 단어의 수가 많아지면 차원이 너무 커지는 문제점이있다. 따라서 워드 임베딩을 통해표현한다

희소표현(원핫벡터) -> 분산표현(워드임베딩)  

 

2. 워드임베딩

(1) 인풋단어 원핫인코딩

 

(2) 임베딩(첫번째 가중치 곱하기)

 

(3) 인베딩한단어(벡터)들의 평균구하기 

 

(4) 평균벡터를 두번째 가중치로 곱하기

 

(5) 활성함수 적용

 

(6) 오차만큼 back propagation

반응형