Word2Vec의 핵심 아이디어

1. word embedding

 

sequence data의 정보단위인 단어들을 특정한 공간 상의 한 점, 벡터로 표현하는 기법

 

써야 하는 이유는 위에서도 서술했지만 딥러닝 모델들이 수치를 다루니까, 단어 그대로 넣을 수 없어서 그렇다

 

word embedding은 그 자체로도 하나의 머신러닝 기술이다.

 

텍스트 데이터, 공간상 차원 등을 학습 데이터로 주고 학습 후 다른 단어의 최적의 embedding vector를 구한다.

 

모든 embedding 기법을 관통하는 핵심아이디어는

 

비슷한 의미를 가지는 단어들은 공간 상에서 비슷한 위치에 두고

 

그렇지 않은 단어들은 먼 거리에 두어 단어들의 의미 유사도를 반영한 벡터 표현을 제공하는 것이다.

 

<bag of word의 one hot vector표현의 문제점을 해결하고자 함>

 

‘cat’ 과 ‘kitty’는 의미상 비슷하므로 서로 비슷한 위치에 두고 ‘hamburger’은 의미가 전혀 다르므로 먼 거리에 두게 만든다.

 

이렇게 하니 각종 NLP 모델의 성능을 향상시켰다.

 

감정분석에서  I love this movie와 I like this movie는 embedding이 비슷할 것이므로 더욱 분류를 잘해줄것.

 

 

2. Word2Vec

 

Word2Vec은 이러한 embedding의 핵심 아이디어인

 

비슷한 의미를 가지는 단어들은 공간 상에서 비슷한 위치로 mapping되도록 만들고자 하였다.

 

비슷한 맥락에서 특정 단어의 인접한 단어들은 비슷한 의미를 가질 것이라고 생각한 것이다.

 

비슷한 위치의 단어들은 비슷한 의미를 가질 것이다. 라고 가정하는 것이다.

 

이러한 표현 방법을 분산 표현이라 한다. (distributed representation)

 

 

cat의 주변에 있는 the와 this는 cat을 꾸며주는, 의미적으로 비슷할 것이다.

 

purrs,hunts는 cat이 할만한 행동이고

 

mice는 cat이 hunt의 대상으로 cat과 관계가 있는 것

 

‘한 단어는 그 주변에 등장하는 단어들의 분포로부터 그 의미를 파악할 수 있다.’

 

‘cat’이라는 단어 주변에 등장하는 단어들의 분포로부터 그 의미를 파악한다.

 

 

위 그림 보면 바로 이해 가능할 듯

 

이러한 벡터 표현법이 바로 분산표현법

TAGS.

Comments