大家好,我用R语言做文本挖掘的主题模型的时候,运行程序,程序能正常出结果,也能现在每个文本的TOP5关键字,但是关键字和文本对不上,顺序全都乱了。
举个例子,第一个文本是:在某无名湖地区连日来发生多起工人被袭事件,凶手非常神秘,从遗留下来的痕迹,以及无意中拍下的一段影像看,更像是一种从未被人类发现过的怪兽。不得已之下,人们只好求救于著名的神秘生物研究专家阿德金斯和猛兽杀手龙格尔,他们的工作很简单,追踪它,找到它,干掉它。
但是主题模型的结果,对应的关键字却是:李子、音乐、才华、管理、梦想。
我把我的程序贴出来,麻烦大家帮我看一下:
csv<-read.csv("e:/test.csv",header=T,stringsAsFactors=F)
mystopwords<-unlist(read.table("e:/StopWords.txt",stringsAsFactors=F))
library(tm)
removeNumbers<-function(x){ret=gsub("[0-9 0 1 2 3 4 5 6 7 8 9]","",x)}
wordsegment<-function(x){
library(Rwordseg)
segmentCN(x)
}
removeStopWords<-function(x,words){
ret<-character(0)
index<-1
it_max<-length(x)
while(index<=it_max){
if(length(words[words==x[index]])<1)ret<-c(ret,x[index])
index<-index+1
}
ret
}
sample.words<-lapply(csv$test,removeNumbers)
sample.words<-lapply(sample.words,wordsegment)
sample.words<-lapply(sample.words,removeStopWords,mystopwords)
corpus<-Corpus(VectorSource(sample.words))
(sample.dtm<-DocumentTermMatrix(corpus,control=list(wordLengths=c(2,5))))
k<-nrow(csv)
library(topicmodels)
SEED<-2012
sample_TM<-LDA(sample.dtm,k=k,control=list(seed=SEED))
Terms<-terms(sample_TM,5)
还希望了解的大神指点一下我哪里出了问题