一般文字探勘軟體都很貴...而且不支援中文文字探勘,因此在華人世界,R成為文字探勘者最主要的工具(畢竟免費),而且有大神在開發中文文字探勘R套件,讓R成為中文文字探勘神器。
這次遇到的問題很單純,公司有自己的POS系統,POS系統裡面有一欄開放欄位,供門市人員填入一些客戶的狀況和資料,因為各種狀況都打在同一個文字欄位內,要一一瀏覽分析根本是不可能的任務,只好動用文字探勘。
原始資料結構大概長這樣(為範例資料,非真實資料)
客戶代號 備註
001 狗1歲 貓2歲
002 貓3歲 烏龜3年
這次的分析內容100%不是原創,直接引用嘉葳大大的程式碼用R進行中文 text Mining ,再做一點小修改而已
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Revised <- read.csv(file="D:/Data/Revised/revised data2013.csv", na.string = "NA", header = T, sep = ",", quote = "\"", dec = ".", fill = T, encoding="ANSI", stringsAsFactors = FALSE ) | |
##載入檔案 | |
library(tm) | |
library(tmcn) | |
library(rJava) | |
library(Rwordseg) | |
##一些TEXT MINING必用的套件 | |
#將每個分詞切開統計次數,沒有切到"字" | |
Detail = Revised[c(16)] | |
R_corpus <- Corpus(DataframeSource(Detail,encoding="ANSI")) | |
##TEXT MINING的特殊物件格式,需要用這個來讀取要分析的文字檔案 | |
#R_corpus <- tm_map(R_corpus, segmentCN) | |
#R_Corpus1 <- Corpus(VectorSource(R_corpus)) | |
##上述兩個套件會把中文依字詞拆開來,但是今天我們的分析只是想整理一下文字檔的內容,不用切到詞彙 | |
tdm <- TermDocumentMatrix(R_corpus) | |
##到這裡就整理出將鋸子拆開來的矩陣檔 | |
#inspect(tdm[1:10,1:2]) | |
library(wordcloud) | |
#載入文字雲套件 | |
m1 <- as.matrix(tdm) | |
v <- sort(rowSums(m1),decreasing = TRUE) | |
#計算每個字詞的FREQ | |
d <- data.frame(word = names(v), freq = v) | |
#轉乘DATA FRAME的格式給文字雲套件吃 | |
wordcloud(d$word, d$freq, min.freq = 10, random.order = F, ordered.colors = F, | |
colors = rainbow(length(row.names(m1)))) | |
write.csv(d, "d.csv", row.names=F) |
如果您喜歡R的應用可以參考:
[R] 推薦系統實作(User Base)
[R] 推薦系統實作(Item Base)
[R] 到底還有什麼可以吃!!!???以社會網絡分析(Social Network Analysis)觀察地溝油事件
[R] PTT推文文化的社群網絡分析(Social Network Analysis),帶你一窺社群網絡中的互動情況
如果您喜歡Text Mining相關文章可以參考:
[R] tm package version 0.6 大解析(text mining文字探勘套件)
[Python] 自製N-Gram Analyst 文字探勘(text mining)軟體1.01a release
[Python] 土砲N-GRAM(文字探勘、文本分析工具)演算法大升級! 加入長詞優先法與斷句系統
圖片來源:http://searchuserinterfaces.com/book/sui_ch11_text_analysis_visualization.html
沒有留言:
張貼留言