LDA を実行しようとしているいくつかのジャーナル (ジャーナル A とジャーナル B としましょう) からのテキスト ファイルのグループがあります。それらをそれぞれ独自のコーパスに分割し、ファイルの名前を各コーパスに添付し、元のジャーナルをorigin
ラベルの下に保存し、最後に 2 つのコーパスを次のように結合し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
タグで行った方法と同様に)。公開された日付を横軸として使用できるように、この情報を保存する最善の方法がわかりません。さらに重要なことは、私が言及したグラフをどのように作成できますか?