본문 바로가기
AI/딥러닝

Word2Vec(Word to Vector)란 무엇일까?

by 남오공 2022. 5. 11.
728x90

Word2Vec이란?

  • 말 그대로 Word(단어)를 to(2) Vector(벡터)로 나타내는 것
  • 가장 널리 사용되고있는 *임베딩 방법중의 하나이다.
  • 특정 단어 양 옆에 있는 두 단어의 관계를 활용하기 때문에 *분포가설을 잘 반영하고 있다.
  • CBoW(Continuous Bag-of-Words) 방식과
  • Skip-gram 방식이 있으며 아래 그림으로 쉽게 차이를 볼 수 있다.
  • 두 방식에 대해 알아보기 전, 두 모델에서 등장하는 개념인 윈도우(window)를 이해해야 하는데
    단어를 중심으로 앞, 뒤에서 몇 개 의 단어를 살펴볼 것인지(어떤 문맥 단어로 둘 것인지)를 정해주는 것, 그 범위를 윈도우라고 한다.

*임베딩 : 사람이 쓰는 자연어를 기계가 이해할 수 있는 숫자인 벡터로 나타내는 결과나 과정을 의미한다. 원핫인코더의 단점을 보완 할 수 있기에 사용한다. 즉 벡터가 아닌 것을 고정 길이의 벡터로 나타내는 것

*분포 가설 : 비슷한 위치에서 등장하는 단어들은 비슷한 의미를 가지고 있다.라는 가정을 기반하여 주변 단어 분포를 기준으로 단어의 벡터 표현이 결정되기 때문에 분산표현(Distributed Representation) 이라고 부르게 되어진다.

 

 

CBoW(Continuous Bag-of-Words) 

  • CBOW는 주변 단어들의 정보를 통해 중심 단어를 예측하는 방법 이다
  • 예시
    • 우리집 강아지는 ___ 강아지
    • 학교갔다 돌아 오면 ___

Skip-gram

  • Skip-gram은 CBOW와는 반대 뒤집었다고 생각하면 된다 즉 하나의 중심 단어에서 주변 단어를 예측하는 방법이다.
  • 예시
    • ___강아지__ ___
    • 학교 __ __ ___

Word2Vec 모델의 구조

  • 입력 : 원 핫 인코딩되어진 단어 벡터이다.
  • 은닉층 : 임베딩 벡터의 차원 수 만큼의 노드로 구성된 은닉층이 1개인 신경망이다.
  • 출력층 : 단어 개수 만큼의 노드로 이루어져 있으며 활성화 함수로 *소프트맥스를 사용한다.

*소프트맥스: 

 

 

댓글