Rtopicmodels
を使用して小さなコーパスから LDA モデルをトレーニングしていますが、同じコードを繰り返すたびに、異なる結果 (異なるトピックと異なるトピック用語) が得られることがわかりました。私の質問は、なぜ同じ条件と同じコーパスが毎回結果が異なりますが、結果を安定させるにはどうすればよいですか? これが私のコードです:
library(tm)
library(topicmodels)
cname<-file.path(".","corpus","train")
docs<-Corpus(DirSource(cname))
toSpace<-content_transformer(function(x,pattern) gsub(pattern,"",x))
docs<-tm_map(docs,toSpace,"/")
docs<-tm_map(docs,toSpace,"@")
docs<-tm_map(docs,toSpace,"#")
docs<-tm_map(docs,toSpace,"\\|")
docs<-tm_map(docs,toSpace,"&")
docs<-tm_map(docs,content_transformer(tolower))
docs<-tm_map(docs,removeNumbers)
docs<-tm_map(docs,removePunctuation)
docs<-tm_map(docs,removeWords,stopwords("english"))
docs<-tm_map(docs,removeWords,c("amp"))
docs<-tm_map(docs,stripWhitespace)
dtm<-DocumentTermMatrix(docs)
dtm_LDA<-LDA(dtm,5)
get_terms(dtm_LDA,10)
試してみset.seed
ましたが、うまくいかないようです。LDA モデルは、同じコーパスでトレーニングするたびに異なるトピックを生成しますが、これは Python のものです。