问题:为什么文本挖掘数据的聚类树形图模糊/杂乱(参见下图链接)?
概要:我首先从Mongo数据库中收集了约5500个电子扫描文章的原始数据,并作为Json对象保存在磁盘驱动器中(此处未显示ode,使用Cran Mongolite软件包为R收集)。这里显示的是标准文本处理(使用Cran TM包)来清理“the”,“and”,“ing”,“;”,“:”等。这导致随后的层次聚类,看起来模糊/ MESSY,因为Json对象中的一些单词是字母的非常长的组合而不是可以单独识别的真实单词。
调用两个库
library("tm")
library ("SnowballC")
创建数据路径和文本语料库
cname <- file.path("C:", "texts")
docs <- Corpus(DirSource(cname))
处理文本
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removeWords, stopwords("english"))
docs <- tm_map(docs, stripWhitespace)
docs <- tm_map(docs, stemDocument)
tdm <- TermDocumentMatrix(docs)
第三种是通过树状图进行聚类
d<-dist(tdm,method = "euclidean")
hc<-hclust(d, method="ward.D2")
library("rafalib")
myplclust(hc, labels=hc$labels)
答案 0 :(得分:0)
答案是减少频繁的单词,不仅仅是我已经完成的标准停用词(请参阅下面的代码中我如何剪切它们)
mystopwords <- findFreqTerms(tdm, 1, 20)
mystpwrds <- paste(mystopwords, collapse = "|")
tdm <- tdm[tdm$dimnames$Terms[!grepl(mystpwrds,tdm$dimnames$Terms)],]
整个图片和代码发布在这里: