【发布时间】:2013-06-29 14:27:12
【问题描述】:
我是 LDA 的新生,我想在我的工作中使用它。但是,也出现了一些问题。
为了得到最好的表现,我想估计最好的主题数。看了《寻找科学话题》,我知道可以先计算logP(w|z),然后用一系列P(w|z)的调和平均来估计P(w|T)。
我的问题是“一系列”是什么意思?
【问题讨论】:
标签: nlp data-mining lda
我是 LDA 的新生,我想在我的工作中使用它。但是,也出现了一些问题。
为了得到最好的表现,我想估计最好的主题数。看了《寻找科学话题》,我知道可以先计算logP(w|z),然后用一系列P(w|z)的调和平均来估计P(w|T)。
我的问题是“一系列”是什么意思?
【问题讨论】:
标签: nlp data-mining lda
很遗憾,没有硬科学可以为您的问题提供正确答案。据我所知,hierarchical dirichlet process (HDP) 很可能是获得最佳主题数量的最佳方式。
如果您正在寻找更深入的分析,this paper on HDP 报告了 HDP 在确定组数方面的优势。
【讨论】:
【讨论】:
首先有些人使用调和平均值来寻找最佳主题数,我也尝试过,但结果并不令人满意。所以根据我的建议,如果你使用 R,那么包“ldatuning”将很有用。它有四个指标用于计算最佳参数数量。同样,基于困惑和对数似然的 V 折交叉验证也是最佳主题建模的非常好的选择。V 折交叉验证对于大型数据集来说有点耗时。您可以看到“A heuristic approach to determine a proper no.of topic在主题建模中”。 重要链接: https://cran.r-project.org/web/packages/ldatuning/vignettes/topics.html https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4597325/
【讨论】:
设 k = 主题数
没有单一的最佳方法,我什至不确定是否有任何标准做法。
方法一: 尝试不同的 k 值,选择可能性最大的那个。
方法二: 代替LDA,看看能不能用HDP-LDA
方法三: 如果 HDP-LDA 在您的语料库上不可行(因为语料库大小),则对您的语料库进行统一采样并在其上运行 HDP-LDA,取 HDP-LDA 给出的 k 值。对于这个 k 附近的小区间,请使用方法 1。
【讨论】:
由于我正在解决同样的问题,我只想添加 Wang 等人提出的方法。 (2019) 在他们的论文“Optimization of Topic Recognition Model for News Texts Based on LDA”中。除了提供良好的概述外,他们还提出了一种新方法。首先训练一个 word2vec 模型(例如使用 word2vec 包),然后应用能够找到密度峰值的聚类算法(例如来自 densityClust 包),然后使用找到的聚类数作为主题数LDA 算法。
如果时间允许,我会试试这个。我也想知道 word2vec 模型是否可以让 LDA 过时。
【讨论】: