计算主题建模 (LDA) 的最佳主题数

Calculating optimal number of topics for topic modeling (LDA)

我打算通过 LDA 进行主题建模。我 运行 我的命令是查看最佳主题数。输出如下: 它与我见过的任何其他图都有些不同。你觉得可以吗?或者最好使用其他算法而不是 LDA。值得一提的是,当我 运行 我的命令可视化 10 个主题的主题关键字时,情节显示 2 个主要主题,其他主题几乎有很强的重叠。是否有任何有效的一致性范围?

非常感谢分享您的评论,因为我是主题建模的初学者。

无耻的自我推销:我建议你使用OCTIS库:https://github.com/mind-Lab/octis 它允许您 运行 不同的主题模型并优化它们的超参数(也是主题的数量)以获得 select 最佳结果。

您获得这些结果的原因可能有很多。但这里有一些提示和观察:

  • 确保您已适当地预处理文本。这通常包括删除标点符号和数字,删除停用词和过于频繁或罕见的词,(可选)对文本进行词形还原。预处理取决于文本的语言和领域。
  • LDA是一个概率模型,这意味着如果你用相同的超参数重新训练它,每次都会得到不同的结果。一个好的做法是多次 运行 具有相同主题数量的模型,然后对主题连贯性进行平均。
  • 有很多主题模型,LDA 通常工作正常。主题模型的选择取决于您拥有的数据。例如,如果您正在处理推文(即短文本),我不建议使用 LDA,因为它不能很好地处理稀疏文本。
  • 检查您如何设置超参数。它们可能会对主题模型的性能产生巨大影响。
  • 一致性的范围(我假设您使用的是最著名的 NPMI)在 -1 和 1 之间,但是非常接近上下限的值非常罕见。

参考文献:https://www.aclweb.org/anthology/2021.eacl-demos.31/