我正在使用推文准备一个 Doc2Vec 模型。每条推文的单词数组都被视为一个单独的文档,并被标记为“SENT_1”、SENT_2”等。
标记文档 = [] 对于索引,我在枚举(cleaned_tweets): if len(i) > 2: # 非空推文 句子 = TaggedDocument(words=gensim.utils.to_unicode(i).split(), tags=[u'SENT_{:d}'.format(index)]) taggeddocs.append(句子) # 建立模型 模型 = gensim.models.Doc2Vec(taggeddocs, dm=0, alpha=0.025, size=20, min_alpha=0.025, min_count=0) 对于范围内的纪元(200): 如果纪元 % 20 == 0: print('现在训练 epoch %s' % epoch) model.train(标记文档) model.alpha -= 0.002 # 降低学习率 model.min_alpha = model.alpha # 固定学习率,没有衰减
我希望找到与给定推文类似的推文,例如“SENT_2”。如何?
我得到类似推文的标签:
sims = model.docvecs.most_similar('SENT_2') 对于标签,在模拟人生中得分: 打印(标签)
它打印为:
SENT_4372 SENT_1143 SENT_4024 SENT_4759 SENT_3497 SENT_5749 SENT_3189 SENT_1581 SENT_5127 SENT_3798
但是给定一个标签,我如何获得原始推文单词/句子?例如,“SENT_3497”的推文是什么。我可以向 Doc2Vec 模型查询这个吗?