久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

文本挖掘

 枯井道人 2016-07-24

1  文本挖掘概要

文本挖掘是從大量的文本數(shù)據(jù)中抽取隱含的,,求和的,,可能有用的信息,。

通過(guò)文本挖掘?qū)崿F(xiàn)

·Associate:關(guān)聯(lián)分析,,根據(jù)同時(shí)出現(xiàn)的頻率找出關(guān)聯(lián)規(guī)則
·Cluster:將相似的文檔(詞條)進(jìn)行聚類

·Categorize:將文本劃分到預(yù)先定義的類別里

·Summarize:提取全面準(zhǔn)確反映文檔中心內(nèi)容的簡(jiǎn)單連貫描述性短文、關(guān)鍵詞,。

文本挖掘應(yīng)用:

·智能信息檢索:同義詞,,簡(jiǎn)稱詞,異形詞,,同音字,、贅字移除

·網(wǎng)絡(luò)內(nèi)容安全:內(nèi)容監(jiān)控,內(nèi)容過(guò)濾

·內(nèi)容管理:自動(dòng)分類,,檢測(cè)和追蹤

·市場(chǎng)監(jiān)測(cè):口碑監(jiān)測(cè),,競(jìng)爭(zhēng)情報(bào)系統(tǒng),市場(chǎng)分析

2 文本挖掘流程

文本處理流程首先要擁有分析的語(yǔ)料(text corpus),比如報(bào)告,、信函,、出版物等。而后根據(jù)這些語(yǔ)料建立半結(jié)構(gòu)化的文本庫(kù)(text database),。然后生成包含詞頻的結(jié)構(gòu)化的詞條-文檔矩陣(term-document matrix)

文本挖掘需要的相關(guān)包:

tm包是R語(yǔ)言中為文本挖掘提供綜合性處理的package,,進(jìn)行操作前載入tm包,vignette命令可以查看相關(guān)文檔說(shuō)明: library(tm);  vignette("tm")

tm package很多函數(shù)依賴于其它package,需將rJava, Snowball, zoo, XML, slam, Rz, Rweka,matlab這些win32 package一并下載,,并解壓到默認(rèn)的library中去,,到SUN網(wǎng)站安裝JAVA運(yùn)行環(huán)境軟件包

Java 環(huán)境安裝后執(zhí)行如下R代碼:

Sys.setenv(JAVA_HOME='C:\Program Files (x86)\Java\jdk1.7.0_15\jre')

加載如下包:

library(rJava):Java環(huán)境

library(Rwordseg) #中文分詞

library(tm):tm 包

library(Rcpp)#wordcloud相關(guān)

library(RColorBrewer)#wordcloud相關(guān)

library(wordcloud)#wordcloud相關(guān)

3 實(shí)例-R 

1、文本讀入(語(yǔ)料庫(kù)構(gòu)建)

Text Corpus: 語(yǔ)料庫(kù)代表了一系列的文檔集合,,分兩種:

·動(dòng)態(tài)語(yǔ)料庫(kù)(Volatile Corpus,,作為R 對(duì)象保存在內(nèi)存中)

 ·靜態(tài)語(yǔ)料庫(kù)(Permanent Corpus,R 外部保存),。

