当前位置:天才代写 > tutorial > 其他教程 > 操作R语言的tm包举办文本挖掘

操作R语言的tm包举办文本挖掘

2017-12-04 08:00 星期一 所属: 其他教程 浏览:472

tm包是R语言中为文本挖掘提供综合性处理惩罚的package,举办操纵前载入tm包,vignette呼吁可以让你获得相关的文档说明

library(tm)
vignette(“tm”)

首先要读取文本,本次操纵所用的文本是tm包自带的20个XML名目文本,存放在library\tm\texxts\crude文件夹中。用Corpus呼吁读取文本并生成语料库文件


reut21578 <- system.file(“texts”, “crude”, package = “tm”)
reuters <- Corpus(DirSource(reut21578), readerControl = list(reader = readReut21578XML))

下一步用tm_map呼吁对语料库文件举办预处理惩罚,将其转为纯文本并去除多余空格,转换小写,去除常用词汇、归并异形同意词汇

reuters <- tm_map(reuters, as.PlainTextDocument)
reuters <- tm_map(reuters, stripWhitespace)
reuters <- tm_map(reuters, tolower)
reuters <- tm_map(reuters, removeWords, stopwords(“english”))
tm_map(reuters, stemDocument)

操作DocumentTermMatrix将处理惩罚后的语料库举办断字处理惩罚,生成词频权重矩阵

dtm <- DocumentTermMatrix(reuters)

部门矩阵内容可通过inspect来调查

inspect(dtm[1:5, 100:105])

Docs abdul-aziz ability able abroad, abu accept
127 0 0 0 0 0 0
144 0 2 0 0 0 0
191 0 0 0 0 0 0
194 0 0 0 0 0 0
211 0 0 0 0 0 0

假如需要考查多个文档中特有词汇的呈现频率,可以手工生成字典,并将它作为生成矩阵的参数

(d <- Dictionary(c(“prices”, “crude”, “oil”)))
inspect(DocumentTermMatrix(reuters, list(dictionary = d)))

因为生成的矩阵是一个稀疏矩阵,再举办降维处理惩罚,之后转为尺度数据框名目

dtm2 <- removeSparseTerms(dtm, sparse=0.95)
data <- as.data.frame(inspect(dtm2))

再之后就可以操作R语言中任何东西加以研究了,下面用条理聚类试试看
先举办尺度化处理惩罚,再生成间隔矩阵,再用条理聚类

data.scale <- scale(data)
d <- dist(data.scale, method = “euclidean”)
fit <- hclust(d, method=”ward”)

绘制聚类图
plot(fit)
可以看到在20个文档中,489号和502号聚成一类,与其它文档区别较大。

 

    关键字:

天才代写-代写联系方式