簡單的文本可視化—詞雲

作者:王亨 公眾號:跟著菜鳥一起學R語言 (微信ID:learn_R)

配套教程:初級入門篇:R語言快速入門免費視頻教程 edu.hellobi.com/course/

「詞雲」這個概念由美國西北大學新聞學副教授、新媒體專業主任里奇·戈登(Rich Gordon)於提出,詞雲是一種可視化描繪單詞或詞語出現在文本數據中頻率的方式,它主要是由隨機分布在詞雲圖的單詞或詞語構成,出現頻率較高的單詞或詞語則會以較大的形式呈現出來,而頻率越低的單詞或詞語則會以較小的形式呈現。詞雲主要提供了一種觀察社交媒體網站上的熱門話題或搜索關鍵字的一種方式,它可以對網路文本中出現頻率較高的「關鍵詞」予以視覺上的突出,形成「關鍵詞雲層」或「關鍵詞渲染」,從而過濾掉大量的文本信息,使瀏覽網頁者只要一眼掃過文本就可以領略文本的主旨。。

在R語言的包裡面,有一個wordcloud的包,專門用來創建這種類型的圖形,它是由加州大學洛杉磯分校的專業統計學家Ian Fellows編寫的。

下面用幾句簡單的R語言即可繪製出一張詞雲。

  1. library(wordcloud)
  2. library(tm)
  3. library(NLP)
  4. getwd()
  5. sms_corpus_train<-read.csv(file="C:/Users/王亨/Documents/sms_spam.csv",stringsAsFactors=F)
  6. ##用於給TermDocumentMatrix"創建適用於"data.frame"目標對象的方法
  7. sms_corpus_train <- Corpus(VectorSource(sms_corpus_train$text))
  8. #print(sms_corpus_train)
  9. wordcloud(sms_corpus_train, min.freq=30, random.order=FALSE)

也可以給這些單詞加上顏色,我們只需在wordcloud()函數上加一個參數即可

wordcloud(sms_corpus_train, min.freq=30, random.order=FALSE,colors="blue")

我們也可以讓每個單詞顯示的單詞顯示的顏色都不同,可以加如下代碼,其中colors保存了顏色數據。

  1. colors<-c(red,blue,green,yellow,purple)
  2. wordcloud(sms_corpus_train, min.freq=30,colors=colors, random.order=FALSE)

實驗數據來自github,下載鏈接為github.com/hellowanghen

這僅僅是一個最簡單的詞雲,希望大家持續關注,趕緊把分享給你的小夥伴吧。

推薦閱讀:

為什麼液晶顯示技術如此成熟,而大部分汽車儀錶盤還是使用物理儀錶而不是液晶顯示界面?
如何使知識點可視化?
數據可視化的時候,前後端、資料庫是什麼關係。是通過什麼連接的?
如何利用excel做可視化圖表?

TAG:文本挖掘 | 可视化 | R编程语言 |