r - R 中随时间变化的动态主题模型/主题

标签 r text-mining topic-modeling

<分区>

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

最佳答案

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

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

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

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

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

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

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

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

[1] Blei、David M. 和 John D. Lafferty。 “动态主题模型。”第 23 届国际机器学习 session 论文集。美国计算机学会,2006 年。

[2] 罗伯茨、玛格丽特 E. 等人。 “开放式调查响应的结构主题模型”。美国政治学杂志 58.4 (2014):1064-1082。

[3] Lafferty、John D. 和 David M. Blei。 “相关主题模型。”神经信息处理系统的进展。 2006 年。

关于r - R 中随时间变化的动态主题模型/主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47952931/

相关文章:

python - 语料库中的 Pyspark CountVectorizer 和词频

regex - R 正则表达式回顾

stop-words - 使用主题模型,我们应该如何设置一个 "stop words"列表?

r - 从列中提取模式并在 R 数据框中创建一个新模式

r - lmer(来自 R 包 lme4)如何计算对数似然?

r - 使用字典/列表来获取键列表

r - 为R中的rpart/ctree包获取预测数据集的每一行的决策树规则/路径模式

R文本文件和文本挖掘...如何加载数据

r - 在 R 中使用 LDA 对新文本进行分类

python - 使用 Mallet Perplexity 进行 Gensim 主题建模