def convertldaMalletToldaGen(mallet_model): model_gensim = LdaModel(id2word=mallet_model.id2word, num_topics=mallet_model.num_topics, alpha=mallet_model.alpha) model_gensim.state.sstats[...] = mallet_model.wordtopics model_gensim.sync_state() return model_gensim
def malletmodel2ldamodel(mallet_model, gamma_threshold=0.001, iterations=50): """Convert :class:`~gensim.models.wrappers.ldamallet.LdaMallet` to :class:`~gensim.models.ldamodel.LdaModel`. This works by copying the training model weights (alpha, beta...) from a trained mallet model into the gensim model. Parameters ---------- mallet_model : :class:`~gensim.models.wrappers.ldamallet.LdaMallet` Trained Mallet model gamma_threshold : float, optional To be used for inference in the new LdaModel. iterations : int, optional Number of iterations to be used for inference in the new LdaModel. Returns ------- :class:`~gensim.models.ldamodel.LdaModel` Gensim native LDA. """ model_gensim = LdaModel( id2word=mallet_model.id2word, num_topics=mallet_model.num_topics, alpha=mallet_model.alpha, eta=0, iterations=iterations, gamma_threshold=gamma_threshold, dtype=numpy. float64 # don't loose precision when converting from MALLET ) model_gensim.state.sstats[...] = mallet_model.wordtopics model_gensim.sync_state() return model_gensim
def ldaMalletConvertToldaGen(mallet_model): model_gensim = LdaModel(id2word=mallet_model.id2word, num_topics=mallet_model.num_topics, alpha=mallet_model.alpha, eta=0, iterations=1000, gamma_threshold=0.001, dtype=np.float32) model_gensim.state.sstats[...] = mallet_model.wordtopics model_gensim.sync_state() return model_gensim