본문 바로가기
카테고리 없음

[논문 리뷰] Distributed Representations of Sentences and Documents

by lalakim 2023. 2. 14.

기계 학습을 하려면 인풋의 차원이 일정해야 한다.

하지만 텍스트는 제각기 길이가 다르다. 문장, 단락, 챕터, 책 한 권. 단위를 정하기가 쉽지 않다.

그래서 텍스트를 고정된 길이의 벡터로 표현하기 위한 가장 간단한 방법으로, bag-of-words 또는 bag-of-n-grams를 쓴다.

각 단어가 몇 개 있는지 세는 것이다.

하지만 자연어를 담기에는 한참 부족한 방법이다. bag-of-words는 텍스트의 순서를 고려하지 못하고, bag-of-n-grams는 data sparsity와 차원의 저주 문제를 가지고 있다.

 

서론이 길었는데 그래서 이 논문에선 단어 단위가 아니라 하나의 단락을 벡터로 표현하고자 한다.

개념은 word2vec과 비슷하다. 이전 단어들로 다음에 오는 단어를 예측하는 것이다. 다른 점은, 같은 document에 있는 단어들이라는 점을 모델에 알려주는 거다. 이에 해당하는 벡터 Paragraph id는 단어 예측 시 해당 document의 맥락 정보를 담고 있다. 이 모델의 이름을 논문에선 paragraph vector with distributed memory (PV-DM)라고 부른다.

 

다른 방식으로 doc2vec을 만들 수도 있다. document의 id 값을 인풋에 넣지 않고, 다음 단어를 예측할 때 해당 document에서 무작위 추출된 단어를 예측하도록 하는 것이다. 이 모델의 이름은 paragraph vector with distributed bag of words (PV-DBOW)이다. 

 

보통은 PV-DM 모델로도 괜찮은 성능을 내지만 두 모델을 함께 활용하면 보다 robust한 doc2vec 모델을 만들 수 있다고 한다.

 

<실험>

데이터셋: Stanford Sentiment Treebank Dataset

로튼토마토 사이트의 영화 리뷰 문장들 11,855개와 각 문장마다 긍부정 정도를 나타내는 0~1 사이 점수가 있다. 이것을 Stanford parser를 사용해 문장들을 subphrase 239,232개로 나눠놓고 마찬가지로 긍부정 점수가 있는 데이터셋도 있다.  https://nlp.stanford.edu/sentiment/ 

 

IMDB

긍부정 라벨이 달려있는 영화 리뷰 문장 데이터셋. 

 

동일한 검색어로 검색된 결과 페이지의 문장, 다른 검색어로 검색된 결과 페이지의 문장이 있는 데이터셋.

 

위 3개의 데이터셋에 대해 본 논문에서 제시한 doc2vec 모델이 가장 좋은 성능을 냈다.

doc2vec 모델이 특히 좋은 점은 문장 구조를 parsing하지 않아도 parsing을 한 다른 모델보다 성능이 좋다는 것.