首页 > 解决方案 > 在 Doc2Vec 模型中添加数据 ID

问题描述

拜托,你能帮帮我吗?我已经训练了一个 Doc2Vec 模型来将“关键字”输入转换为向量。我使用这些向量使用 TensorFlow 模型进行了预测。有没有办法在 Doc2Vec 模型中保留唯一 ID 以适应 TensorFlow 模型中的预测?

这是我生成和训练 Doc2Vec 模型的代码:

from gensim.models import Doc2Vec
import gensim
from gensim.models.doc2vec import TaggedDocument

def label_sentences(corpus, label_type):
    labeled = []
    for i, v in enumerate(corpus):
        label = label_type + '_' + str(i)
        labeled.append(doc2vec.TaggedDocument(str(v.split()).split(';'), [label]))
    return labeled

X_data = label_sentences(test.keywords, 'Data')
model_dbow = Doc2Vec(dm=0, vector_size=300, negative=5, min_count=1, alpha=0.065, min_alpha=0.065)
model_dbow.build_vocab([x for x in tqdm(X_data)])
%time
for epoch in range(30):
    model_dbow.train(utils.shuffle([x for x in tqdm(X_data)]), total_examples=len(X_data), epochs=1)
    model_dbow.alpha -= 0.002
    model_dbow.min_alpha = model_dbow.alpha

这是我放入 TensorFlow 模型中的向量代码:

all_data_vectors_dbow_test = get_vectors(model_dbow, len(X_data), 300, 'Data')
test = all_data_vectors_dbow_test

这是预测的代码:

test_pred = sess.run(activation_OP, feed_dict={X: test})

标签: tensorflowneural-networkvectorizationdoc2vec

解决方案


推荐阅读