動(dòng)態(tài)語(yǔ)料庫(kù):Corpus(x, readerControl = list(reader = , language )

靜態(tài)語(yǔ)料庫(kù):PCorpus(x, readerControl = list(reader = , language =), dbControl = list(dbName = “”, dbType = “DB1”))

x: 資料來(lái)源,tm相關(guān)函數(shù):

               · DirSource:處理目錄, DirSource()

               · VectorSource:由文檔構(gòu)成的向量

               · DataframeSource:數(shù)據(jù)框,,像CSV 文件

readerControl:資料源創(chuàng)立的文本文件

               ·reader: 資料源的文本類型,readDOC,readPDF,readPlain,readReut21578XML 等不同的讀入方式,可用getReaders()查看所有類型

               · language:字符集(“en”,、“UTF-8”)

dbControl:靜態(tài)語(yǔ)料庫(kù)的第三種參數(shù),聲明R內(nèi)存外的資料來(lái)源(如數(shù)據(jù)庫(kù)及類型),,

實(shí)例:dir<-"C:\\test"   #文本文檔的路徑

txt<-Corpus(DirSource(dir)) #將所有路徑下的文檔讀入作為語(yǔ)料庫(kù)

2、文件預(yù)處理

#主要是tm_map函數(shù)

txt=tm_map(txt,as.PlainTextDocument)

txt=tm_map(txt,stripWhitespace)# 去除空格

txt=tm_map(txt,tolower) #將內(nèi)容轉(zhuǎn)換成小寫(xiě)

txt=tm_map(txt, removeWords, stopwords("english"))#remove stopwords

getTransformations():查看所有字符處理方式 如下:

 "as.PlainTextDocument"(剔除標(biāo)簽) "removeNumbers" (剔除數(shù)字)       "removePunctuation"(剔除標(biāo)點(diǎn)符號(hào))  "removeWords"  (剔除停用詞)        "stemDocument"        "stripWhitespace" 

 ##設(shè)置名字識(shí)別

segment.options(isNameRecognition = TRUE)

 ##中文分詞

dm<-segmentCN(as.character(txt))

dtm<-Corpus(VectorSource(dm)) #重新生成語(yǔ)料庫(kù)

3,、詞頻矩陣生成

詞頻矩陣生成:dtm<-DocumentTermMatrix(txt, control=list(dictionary=cnword, removePunctuation = TRUE, stopwords=TRUE,  wordLengths = c(1, Inf)))

Punctuation是否去掉標(biāo)點(diǎn)符號(hào)默認(rèn)false

 removeNumbers是否去掉數(shù)字默認(rèn)false

dictionary設(shè)置要統(tǒng)計(jì)的中文詞語(yǔ),,如果不設(shè)置的話,默認(rèn)會(huì)從所有的語(yǔ)料庫(kù)里統(tǒng)計(jì),。

wordLengths設(shè)置如果詞的長(zhǎng)度大于X時(shí)舍去,。

剔除稀疏詞匯:removeSparseTerms(dtm, sparse=0.9)

數(shù)據(jù)框格式轉(zhuǎn)換:df_dtm2<-as.data.frame(inspect(dtm2))

實(shí)例:

dtm2<-TermDocumentMatrix(dtm, control=list(wordLengths = c(1,5)))  #設(shè)置顯示詞的最小及最大長(zhǎng)度

dtm3<-removeSparseTerms(dtm2, sparse=0.5)

3、文本分析

##filter

query="id=='237' & heading == 'INDONESIA SEEN AT CROSSROADS OVER ECONOMIC CHANGE'" #設(shè)置查詢條件

#從中過(guò)濾出滿足query條件的文檔

tm_filter(txt, FUN=sFilter, query) #A corpus with 1 text document

##頻數(shù)分析

findFreqTerms(x, lowfreq = 0, highfreq = Inf)

 x: 語(yǔ)料庫(kù)數(shù)據(jù)文本

lowfreq :詞匯頻數(shù)下限

highfreq:詞匯頻數(shù)上限

 實(shí)例:findFreqTerms(dtm3,5) 作用于TermDocumentMatrix or DocumentTermMatrix ,,取出頻數(shù)大于等于5的詞組

##關(guān)聯(lián)分析

findAssocs(x, terms, corlimit)

 x: 語(yǔ)料庫(kù)數(shù)據(jù)文本

 terms:詞匯向量

 corlimit:相關(guān)性系數(shù)值向量,,值0~1

實(shí)例:findAssocs(dtm4,"犯規(guī)",0.5)

##云圖分析

 wordcloud(words, freq, scale = c(6, 1.5), min.freq = 2, max.words = 1000,random.order=TRUE,random.color=FALSE,rot.per=T, colors = rainbow(100),ordered_colors=FALSE)

words:關(guān)鍵詞列表

freq:關(guān)鍵詞對(duì)應(yīng)的頻數(shù)列表

scale:字號(hào)列表(c(最大,最小)

min.freq:顯示的最小詞頻

max.words:詞云圖上顯示關(guān)鍵詞的最大數(shù)目

random.order:控制關(guān)鍵詞的排列順序,,T:隨機(jī)排列,,F(xiàn):按照頻數(shù)從中心向外降序排列,頻數(shù)大的出現(xiàn)在中心位置

random.color:控制關(guān)鍵詞字體顏色,,T:隨機(jī)分配,,F(xiàn):按頻數(shù)分配

rot.per:控制關(guān)鍵詞擺放角度,T :水平,,F(xiàn):旋轉(zhuǎn)90度

colors:字體顏色列表

ordered.colors:控制字體顏色使用順序,,T:按指定順序給出顏色,F(xiàn):任意給定顏色

實(shí)例:

dtm4<-as.matrix(dtm3)

v <- sort(rowSums(dtm4),decreasing=TRUE)

d <- data.frame(word = names(v),freq=v)

wordcloud(d$words, d$freq, scale = c(6, 1.5), min.freq = 2, max.words = 1000, colors = rainbow(100))

  

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多