R 中随时间变化的动态主题 models/topic

Dynamic topic models/topic over time in R

我有一个关于1998年到2008年关于水政策的报纸文章的数据库。我想看看这期间报纸的发布情况如何变化。我的问题是,我应该使用 Dynamic Topic Modeling 还是 Topic Over Time 模型来处理这个任务?它们会比传统的 LDA 模型(我在整个文本语料库上拟合主题模型,并根据每个文档的标记方式绘制主题趋势)明显更好吗?如果是,是否有一个包可以用于 R 中的 DTA/ToT 模型?

所以这取决于你的研究问题是什么。

动态主题模型允许与给定主题最密切相关的词随时间变化。介绍该模型的论文使用日记条目 [1] 给出了一个很好的例子。如果你对个别主题的特征是否随时间变化感兴趣,那么这是正确的做法。

我以前没有处理过ToT模型,但它看起来类似于时间协变量连续的结构主题模型。这意味着主题是固定的,但它们的相对流行度和相关性可能会有所不同。如果您将您的文章按月分组,那么结构或 ToT 模型可以显示某些主题是否随着时间的推移变得更流行或更不流行。

总而言之,您希望变化发生在主题内还是主题之间?您是想研究文章在讨论的主题上有何不同,还是想研究这些文章如何构建某些主题?

就 R 而言,您会 运行 遇到一些问题。 stm 包可以处理具有离散时间段的 STM,但据我所知,没有 pre-packaged ToT 模型的实现。对于 DTM,我知道介绍性文件中有一个 C++ 实现,我有一个 python 版本,我可以为您找到。

注意:我绝不会推荐任何人将简单的 LDA 用于文本文档。我总是以相关主题模型为基础,并以此为基础进行构建。

编辑:对 stm 包进行更多解释。

这个包是结构主题模型 [2] 的一个实现。 STM 是相关主题模型 [3] 的扩展,但允许在文档级别包含协变量。然后,您可以探索主题流行度与这些协变量之间的关系。如果您包括日期的协变量,那么您可以探索各个主题相对于其他主题如何随着时间的推移变得更重要或更不重要。该软件包本身非常好,快速且直观,并且包括选择最合适的主题数量等功能。

[1] 布莱、大卫 M. 和约翰 D. 拉弗蒂。 "Dynamic topic models." 第 23 届国际机器学习会议论文集。美国计算机学会,2006.

[2] 罗伯茨、玛格丽特 E. 等人。 "Structural Topic Models for Open‐Ended Survey Responses." 美国政治学杂志 58.4 (2014): 1064-1082.

[3] Lafferty、John D. 和 David M. Blei。 "Correlated topic models." 神经信息处理系统的进展。 2006.