使用topicmodels (R)的LDA,可以通过以下步骤在保留文档标题的情况下查看不同文档属于哪些主题:
library(topicmodels)
data("AssociatedPress")
# 定义停用词
stopwords <- stopwords("en")
# 文档预处理
docs <- tm_map(AssociatedPress, content_transformer(tolower))
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, stopwords)
docs <- tm_map(docs, stemDocument)
# 创建文档-词矩阵
dtm <- DocumentTermMatrix(docs)
# 构建LDA模型
lda <- LDA(dtm, k = 10) # 假设有10个主题
# 查看文档主题分布
doc_topics <- as.data.frame(lda@gamma)
colnames(doc_topics) <- paste0("Topic", 1:10) # 假设有10个主题
doc_topics$Document <- rownames(doc_topics)
# 添加文档标题
doc_topics <- merge(doc_topics, AssociatedPress$Title, by.x = "Document", by.y = "doc_id", all.x = TRUE)
# 查看结果
head(doc_topics)
通过以上步骤,我们可以在保留文档标题的情况下,使用topicmodels (R)的LDA算法查看不同文档属于哪些主题。
领取专属 10元无门槛券
手把手带您无忧上云