我研究了几个星期的LDA和主题模型,但由于我的数学能力太差,无法完全理解其内部算法。我使用了GibbsLDA实现,输入了很多文档,并将主题编号设置为100 ,我得到了一个名为“final.theta”的文件,它存储了每个文档中每个主题的主题比例。这个结果很好,我可以使用主题比例做很多其他事情。 但是当我在LDA上尝试Blei的C语言实现时,我只得到一个名为final.gamma的文件,但我不知道如何将这个文件转换成主题比例样式。 谁能帮我。 而且我了解到LDA模型有很多改进版本(如CTM,HLDA),如果我能找到类似LDA的主题模型,我的意思是当我输入很多文档时,它可以直接输出文档中的主题比例. 非常感谢!
最佳答案
我认为 Blei 实现的问题在于您正在通过运行进行变分推理:
$ lda inf [参数...]
当您想进行主题估计时,使用:
$ lda est [参数...]
运行后,在当前目录或可选的最后一个参数指定的目录中将有一个文件“final.beta”。然后运行包含在 tar 中的 python 脚本“topics.py”。这里的自述文件:http://www.cs.princeton.edu/~blei/lda-c/readme.txt描述了这一切,尤其是 B 和 D 部分。
(如果这仍然没有意义,请告诉我)
至于 CTM 等改进:我对 HLDA 一无所知,但我过去同时使用过 LDA 和 CTM,我可以说严格来说两者都不比另一个好 - 这是一个例子对不同的数据更好。 CTM 假设文档是相关的,并使用该假设来改进结果,只要它是正确的。
希望这对您有所帮助!
关于algorithm - LDA和主题模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9601976/