LDA和主题模型

时间:2012-03-07 12:59:10

标签: algorithm model lda dirichlet

我已经研究了几周的LDA和Topic模型。但是由于我的数学能力差,我无法完全理解它的内部算法。我使用了GibbsLDA实现,输入了大量文档,并将主题数设置为100 ,我得到一个名为“final.theta”的文件,它存储每个文档中每个主题的主题比例。这个结果很好,我可以使用主题比例做很多其他事情。 但是当我在LDA上尝试Blei的C语言实现时,我只得到一个名为final.gamma的文件,但我不知道如何将此文件转换为主题比例样式。 谁能帮我。 而且我已经了解到LDA模型有很多改进版本(如CTM,HLDA),如果我能找到类似于LDA的主题模型,我的意思是当我输入大量文档时,它可以直接输出文档中的主题比例。 非常感谢你!

2 个答案:

答案 0 :(得分:1)

我认为Blei实现的问题在于您通过运行来进行变分推理:

$ lda inf [args ...]

当您想要进行主题评估时,请使用:

$ lda est [args ...]

一旦运行,当前目录或可选的last参数指定的目录中将有一个文件“final.beta”。然后运行包含在tar中的python脚本“topics.py”。自述文件:http://www.cs.princeton.edu/~blei/lda-c/readme.txt描述了所有内容,尤其是B和D部分。

(如果这仍然没有意义,请告诉我)

就CTM等方面的改进而言:我对HLDA一无所知,但我过去曾使用过LDA和CTM,我可以说两者都没有比其他更好 - 这是一个例子对不同的数据更好。 CTM假设文档是相关的,并且只要它是真的就使用该假设来改进结果。

希望这有帮助!

答案 1 :(得分:0)

要使E [θ]正常化每行内的gammas。它遵循Dirichlet分布的特性。