본문으로 바로가기

[DeepLearning] 워드투벡터 ( Word2Vec )

category 인공지능/DeepLearning 2021. 2. 25. 00:13
반응형

딥러닝에서 사용하는 워드투벡터에 대해 알아보겠습니다.

워드투벡터는 자연어를 처리할때 사용하는 방법입니다.

여러 단어가 있으면 단어 하나에 의미를 부여해줍니다.

컴퓨터는 숫자밖에 인식을 못하기 때문에 단어에 숫자를 인식해 주되, 그것을 벡터화 시켜줍니다.

이것이 바로 워드투벡터입니다.

워드투벡터는 벡터화를 시킨 단어들끼리의 연관성을 찾습니다.

벡터 간의 거리가 가까울수록 연관이 있는 단어다 라고 이해하시면됩니다.

이론적으로는 이해하기 쉽지만, 이것을 수학적으로 이해하기에는 공부를 좀 해야됩니다.

특히 수학적인 공식이 많이 나오기 때문에 깊게 들어가시려면 이런 부분에 대한 공부가 많이 필요합니다.

그런면에서는 진입장벽이 높다고 느낄 수도 있고, 제 기준에서는 상당히 어렵고, 재미가 없습니다.

저는 이론적인 부분만 설명을 할 것이고, 자세한 사항에 대해서는 다른 블로그를 참고하시기 바랍니다.

 

워드투벡터 방식은 제일 많이 알려진 2개가 있습니다.

1. CBOW

이 방식은 맥락으로부터 타겟을 예측하는 방법론입니다.

타겟이란 단어이고, 맥락은 주변의 단어입니다.

"어제 나는 (과자)를 맛있게 먹었다" 라는 문장을 예로 들어보겠습니다.

타겟을 "과자"로 설정하면, 맥락은 "나는"과 "맛있게"가 됩니다.

이런 방식으로 타겟을 예측할 수 있습니다.

구글에서 단어를 검색할때 한단어만 치더라도 추천 검색어가 자동으로 뜨게 되는데 그 알고리즘의 기반이 CBOW입니다.

여기서 window라는 용어가 나오는데 window는 맥락의 갯수라고 보시면됩니다.

위의 예제같은 경우 window는 1이 되고, window가 2라면, 맥락은 "어제 나는" 과 "맛있게 먹었다"가 됩니다.

2. Skip-gram

Skip-gram 방식은 CBOW의 반대 방식이라고 보시면됩니다.

타켓으로부터 맥락을 예측하는 방법론입니다.

"어제 나는 (과자)를 맛있게 먹었다" 라는 문장을 예로 들어보겠습니다.

과자 만으로 "어제 나는" 과 "맛있게 먹었다"를 예측하게 됩니다.

 

http://w.elnn.kr/search/

 

Korean Word2Vec

ABOUT 이곳은 단어의 효율적인 의미 추정 기법(Word2Vec 알고리즘)을 우리말에 적용해 본 실험 공간입니다. Word2Vec 알고리즘은 인공 신경망을 생성해 각각의 한국어 형태소를 1,000차원의 벡터 스페이

word2vec.kr

위의 사이트는 단어를 벡터화해서 연산을 할 수 있는 사이트입니다.

이것저것 해보면서 재미를 느껴보시기바랍니다.

이상입니다.

반응형

댓글을 달아 주세요