我正在使用推文准备一个 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 模型查询这个吗?