doc2vec是基于word2vec的,word2vec对于计算两个词语的相似度效率比较好,修改了word2vec中的cbow和skip-gram模型,paragraph vector直接得到doc向量。
使用过程
1.读取文件,os.walk()遍历文件夹
2.构建语料库,分词,过滤停用词。用gensim.models.doc2vec.TaggedDocument() 为文档打tag
3.创建model
model = Doc2Vec(size=50, min_count=1, iter=10)
model.build_vocab(corpora_documents)
model.train(corpora_documents)
4.计算相似度
inferred_vector = model.infer_vector(test_cut_raw_1)
sims = model.docvecs.most_similar([inferred_vector], topn=3)
print sims
代码参考例子:https://github.com/iamxiaomu/doc2vec
参考&#