主题建模:如何在R中使用已拟合的LDA模型为新数据集预测新主题?

5
我正在使用R中的“lda”软件包进行主题建模。我想使用已拟合的潜在狄利克雷分配(LDA)模型为新数据集预测新主题(文档中相关单词的集合)。在此过程中,我遇到了predictive.distribution()函数。但是该函数需要将document_sums作为输入参数,而document_sums是在拟合新模型后的结果输出。我需要帮助理解如何在新数据集上使用现有模型并预测主题。 以下是由Johnathan Chang编写的软件包文档中的示例代码:
#Fit a model
data(cora.documents)
data(cora.vocab)

K <- 10 ## Num clusters

result <- lda.collapsed.gibbs.sampler(cora.documents,K, cora.vocab,25, 0.1, 0.1) 

# Predict new words for the first two documents
predictions <-  predictive.distribution(result$document_sums[,1:2], result$topics, 0.1, 0.1)

# Use top.topic.words to show the top 5 predictions in each document.
top.topic.words(t(predictions), 5)

任何帮助将不胜感激

谢谢和问候,

Ankit


你可能想使用这种策略在SO上搜索: [r]“可重现的示例”。(我不是这个downvote的来源,但我的怀疑是,做出这样的反应的人认为问题太模糊了,无法使用编码作为终点来回答。) - IRTFM
@DWin 谢谢你的建议,但是我的疑问不在于拥有可重现的代码,而是想知道我是否可以在未拟合模型的新数据集上使用predictive.distribution()函数,如果不行,是否有办法在新数据集上使用现有模型。请原谅我在原帖中缺乏详细信息,因为我对编程和在论坛上发布我的疑问都很陌生。 - ankit sethi
问题不在于“可重复性”,而在于特定性。您的问题没有代码和示例数据。我怀疑“主题”这个术语是否只适用于LDA。您需要提供背景和构建一个与该特定性相匹配的数据集。这是一个编码网站。如果我回来时有数据和代码,我会取消我的负评。 - IRTFM
@DWin,我希望这样可以让我的问题更清晰明了。 - ankit sethi
这个问题已经在这里得到了提问和回答:https://dev59.com/g2Qo5IYBdhLWcg3wXeX5#16120518 - Ben
1个回答

2
我不知道如何在R中实现此功能,但请参考Wallach等人于2009年发表的题为“主题模型评估方法”的出版物。请在这里查看链接中的第4节,其中提到了三种计算P(z | w)的方法,一种基于重要性抽样,另外两种称为“Chib-style estimator”和“left-to-right estimator”。
Mallet实现了从左到右的估计器方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接