主题模型中的动态主题数

时间:2016-11-16 16:41:03

标签: nlp lda gensim topic-modeling

我是主题建模的新手。 我的目标是从文档中找到关键主题。我打算用lda来达到目的。但是在lda中,主题的数量应该被预定义。我相信如果来自其他领域的文档不在训练语料库中,它将不会给出正确的结果。有没有替代解决方案?我的想法是否正确?

1 个答案:

答案 0 :(得分:3)

学习这些主题的两个好选择是Latent Dirichlet Allocation(LDA)和Hierarchical Dirichlet Process(HDP)主题模型。

对于LDA,主题K的数量是固定的,并假设提前知道。快速推理算法,例如在scikitgensim中实现的在线变分贝叶斯(VB)算法,可以对非常大的数据集(例如纽约时报或维基百科)进行培训。通过大型语料库和设置的培训高,我们可以避免过度拟合的问题,并从样本文档中学习有意义的主题。对于LDA,交叉验证通常用于通过评估不同主题数量的困惑来设置K,并选择K来最小化困惑。

或者,HDP主题模型(在gensim中实现)自动从数据中学习主题的数量。通过设置浓度参数和截断水平,模型可以推断出主题的数量。高效的推理算法,如HDP的在线变分推理,可以对大量数据集进行培训,并发现有意义的主题。

相关问题