본문 바로가기
NLP

비정형 데이터 - Doc2Vec

by 볼록티 2019. 12. 19.
728x90
반응형

앞에서 Word2Vec에 대해서 알아 보았다. 이 Word2Vec이 단어에 대한 임베딩이라고 한다면 이번에는 문서에 대한 임베딩하는 법을 알아봅니다. Word2Vec의 확장이라고 할 수 있다. 

 크게 달라진건 없다. 다만 아래의 그림에서 빨간 빡스에서 보여지는 것처럼 Document id와 word가 같은 임베딩 공간에 있게 하기위해서 가상의 단어, 즉 "Doc#5"를 만들어 주고, Word2Vec을 학습하는 것이 되겠다.

 

문장 혹은 문서에 대해서도 continuous representations로 학습하는 unsupervised 방법이다. 

- Distributed memory model of paragraph vector (PV-DM)

- Distributed bag of words version of paragraph vector (PV-DBOW)

- word2vec의 장점을 그대로 가져감.

- Bag of words에 비해 단어 순서를 고려하고 low-dimensional vector를 생성한다는 장점( 워드투벡의 장점이랑 똑같습니닷)

 

 

 

Word2vec에서  다루는 skip-gram이나 Cbow처럼 두가지 모델 버전이 있다. 

좌측의 것은 Document id로 모든 단어를 예측하는 Softmax regression을 학습하는 것이고,

우측의 경우는 Document id를 단어처럼 취급해서 the, cat, sat 다음의 올 단어를 예측하는 Softmax regression을 학습하는 것이다.

 

 

 

아래의 그림처럼 Doc2Vec은 한 문서에 등장한 단어들(cat, pet, sit)의 방향으로 document id vector를 위치시키게 학습하는 것이다 !

 

 

 

Doc2Vec 결과 예시.

 

 

 

 

서울과기대 이영훈 교수님 강의를 필기했음을 명시합니다.

728x90
반응형

'NLP' 카테고리의 다른 글

BertSum 뉴스 추출 요약 모델  (0) 2022.09.15
트위터 데이터 수집 (a.k.a twitterscraper)  (0) 2020.02.05
비정형 데이터 - LDA  (0) 2019.12.16
비정형 데이터 - GloVe  (0) 2019.12.16
비정형 데이터 - Word2Vec  (0) 2019.12.16

댓글