在搜索计算中使用 dfm

Use dfm in searchK calcuation

在 stm 中,有 searchK() 选项可以使用如下过程找到主题建模的最佳 K 数:

library(stm)
library(quanteda)
library(ggplot2)

temp<-textProcessor(documents=gadarian$open.ended.response,metadata=gadarian)
out <- prepDocuments(temp$documents, temp$vocab, temp$meta)
documents <- out$documents
vocab <- out$vocab
meta <- out$meta
set.seed(02138)
K<-c(5,10,15)
df1 <- searchK(documents, vocab, K, data=meta)

prepDocumenets() 中的此示例使用词干提取等进行了特定的预处理。如何更改此预处理并使用此 dfm 选项来计算 searchK()?

myDfm <- gadarian$open.ended.response %>%
     tokens(remove_punct = TRUE, remove_numbers = TRUE, remove_symbols = TRUE)  %>%
     dfm()

使用 quanteda 中的 convert(x, to = "stm") 函数获取 searchK() 需要的列表。所以添加:

out <- convert(myDfm, to = "stm")

然后,上面的相同代码将起作用:

documents <- out$documents
vocab <- out$vocab
meta <- out$meta
set.seed(02138)
K <- c(5, 10, 15)
df1 <- searchK(documents, vocab, K, data = meta)