Я использую Gensim для обучения модели skip -gram word2vec. Набор данных содержит 1 миллион предложений, но словарь имеет размер 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. Большое спасибо за помощь.