雅虎LDA实施问题

时间:2011-09-11 21:09:52

标签: yahoo lda topic-modeling

所有

我在一组文档上运行Y!LDA(https://github.com/shravanmn/Yahoo_LDA),结果看起来很棒(或者至少是我期望的结果)。现在我想使用结果主题对语料库执行反向查询。有谁知道在运行learntopics可执行文件之后生成的3个人类可读文本文件是否是该库的最终输出?如果是这样,我需要解析什么才能执行查询?在这一点上,我被一个小肩膀耸了耸肩......

谢谢, 亚当

1 个答案:

答案 0 :(得分:1)

如果LDA按照我认为的方式工作(我使用java实现,所以解释可能会有所不同)那么你得到的是以下三点:

  1. P(单词,概念) - 给出一个概念的单词的概率。因此,当LDA完成确定语料库中存在哪些概念时,此P(w,c)将告诉您(理论上)哪些词映射到哪些概念。

    一种非常天真的确定概念的方法是将此文件加载到矩阵中,并将某些方法的所有可能概念的所有这些概率组合在一起(加,乘,均方根)和排序顺序概念

    请注意,上述方法无法识别LDA中由弱表示主题或主导主题引入的各种偏差。为了适应这种情况,您需要更复杂的算法(例如,Gibbs采样),但这将为您提供一些结果。

  2. P(概念,文档) - 如果您试图在语料库中找到文档中的内在概念,您可以在这里查看。您可以将这些文档用作具有特定概念分布的文档示例,并将您的文档与LDA语料库文档进行比较......有用途,但它可能没有P(w,c)那么有用。

  3. 可能与单词,文档或概念的权重相关的其他内容。这可以像一组具有β权重(对于概念)的概念示例一样简单,或者从LDA输出的一些其他变量。根据您的工作,这些可能重要也可能不重要。 (如果您尝试将文档添加到LDA空间,具有alpha或beta值 - 非常重要。)

  4. 要回答“反向查询”问题,要确定测试文档的概念,请在测试文档中为每个单词w使用P(w,c)。

    要确定哪个文档最像测试文档,请确定上述概念,然后将它们与P(c,d)中找到的每个文档的概念进行比较(将每个概念用作向量空间中的维度,然后确定两个文件之间的余弦往往可以正常工作。)

    要确定两个文档之间的相似性,与上面相同,只需确定两个概念向量之间的余弦。

    希望有所帮助。