我有一些预先训练的word2vec模型,我想使用相同的语料库对其进行评估。给定模型转储文件和内存中的语料库,有什么办法可以使我得到原始训练损失?
答案 0 :(得分:0)
gensim的Word2Vec
(及相关模型)的培训损失报告是一项新功能,尚未完全满足大多数人的期望。
例如,至少通过gensim 3.7.1(2019年1月),您可以检索自上次调用train()
之后的总损失(跨越多个时期)。某些pending changes可能最终会改变这一点。
只有在创建模型时通过compute_loss
参数请求时,才进行损耗统计。因此,如果模型最初未配置此设置,则其中不会包含有关先前训练的损失数据。
您可能会篡改已加载的模型w2v_model.compute_loss = False
,以便进一步调用train()
(使用相同或新数据)将收集丢失数据。但是,请注意,此类培训还将针对当前数据更新模型。
您还可以查看score()
方法,该方法可用于某些模型模式,该方法报告批次新文本的损失相关编号,无需即可更改模型。从本质上讲,它可以用作评估新文本是否“看起来像”原始培训数据的一种方式。有关更多信息,请参见方法文档,包括指向激励性学术论文和示例笔记本的链接:
https://radimrehurek.com/gensim/models/word2vec.html#gensim.models.word2vec.Word2Vec.score