在gensim中将LDA拟合为LDA-C格式的语料库

时间:2015-06-12 13:15:55

标签: lda topic-modeling gensim

我试图将LDA安装到LDA-C格式的语料库中。我已经让它为HDP模型工作,但我似乎无法让它在gensim中适用于LDA。我希望得到每个文档的主题概率向量以及每个主题的单词概率分布。

这是可行的HDP模型

.dat文件具有LDA-C格式的语料库,而.vocab文件具有唯一的单词

corpus = gensim.corpora.belicorpus.BeliCorpus('ap.dat','ap.vocab')  
d = gensim.corpora.Dictionary()
d.token2id = dict(enumerate(l[:-1] for l in open('ap.vocab')))
hdp = gensim.models.HdpModel(corpus,d.token2id)
alpha, beta = hdp.hdp_to_lda()

# save topic prior
numpy.savetxt(corpus_name+'.alpha',alpha)

# save word distribution for each topic
numpy.savetxt(corpus_name+'.beta',beta)

# save topic distribution for each document in market matrix format
doc_hdp = hdp[corpus]
gensim.corpora.MmCorpus.save_corpus(corpus_name+'.mm',doc_hdp)

这是LDA的实现,我得到了正确的向量,但我似乎无法找到一个能给我前辈或单词分布/主题的函数:

corpus=gensim.corpora.bleicorpus.BleiCorpus('ap.dat','ap.vocab') 
d = gensim.corpora.Dictionary()
d.token2id = dict(enumerate(l[:-1] for l in open('ap.vocab')))
lda = gensim.models.LdaModel(corpus,num_topics=10,id2word=d.token2id)

0 个答案:

没有答案