Gensim Mallet包装器:如何获取所有文档的主题权重?

2024-06-25 06:08:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Gensim的木槌包装器进行主题建模-

LdaMallet(path_to_mallet_binary, corpus=corpus, num_topics=100, id2word=words, workers=6, random_seed=2)

虽然上面的工作速度惊人地快,但获取每个文档(n=40000)的主题分布的步骤(见下文)需要很长时间

#Store topic distributuon for all documents
all_topics=[]
for x in tqdm(range(0, len(doc_list))):
    all_topics.append(lda_model[corpus[x]])

完成30000份文件大约需要18个小时。我不确定我做错了什么。有没有一种方法可以更快地分发所有文档的主题


Tags: topath文档主题forcorpusall建模
2条回答

事实证明,加载LdaMallet模型花费了大量时间。当我一次完成而不是一个接一个地完成时,我能够在4分钟内生成50000个主题分布(这与之前的时间相同)

语料库=[dictionary.doc2bow(preprocess(unseen_document)),用于未看见的_文档中的未看见的_文档]分布=mallet_模型[corpus]

你可以参考https://github.com/RaRe-Technologies/gensim/issues/3018

我可以通过Python的subprocess直接调用Java mallet来加快速度。文档主题分布在一个文件中,可以轻松导入到数据框中。gensim包装虽然简单,但似乎有问题

相关问题 更多 >