向LDA输入文件

时间:2014-10-03 01:08:11

标签: lda topic-modeling

假设我有N个文本文档,我用以下两种方式运行LDA,

  • 立即在N个文件上运行LDA
  • 分别在每个文档上运行,因此对于N个文档,您运行算法N次

我也知道要选择多少主题;在第一种情况下,我可以选择N作为主题的数量(假设每个文档是关于单个主题)但是如果我分别在每个文档上运行它,不确定如何选择主题的数量......?

这两种情况发生了什么?

2 个答案:

答案 0 :(得分:4)

Latent Dirichlet Allocation旨在为文档语料库中每个文档的主题和单词分布建模。

立即在语料库中的所有文档上运行LDA是正常的方法;在每个文档的基础上运行它不是我所听说过的。我不建议这样做。很难说会发生什么,但我不希望结果接近有用,因为你无法将一个文档/主题或主题/单词分布与另一个进行有意义的比较。

我认为您对N主题数量的选择可能过高(如果您的语料库中有数千个文档会怎样?),但这实际上取决于语料库你在建模。请记住,LDA假定文档将是主题的分布,因此可能值得重新考虑每个文档关于一个主题的假设。

答案 1 :(得分:0)

LDA是一种统计模型,用于预测或分配主题到文档,它通过在主题上分配每个文档的单词,(随机第一次)然后重复此步骤多次迭代(可能是500次迭代)直到分配给主题的单词几乎是稳定的,现在它可以根据文档中主题中概率较高的单词为文档分配N个主题。

所以在一个文档上运行它是没有意义的,因为在第一次迭代中分配给主题的单词不会因迭代而改变,因为您只使用一个文档,并且分配给文档的主题将毫无意义