使用LDA(主题模型):每个主题在单词上的分布是相似的并且“平坦”

问题描述 投票:6回答:1

Latent Dirichlet Allocation(LDA)是一个主题模型,用于查找一堆文档的潜在变量(主题)。我正在使用python gensim包,有两个问题:

  1. 我打印出每个主题最常用的单词(我尝试了10,20,50个主题),并发现单词的分布非常“平淡”:这意味着即使是最常用的单词也只有1%的概率......
  2. 大多数主题都是相似的:意味着每个主题的最常用单词重叠很多,并且这些主题在高频词中共享几乎相同的单词集......

我想问题可能是由于我的文档:我的文档实际上属于特定类别,例如,它们都是介绍不同在线游戏的文档。对于我的情况,LDA是否仍然有效,因为文件本身非常相似,所以基于“词袋”的模型可能不是一个好的尝试方法?

有人能给我一些建议吗?谢谢!

python lda topic-modeling gensim
1个回答
0
投票

我发现当语料库更小并且更专注于特定主题时,NMF表现更好。在大约250个文件的语料库中,所有讨论同一问题的NMF都能够提出7个不同的连贯主题。其他研究人员也报道了这一点......

“对于本文中提出的应用特别有用的另一个优点是,NMF能够识别传统LDA方法中往往报告不足的利基主题”(第6页)

Greene&Cross,使用动态主题建模方法探索欧洲议会的政治议程,PDF

不幸的是,Gensim没有实施NMF,但它是in Scikit-Learn。为了有效地工作,您需要向NMF提供一些TFIDF加权字向量,而不是像LDA那样为频率计数。

如果你已经习惯了Gensim并且已经预处理了所有这些方法,那么genesis有一些实用工具来转换语料库顶级的Scikit兼容结构。但是我认为只使用所有Scikit实际上会更简单。有一个使用NMF here的好例子。

© www.soinside.com 2019 - 2024. All rights reserved.