【发布时间】:2020-03-18 20:05:04
【问题描述】:
有什么方法可以将生成的主题从 LDA 映射到文档列表并确定它属于哪个主题?我对使用无监督学习对文档进行聚类并将其分离成适当的聚类感兴趣。
例如,在运行具有最佳超参数的 LDA 模型后,我有 10 个主题。因此,它应该返回一些已经用预先训练的 LDA 模型定义的主题,以及用户输入的新句子或文档。
我在等你们好的解决方案。 :)
附言。我正在使用 Gensim 进行自然语言处理。
【问题讨论】:
有什么方法可以将生成的主题从 LDA 映射到文档列表并确定它属于哪个主题?我对使用无监督学习对文档进行聚类并将其分离成适当的聚类感兴趣。
例如,在运行具有最佳超参数的 LDA 模型后,我有 10 个主题。因此,它应该返回一些已经用预先训练的 LDA 模型定义的主题,以及用户输入的新句子或文档。
我在等你们好的解决方案。 :)
附言。我正在使用 Gensim 进行自然语言处理。
【问题讨论】:
使用 Quanteda 您可以通过以下方式实现此目的
dtm <- convert(dfmat_news, to = "topicmodels")
lda <- LDA(dtm, k = 10). #10 topics in this case
然后你可以使用命令topics()获取最有可能的主题并将它们保存为文档级变量。
docvars(dfmat_news, 'topic') <- topics(lda)
head(topics(lda), 20)
教程在这里:https://tutorials.quanteda.io/machine-learning/topicmodel/
希望它清晰有用:)
【讨论】: