gensim을 사용하고 있으므로 아마도 doc2vec 구현을 사용해야합니다. doc2vec는 word2vec를 구문, 문장 및 문서 수준으로 확장 한 것입니다. 여기에 설명 된 매우 간단한 확장입니다.
http://cs.stanford.edu/~quocle/paragraph_vector.pdf
Gensim은 직관적이고 빠르며 유연하기 때문에 훌륭합니다. 멋진 점은 공식 word2vec 페이지에서 사전 훈련 된 단어 임베딩을 가져올 수 있고 gensim의 Doc2Vec 모델의 syn0 레이어가 노출되어 이러한 고품질 벡터로 단어 임베딩을 시드 할 수 있다는 것입니다!
GoogleNews-vectors-negative300.bin.gz ( Google 코드에 링크 됨 )
저는 gensim이 벡터 공간에 문장을 삽입하는 가장 쉬운 도구라고 생각합니다.
위의 Le & Mikolov의 논문에서 제안 된 것과 다른 문장-벡터 기법이 있습니다. Stanford의 Socher와 Manning은 확실히이 분야에서 일하는 가장 유명한 연구자입니다. 그들의 작업은 구성 원칙에 기반을두고 있습니다. 문장의 의미는 다음과 같습니다.
1. semantics of the words
2. rules for how these words interact and combine into phrases
그들은 문장 수준의 표현을 구축하기 위해 구성 성을 사용하는 방법에 대해 몇 가지 그러한 모델을 제안했습니다 (갈수록 복잡 해짐).
2011- 재귀 적 오토 인코더 전개 (매우 비교적 간단합니다. 관심이 있으면 여기에서 시작)
2012- 행렬-벡터 신경망
2013- 신경 텐서 네트워크
2015- 트리 LSTM
그의 논문은 모두 socher.org에서 볼 수 있습니다. 이 모델 중 일부를 사용할 수 있지만 여전히 gensim의 doc2vec을 권장합니다. 우선 2011 URAE는 그다지 강력하지 않습니다. 또한 뉴스와 같은 데이터를 패러 프레이징하는 데 적합한 가중치로 사전 학습됩니다. 그가 제공하는 코드로는 네트워크를 재교육 할 수 없습니다. 또한 다른 단어 벡터로 바꿀 수 없으므로 Turian의 2011 년 pre-word2vec 임베딩에 갇혀 있습니다. 이러한 벡터는 확실히 word2vec 또는 GloVe 수준이 아닙니다.
아직 Tree LSTM을 사용하지 않았지만 매우 유망 해 보입니다!
tl; dr 예, gensim의 doc2vec를 사용하십시오. 그러나 다른 방법이 존재합니다!