所有,
我一直在一组文档上运行Y!LDA(https://github.com/shravanmn/Yahoo_LDA),结果看起来不错(或至少达到我的期望)。现在,我想使用产生的主题对语料库执行反向查询。有人知道该learntopics可执行文件运行后生成的3个人类可读文本文件是否是该库的最终输出?如果是这样,那是我执行查询需要解析的内容吗?这时我的肩膀有点耸耸肩。
谢谢,
亚当
最佳答案
如果LDA以我认为的方式工作(我使用Java实现,因此解释可能有所不同),那么您得到的是以下三点:
确定概念的一种非常幼稚的方法是将文件加载到矩阵中,然后以某种方法(加,乘,均方根)对测试文档的所有可能概念组合所有这些概率,并对概念进行排名。
请注意,上述方法无法识别由LDA中表现不佳的主题或主导主题引起的各种偏差。为了适应这种情况,您需要更复杂的算法(例如,Gibbs采样),但这会为您带来一些结果。
要回答“反向查找”问题,以确定测试文档的概念,请对测试文档中的每个单词w使用P(w,c)。
要确定哪个文档与测试文档最相似,请确定上述概念,然后将它们与在P(c,d)中找到的每个文档的概念进行比较(使用每个概念作为向量空间中的维,然后确定余弦这两个文件之间的链接就可以正常工作)。
要确定两个文档之间的相似性,与上面相同,只需确定两个概念向量之间的余弦。
希望能有所帮助。
关于yahoo - 雅虎! LDA实现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7381272/