我有一组来自几个期刊(我们称它们为期刊 A 和期刊 B)的文本文件,我试图在这些文件上运行 LDA。我将它们各自划分为自己的语料库,然后将文件名称附加到每个语料库,将来源日志存储在origin
标签下,最后将两个语料库组合成myCorpus
:
library(tm); library(topicmodels);
txtfolder <- "~/Path/to/txtfiles/"
source <- DirSource(txtfolder)
A.names <- list.files(path=txtfolder, pattern="A")
B.names <- list.files(path=txtfolder, pattern="B")
A.names <- lapply(X=A.names, FUN=function(i){gsub(".txt", '', x=i)})
B.names <- lapply(X=B.names, FUN=function(i){gsub(".txt", '', x=i)})
A.corpus <- Corpus(A.source, readerControl=list(reader=readPlain))
for (i in 1:length(A.corpus)){
meta(A.corpus[[i]], tag = "origin") <- "A"
}
B.corpus <- Corpus(B.source, readerControl=list(reader=readPlain))
for (i in 1:length(B.corpus)){
meta(B.corpus[[i]], tag = "origin") <- "B"
}
myCorpus <- c(A.corpus, B.corpus) # combining the two corpuses
从这里我运行 LDA myCorpus
:
myCorpus <- tm_map(myCorpus, PlainTextDocument)
dtm <- DocumentTermMatrix(myCorpus, control = list(minWordLength=3))
n.topics <- 5
lda.model <- LDA(dtm, n.topics)
terms(lda.model,10)
从这里我想创建一个图表来衡量随着时间的推移每个期刊的特定主题的比例(我可以通过解析 txt 文件来确定每期期刊的出版时间,并将它们存储在一个向量中类似于我对origin
标签的处理方式)。我不确定如何最好地存储这些信息,以便我可以使用发布日期作为横轴。更重要的是,如何创建我提到的图表?