gensim doc2vec给出了不确定的结果

时间:2017-12-20 08:47:27

标签: python nlp gensim

我在gensim python库中使用Doc2Vec模型。

每当我用相同的句子数据输入模型并将参数:Doc2Vec的种子设置为固定数时,模型在建立模型后给出不同的向量。

出于测试目的,每次输入未更改的输入数据时,我都需要确定的结果。我搜索了很多,并没有找到一种方法来保持gensim的结果不变。

我使用它的方式有什么问题吗?谢谢你提前回复。

这是我的代码:

from gensim.models.doc2vec import Doc2Vec
model = Doc2Vec(sentences, dm=1, dm_concat=1, size=100, window=5, hs=0, min_count=10, seed=64)
result = model.docvecs

1 个答案:

答案 0 :(得分:1)

dm_concat=1算法在初始化和训练中都使用了随机性,高效的多线程训练引入了更多的随机性,因为多个线程中的批次不一定会以相同的顺序进行训练。运行至中运行。

如果模型训练良好,则从一次到另一次运行的结果中的抖动不应该很大,并且下游评估的质量不应该变化很大。如果结果质量确实变化很大,那么将算法应用于您的数据或培训可能存在其他问题。

另外:您几乎肯定不想使用非默认<div class="col-md-12 pdf"> <object data="./assets/ABC/abc.pdf" type="application/pdf"> alt : <a href="./assets/ABC/abc.pdf">Download File</a> </object> </div> 模式。它导致了更大,更慢的列车模型,并且没有任何明确的公开示例值得花费额外成本。 (如果我从更简单的模式获得强大的基线结果,以及大量的数据和时间,我只会尝试它。)