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개인 신경망이다.
- 출력층 : 단어 개수 만큼의 노드로 이루어져 있으며 활성화 함수로 *소프트맥스를 사용한다.
*소프트맥스:
'AI > 딥러닝' 카테고리의 다른 글
순환 신경망(Recurrent Neural Network)이란? (0) | 2022.05.13 |
---|---|
언어 모델(Language Model),통계적 언어 모델(Statistical Language Model, SLM)이란? (0) | 2022.05.13 |
원-핫 인코딩(One-Hot Encoding) 이란? (0) | 2022.05.06 |
자연어 처리(Natural Language Processing)와 토큰화(tokenization)란? (0) | 2022.05.04 |
경사하강법(Gradient Descent)이란? (0) | 2022.04.29 |
댓글