小编Jef*_*ery的帖子

如何使用 gensim doc2vec 训练新文本

sentences=gensim.models.doc2vec.TaggedLineDocument("raw_docs.txt")\nmodel=gensim.models.Doc2Vec(sentences,min_count=1,iter=100)\nsentence=TaggedDocument(words=[u\'\xe4\xb8\xba\xe4\xba\x86\'],tags=[u\'T1\'])\nsentences1=[sentence]\nmodel.build_vocab(sentences1,update=True)\nmodel.train(sentences1)\nprint "successful!"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想使用大数据来训练 doc2vec 模型。我想使用这个预训练模型来训练新文本。

\n\n

我只希望用预训练的模型来训练新模型。我该怎么做?上面的代码不起作用......

\n

gensim doc2vec

5
推荐指数
0
解决办法
1830
查看次数

如何在gensim.doc2vec中使用infer_vector?

def cosine(vector1,vector2):
    cosV12 = np.dot(vector1, vector2) / (linalg.norm(vector1) * linalg.norm(vector2))
    return cosV12
model=gensim.models.doc2vec.Doc2Vec.load('Model_D2V_Game')
string='?? ?? ?? ? ? ?? ? ...'
list=string.split(' ')
vector1=model.infer_vector(doc_words=list,alpha=0.1, min_alpha=0.0001,steps=5)
vector2=model.docvecs.doctag_syn0[0]
print cosine(vector2,vector1)
Run Code Online (Sandbox Code Playgroud)

-0.0232586

我使用火车数据来训练doc2vec模型.然后,我infer_vector()用来生成一个给定文档的向量,该文档在训练数据中.但他们是不同的.余弦的值是如此之小(-0.0232586)vector2doc2vec模型中保存的距离和由... vector1生成的距离infer_vector().但这不合理啊......

我发现我的错误在哪里.我应该使用'string = u'民生为了父亲我要坚强地...''而不是'string ='民生为了父亲我要坚强地......''.当我以这种方式校正时,余弦距离最大为0.889342.

python gensim doc2vec

4
推荐指数
1
解决办法
9597
查看次数

标签 统计

doc2vec ×2

gensim ×2

python ×1