我正在使用Gensim来训练一个跳过语法的word2vec模型。数据集有100万个句子,但词汇量为200个。我想了解迭代过程中模型的准确性,因此我在回调函数中使用了model.wv.similar_by_word
来查看得分。但是返回的值并未在迭代中进行更新。
iter
被设置为100
。
我试图更改window
和size
的值,但是没有效果。
该模型已通过回调初始化:
Word2Vec(self.train_corpus,workers=multiprocessing.cpu_count(),compute_loss=True,callbacks=[A_CallBack],**word2vec_params)
在A_CallBack
班上,我有这样的事情:
def on_epoch_end(self,model):
word,score = model.wv.similar_by_word(word='target_word',topn=1)[0]
print(word,score)
每个时期都打印出word
和score
,但是值从未改变。
我期望它们的值可以在迭代过程中更新,这应该有意义吗?
我是机器学习和word2vec的新手。非常感谢您的帮助。