我正在尝试使用Latent Dirichlet Allocation主题消除歧义和分配,我正在寻找建议.
哪个程序是"最好的",最好的是最容易使用,最佳先验估计,快速的组合
我如何结合我对话题性的直觉.假设我想我知道语料库中的某些项目实际上属于同一类别,就像同一作者的所有文章一样.我可以将其添加到分析中吗?
在登船之前我应该知道任何意想不到的陷阱或提示?
我更喜欢任何程序都有R或Python前端,但我希望(并接受)我将与C打交道.
http://mallet.cs.umass.edu/是IMHO最强大的即插即用LDA软件包..它使用Gibbs采样来估计主题,并且有一个非常简单的命令行界面,有很多额外的铃声-n-Whistles(一些更复杂的模型,超参数优化等)
最好让算法完成它的工作.可能存在LDA(和pLSI等)的变体,它们可以让你做一些半监督的事情......我现在还不知道.
我发现删除停止词和其他真正的高频词似乎提高了我的主题的质量(通过查看每个主题的顶部词,而不是任何严格的度量评估)..我猜词干/词形还原会有所帮助好.
你提到了R的偏好,你可以使用两个包topicmodels(慢)或lda(快).Python有deltaLDA,pyLDA,Gensim等.
使用指定主题或单词进行主题建模是非常棘手的,David Andrzejewski有一些似乎可以做到的Python代码.有一个C++实现监督LDA的位置.关于相关方法的大量论文(DiscLDA,Labeled LDA,但不是一个易于使用的形式,对我来说无论如何......
正如@ adi92所说,删除停用词,空格,数字,标点符号和词干都会改进很多东西.一个可能的缺陷是错误(或不适当)的主题数量.目前,对于给定大小的coprus等,有多少主题是最佳的,没有直接的诊断.MALLET (最快)有一些主题质量的测量,非常方便.