我想从python中的两个嵌入文档中获取语义相似的单词列表

我正在研究在 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)))

现在,从这两个嵌入的文档中,我如何才能从这些特定文档中提取一组语义相似的单词。


请帮帮我。


阿波罗的战车
浏览 53回答 1
1回答

www说

只有某些Doc2Vec模式也训练词向量:(dm=1默认)或(DBOW doc-vectors,但添加了 skip-gram 词向量。如果您使用过这种模式,那么您的属性dm=0, dbow_words=1中将会有词向量。model.wv调用model.wv.similarity(word1, word2)方法将为您提供任何 2 个单词的成对相似性。因此,您可以遍历 中的所有单词doc1,然后收集与 中的每个单词的相似度doc2,并报告每个单词的最高相似度。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python