Word2Vec
- Article History
- RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
https://www.analyticsvidhya.com/blog/2021/07/word2vec-for-word-embeddings-a-beginners-guide/
임베딩(Embedding)이란 텍스트나 이미지같은 비정형 고차원 데이터를 원래 데이터의 잠재적인 정보를 보존한 채 저차원의 공간으로 매핑하는 방법 또는 결과물이라고 합니다.
즉, 수치 데이터가 아닌 텍스트, 이미지 데이터를 수치데이터로 변환하는 방식을 의미합니다.
위 데이터에서 King[6,4] 이라는 위치 좌표를 가지고 있습니다. 이 외에도 Man은 [3,2] , woman 은 [4,3] 라는 위치 좌표를 가지고 있을 때, Queen 은 다음과 같은 위치 좌표를 가지고 있습니다.
King[6,4] - Man[3,2] + woman[4,3] = Queen [7,5]
■ Word2Vec 학습방법
먼저, Word2Vec은 Distributional Hypothesis(분포 가설)을 가정합니다.
비슷한 위치에서 등장하는 단어들은 비슷한 의미를 가진다라는 의미입니다.
Ex1) 나는 고양이를 좋아한다.
Ex2) 나는 개를 좋아한다.
위 2개의 단어에서 고양이와 개는 문장 내에서 비슷한 위치에 있다라는 가정입니다.
이러한 분포가설로 시작해서 CBOW 와 Skip-gram이라는 학습방법을 사용합니다.
-
CBOW(Continuous Bag of Words): 주변 단어들로 타겟 단어를 예측해 더 빠른 속도로 학습합니다.
빠른 속도로 학습하는 이유는 입력이 들어오면 look-up table 형태로 임베딩을 조회하기 때문입니다.
Look-up table이란 입력값과 출력값으로 구성된 테이블로 계산 대신 미리 저장된 값을 참조하여 결과를 얻을 수 있습니다. 비슷한 상품과 연관 컨텐츠 등을 추천하는데 탁월하기 때문에 뉴스추천이나 상품명/상품후기 활용 추천에 자주 활용합니다.
-
Skip-Gram: 타켓 단어(중심단어)로 주변의 단어들을 예측해 희소 단어 표현에 강점을 보인다라는 특징이 있습니다. 작동방식은 다음과 같습니다.
1. 문장에서 중심 단어를 선택
2. 중심 단어를 입력값으로 사용하고 주변 단어를 출력값으로 설정