用R語言畫詞雲圖(文本挖掘應用之一)>step by step

最近學文本挖掘應用,走了不少彎路,現在把其中一個學習成果拿出來分享一下,如遇高手請多多指點:

一、step by step 畫詞雲圖

#install.packages("tm")

library(tm)

#安裝tmcn包可能需要源碼安裝,安裝方法,到r-forge.r-project.org/R下載tmcn包源碼到E盤,然後在RStudio運行:install.packages("E/tmcn_0.1-4.zip")

library(tmcn)

#構建語料庫

#在"E:/Test"文件夾下新建一個txt文件,打開mp.weixin.qq.com/s?,按CTRL+A全選複製進去那個新建的txt文件,保存退出。

yuliaoku<-Corpus(DirSource("E:/Test",pattern="*.txt"),readerControl = list(language="UTF-8"))

#語料庫預處理

yuliaoku<-tm_map(yuliaoku,stripWhitespace)

#中文分詞

#install.packages("Rwordseg",repos = "http:/R-Forge.R-project.org",type = "source")

library(Rwordseg)

yuliaoku<-tm_map(yuliaoku,content_transformer(segmentCN),returnType="tm")

#篩選分詞的長度為1-5個字元,停用詞為stopwordsCN()集

control<-list(wordLengths=c(1,5),stopwords=stopwordsCN())

#分詞頻數統計

mt<-TermDocumentMatrix(yuliaoku,control = control)

#轉成向量矩陣

vmt<-as.matrix(mt)

#對分詞的頻數求和並排序

val<-sort(rowSums(vmt),decreasing = TRUE)

df<-data.frame(word=names(val),freq=val)

#畫詞雲圖

#install.packages("wordcloud")

library(wordcloud)

wordcloud(df$word,df$freq,min.freq = 3,random.order = FALSE,colors = rainbow(length(row.names(vmt))))

二、更加簡單的畫出更加好看的詞雲

#install.packages("wordcloud2")

library(wordcloud2)

letterCloud(demoFreqC, word = M) #M是26個字母之一

效果如下:

如對你有用請點個贊,僅供學習之用,如要轉載請註明出處,侵權必究!


推薦閱讀:

7款免費的詞雲可視化工具,圖表控沒有理由拒絕啊!
大數據文本挖掘告訴你,iPhone8的公關做的有多牛
【乾貨】--手把手教你完成文本情感分類
專欄文章分類及各類內容簡介
短文相似度匹配

TAG:文本數據挖掘 | R編程語言 | 文本挖掘 |