对整个文档语料库执行LDA的频率



假设我们有一个适度增长的文档语料库,即每天都有一些新文档添加到该文档语料库中。对于这些新添加的文档,我可以通过使用LDA的推理部分来推断主题分布。我不必为了得到这些新文档的主题分布而再次对所有文档执行LDA的整个主题估计+推理过程。然而,随着时间的推移,我可能需要再次执行整个主题生成过程,因为自上次LDA执行以来新添加的文档数量可能会向文档语料库中添加全新的单词。

现在,我的问题是-如何确定两个主题生成执行之间足够好的间隔?对于我们应该多久对整个文档语料库执行一次LDA,有什么一般性建议吗?

如果我保持这个间隔很短,那么我可能会失去稳定的主题分布,主题分布将不断变化。如果我保持间隔太长,那么我可能会丢失新主题和新主题结构。

我只是在这里大声思考…一个非常简单的想法是从一堆新添加的文档(比如在一天的时间段内)中采样文档子集。

您可以从采样集中的每个文档中提取关键字,并将每个关键字作为对在添加这些新文档之前存在的集合的某个版本构建的索引的查询来执行。

然后,您可以测量响应每个查询而检索到的前K个文档的平均余弦相似度(并将它们平均到来自采样查询集的每个查询上)。如果这个平均相似度小于预定义的阈值,则可能表明新文档与现有文档不那么相似。因此,在整个集合上重新运行LDA可能是个好主意。

最新更新