0

我正在使用在线 LDA 来执行一些主题建模任务。我正在使用基于论文 Original Online LDA 论文的核心代码:Hoffman、Blei 和 Bach,“Online Learning for Latent Dirichlet Allocation”。NIPS,2010。代码可在以下网址获得:https ://github.com/blei-lab/onlineldavb 。

我正在使用一组约 167000 个文档。该代码生成 lambda 文件作为我用来生成主题的输出(https://github.com/wellecks/online_lda_python,printtopics.py)。但我不确定如何使用它来查找新测试数据的主题(类似于 gensim 中的 model.get_document_topics )。请帮助解决我的困惑。

4

2 回答 2

0

对测试数据执行相同的数据处理步骤,即标记化等,然后使用您的训练数据词汇将测试数据转换为 gensim 语料库。

一旦你有了测试语料库,就使用 LDA 来查找文档主题分布。希望这可以帮助。

于 2018-11-09T06:51:04.800 回答
0

在您已经拥有的代码中,足以做到这一点。您拥有的是 lambda(单词-主题矩阵),您想要计算的是 gamma(文档-主题矩阵)。

您需要做的就是调用OnlineLDA.do_e_step文档,结果就是主题向量。可以通过sstats从中剥离来提高性能,因为只需要更新 lambda。结果将是一个仅推断模型主题向量的函数。

您不需要更新模型,因为您没有训练它,这是update_lambda调用do_e_step.

于 2018-11-09T11:04:01.673 回答