numpy_gat/doc2vec_model.py

26 lines
820 B
Python

import gensim
import numpy as np
def sim(txt1,txt2):
# 加载已经训练好的Doc2Vec模型
model = gensim.models.doc2vec.Doc2Vec.load('doc2vec.model')
print("model loading...")
# 获取两个标签对应的向量
# inferred_vector = model.infer_vector(doc_words=test_text,alpha=0.025,steps=300)
# sims = model.docvecs.most_similar([inferred_vector],topn=10)
vector1 = model.dv[txt1 + ".txt"]
vector2 = model.dv[txt2 + ".txt"]
vector1Mod = np.sqrt(vector1.dot(vector1))
vector2Mod = np.sqrt(vector2.dot(vector2))
res = (vector1.dot(vector2)) / (vector1Mod * vector2Mod)
return res
# print(res)
# res = model.dv.most_similar("numpy_numpy24195.txt", topn=20)
# print(res)
# res = model.dv.most_similar("numpy_numpy24401.txt", topn=20)
# print(res)