分层LDA会占用所有可用内存,但永远不会完成

时间:2016-12-19 16:36:49

标签: topic-modeling mallet

我正在等待我在邮件列表上的会员资格得到确认,所以我想我会在这里问它可能会加快一些事情。

我正在撰写关于主题建模和使用LDA和HLDA的Mallet实现的硕士论文。

我处理超过400万份文档的语料库。虽然LDA( SELECT * FROM orders WHERE orderid IN ( SELECT (LEFT(orderid, 3) FROM sample));)可以很好地处理数据集,但我没有遇到任何问题,但在填满所有可用内存之前,HLDA无法再进行5-6次迭代。 (我甚至用90g RAM运行程序)。在较小的数据集(10-20k文档)上,它可以工作。

我是如何训练模型的:

ParallelTopicModel

我很乐意提供您进行问题排查所需的任何其他信息,只需发表评论并告知我们。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

hLDA是非参数模型,这意味着参数的数量随数据大小而扩展。目前无法应用最大数量的主题。您可以通过增加主题词平滑参数eta(而不是CRP参数)来最有效地限制主题数量。如果此参数较小,则模型将更喜欢创建新主题,而不是将低概率单词添加到现有主题。