我正在研究在 python 中嵌入文本。我发现两个文档与 Doc2vec 模型的相似之处。代码如下:for doc_id in range(len(train_corpus)): inferred_vector = model.infer_vector(train_corpus[doc_id].words) # it takes each document words as a input and produce vector of each document sims = model.docvecs.most_similar([inferred_vector], topn=len(model.docvecs)) # it takes list of all document's vector as a input and compare those with the trained vectors and gives the most similarity of 1st document to other and then second to other and so on . print('Document ({}): «{}»\n'.format(doc_id, ' '.join(train_corpus[doc_id].words))) print(u'SIMILAR/DISSIMILAR DOCS PER MODEL %s:\n' % model) for label, index in [('MOST', 0), ('SECOND-MOST', 1), ('MEDIAN', len(sims)//2), ('LEAST', len(sims) - 1)]: print(u'%s %s: «%s»\n' % (label, sims[index], ' '.join(train_corpus[sims[index][0]].words)))现在,从这两个嵌入的文档中,我如何才能从这些特定文档中提取一组语义相似的单词。请帮帮我。
1 回答
www说
TA贡献1775条经验 获得超8个赞
只有某些Doc2Vec
模式也训练词向量:(dm=1
默认)或(DBOW doc-vectors,但添加了 skip-gram 词向量。如果您使用过这种模式,那么您的属性dm=0, dbow_words=1
中将会有词向量。model.wv
调用model.wv.similarity(word1, word2)
方法将为您提供任何 2 个单词的成对相似性。
因此,您可以遍历 中的所有单词doc1
,然后收集与 中的每个单词的相似度doc2
,并报告每个单词的最高相似度。
添加回答
举报
0/150
提交
取消