R語言學(xué)習(xí)系列1文本分詞_第1頁
R語言學(xué)習(xí)系列1文本分詞_第2頁
R語言學(xué)習(xí)系列1文本分詞_第3頁
R語言學(xué)習(xí)系列1文本分詞_第4頁
R語言學(xué)習(xí)系列1文本分詞_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

12.文本分詞文本分詞,就是對文本進行合理的分割,從而可以比較快捷地獲取關(guān)鍵信息。例如,電商平臺要想了解更多消費者的心聲,就需要對消費者的文本評論數(shù)據(jù)進行內(nèi)在信息的數(shù)據(jù)挖掘分析,而文本分詞是文本挖掘的重要步驟。R語言中,對中文分詞支持較好的包有RWordseg包和jiebaR包。一、配置Java環(huán)境步驟1.下載JDK安裝包/technetwork/java/javase/downloads/index.html點JavaDownload圖標進入下載界面(JavaSEDevelopmentKit);點AcceptLicenseAgreement,接受許可協(xié)議,選擇對應(yīng)系統(tǒng)的版本下載,比如Windowsx64步驟2.安裝JDK安裝路徑(可修改),比如D:\ProgramFiles\Java\jdk1.8.0_101特別注意:第2次出現(xiàn)選擇路徑時,是選擇jre的安裝路徑,一定不要和前面jdk同一個路徑,建議也在放在Java目錄下,單放在jre文件夾,比如D:\ProgramFiles\Java\jre1.8.0_101否則將有問題。步驟3.配置環(huán)境變量右鍵計算機->屬性->高級系統(tǒng)設(shè)置->環(huán)境變量,在“環(huán)境變量”窗口“系統(tǒng)變量”區(qū)域操作:⑴【新建…】,變量名輸入:JAVA_HOME變量值輸入JDK安裝路徑:D:\ProgramFiles\Java\jdk1.8.0_101【確定】(2)雙擊Path,在變量值框末尾加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin【確定】(3)【新建...】,變量名輸入:CLASSPATH變量值輸入:%JAVA_HOME%lib\dt.jar;%JAVA_HOME%\lib\tools.jar【確定】步驟4.測試是否配置成功運行。cmd,回車,輸入java-version回車,顯示版本號等信息;輸入javac-version回車,也顯示版本號,如下圖所示,則表示配置成功二、RWordseg包.先安裝rJava包(正常命令安裝即可).安裝Rwordseg包命令安裝:install.packages("Rwordseg",repos="http://R-Forge.R-")注意:該網(wǎng)址很可能不能正常打開。建議采用本地安裝:下載Rwordseg.zip包,R操作界面,程序包->InstallPackage(s)fromlocalfiles…,找到Rwordseg.zip文件,確定安裝即可,測試下圖則表示安裝成功:>library(Rwordseg)載入需要的程輯包:rJava4versior:0.2-1.Rwordseg包常用函數(shù)insertWords(x,save=TRUE)向詞庫導(dǎo)入新詞匯x,save=TRUE保存新詞匯,下次啟動仍可用;deletewords(x)從詞庫中刪除詞匯xgetOption("isNameRecognition")查看人名識別功能的狀態(tài),結(jié)果為TRUE表明能夠識別;segment.options("isNameRecognition"=TRUE)設(shè)置人名識別功能的狀態(tài);installDict(dictpath=詞典路徑,dictname="自定義詞典名稱",dicttype=c("text","scel"),load=TRUE)添加用戶自定義的詞典;dicttype指定安裝詞典的類型,text為普通文本格式,scel為搜狗細胞詞庫;load設(shè)置安裝后是否自動加載到內(nèi)存,默認為TRUE;listDict() 查看已安裝詞典;uninstallDict(removedict=listDict()$Name,remove=TRUE)卸載用戶自定義的詞典,removedict指定要卸載的詞典名稱;remove指定是否立即清除詞典中的詞語;segmentCN(x,nature=TRUE,nosymbol=TRUE)實現(xiàn)中文分詞,nature設(shè)置是否輸出詞性,默認不輸出;nosymbol默認為TURE,表示不輸出標點,只有漢字、英文、數(shù)字。注意:目前的詞性識別和標點識別容易出錯,只作為參考。.實例>library(rJava)>library(Rwordseg)>segmentCN("雷克薩斯品牌")#導(dǎo)入詞匯前的分詞[1]"雷",克",薩",斯",品牌">insertwords(c("雷克薩斯"))#導(dǎo)入詞匯>segmentCN("雷克薩斯品牌")#導(dǎo)入詞匯后的分詞[1]"雷克薩斯""品牌">deletewords(c("雷克薩斯"))#刪除詞匯>installDict(dictpath="E:/辦公資料/R語言/文本分詞包/汽車詞匯大全.scel”,dictname="qiche")#安裝自定義的詞典2388wordswereloaded!...Newdictionary'qiche'wasinstalled!>listDict()#顯示已安裝詞典NameType Des1qiche汽車官方推薦,詞庫來源于網(wǎng)友上傳!Path1d:/ProgramFiles/R/R-3.3.1/library/Rwordseg/dict/qiche.dic>segmentCN("雷克薩斯品牌",nature=TRUE)qiche n"雷克薩斯" 品牌">uninstallDict(removedict="qiche")#卸載詞典2388wordswereremoved!...Thedictionary'qiche'wasuninstalled!三、jiebaR包jiebaR包支持最大概率法、隱馬爾可夫模型、索引模型、混合模型4種分詞模式,還有詞性標注、關(guān)鍵詞提取、文^imhash相似度比較等功能。.先用函數(shù)worker()初始化分詞引擎:worker(type="mix",dict=DICTPATH,hmm=HMMPATH,user=USERPATH,idf=IDFPATH,stop_word=STOPPATH,write=T,qmax=20,topn=5,encoding="UTF-8",detect=T,symbol=F,lines=1e+05,output=NULL,bylines=F,user_weight="max")其中,type指定分詞引擎類型:mix(混合模型)、mp(支持最大概率法)、hmm(隱馬爾可夫模型)、query(索引模型)、tag(詞性標注)、simhash(文本simhash相似度比較)、keywords(關(guān)鍵詞提取);diet指定詞庫路徑,默認為DICTPATH,可用于除hmm之外的分詞引擎;hmm為隱馬爾可夫模型的路徑,默認為HMMPATH,可用于除mp之外的分詞引擎;user為用戶自定義詞庫;idf為逆文本頻率指數(shù)路徑,默認為IDFPATH,可用于simhash和keywords分詞引擎;stop_word為停止詞詞庫路徑,默認為STOPPATH,可用于simhash、keywords、tagger、segment分詞弓|擎;qmax為詞的最大查詢長度,默認為20,可用于query分詞引擎;topn為關(guān)鍵詞個數(shù),默認為5,可用于simhash和keywords分詞引擎;symbol指定輸出結(jié)果是否保留符號,默認為FALSE。.使用分詞運算符<=或函數(shù)segment(),進行分詞segment(code,jiebar,mod=NULL)qseg<=codeqseq[code]其中,code為中文句子或文本文檔路徑;jiebar為某一個jiebarR分詞引擎;mod可改變默認的分詞引擎,其值可為mix、hmm、query、full、level、mp;qseq默認的分詞模式為mix,可通過qseg$type修改分詞模式。>library(jiebaR)>mixseg=worker()#默認mix分詞引擎>mpseg=worker(type="mp")>hmmseg=worker(type="hmm")>word="人們都說桂林山水甲天下”>mixseg<=word[1]"人們" 都" 說" 桂林山水"[5]"甲天下">hmmseg<=word[1]"人們""都" 說" 桂林山""水甲天"[6]"下">segment(word,mixseg)#與前面運算符結(jié)果相同[1]"人們"都“說“桂林山水”[5]"甲天下">qseg<=word#用qseg進行分詞[1]"人們"都“說“桂林山水”[5]"甲天下">qseg[word][1]"人們"都“說“桂林山水”[5]"甲天下">setwd("E:/辦公資料/R語言/R語言學(xué)習(xí)系列/codes")>segment("ex12_data.txt",mixseg)#對文件進行分詞[1]”./ex12_data.segment.2016-08-08_21_59_24.txt”>mixseg<="ex12_data.txt"[1]"ex12_data.segment.2016-08-08_22_07_21.txt”注:初始化分詞引擎后,例如可用mixseg命令,輸出其設(shè)置信息,可用$修改其參數(shù),例如mixseg$encoding="unicode";有些參數(shù)初始化時設(shè)定無法修改,可通過mixseg$PrivateVarible查看。.詞性標注使用tag來進行分詞和詞性標注,詞性標注使用混合模型分詞,標注采用和ictclas兼容的標記法。>word="人們都說桂林山水甲天下”>tagger=worker("tag")#初始化分詞弓|擎type="tag>tagger<=wordn d v ns人們" 都"說""桂林山水"l"甲天下">qseg$type="tag"#將分詞模式改為tag>qseg[word]n d v ns人們" 都"說""桂林山水"l"甲天下"注:漢語文本詞性標注對照表見附錄。.關(guān)鍵詞提取和simhash計算需要將worker中的type參數(shù)設(shè)置成“keywords”或"simhash”,并使用topn指定關(guān)鍵詞的個數(shù)。>keys=worker("keywords",topn=1)>keys<=word10.6048"桂林山水">simhash=worker("simhash",topn=2)>simhash<=word$simhash[1]"17867597785105042892"$keyword10.6048 10.2631"桂林山水""甲天下"主要參考文獻:[1]張良均,謝佳標,楊坦,肖剛.R語言與數(shù)據(jù)挖掘.機械工業(yè)出版社,2016.附錄:漢語文本詞性標注標記對照表:|^間詞^^^^^^^tg^間詞性語^^^^H3^處所詞(1個一類)^^^S^所詞^^^^^^M#T^位詞(1個一類)^^Jfg1^^^^^^^HT^詞1個一類,9個二類]1動詞^^^^^^^1Vd^^^^^^^^^BVShT^詞“是vyou^詞“有f^向動詞^^^^^^vx^式動詞vi不及物動詞(內(nèi)動詞VI動詞性慣用語Vg^w||^^^^H#T^容詞1個一類,4?二類a^容詞^^^^^^H07^形詞^^^^^^1ar^容詞性慣用r^別詞(1個一類,2個二類b^^^^^^^^^^^^Hb^別詞性慣用r^態(tài)詞(1個一類Z^^I^^^^^^^^M9.代詞(1個一類,4個二類,6個三類^稱代詞^^^^^^^^^rz^示代詞rzs指示代詞rzss指示代詞rzvs性指示代詞^^問代詞^^^^^^^^^rys疑問代詞r?s疑問代詞ryv謂詞性疑問代詞rg^W^^^^^^^^M101^詞(1?一類"1?二類)^^m^i^^^^^^^^^Bmq^Si^^^^^^^^H11.量詞(1個一類,2個二類)q量詞12.副詞(1個一類)13.介詞(1個一類,2個二類)pber^詞“被#^4^詞(1T一類,T二類)|C^^^^^^^^^B^7列連^^^^^^|15.助詞(1個一類,15個二類)uzhe著ule了嘍uguo過ude1的底ude2地ude3得usuo所udeng等等等云云uyy一樣一般似的般uZhT±^^^^^^^^^Mxn^r“連小學(xué)生都會”#16^嘆詞(1個一類)^^^^^e^l^^^^^^^^M#^7^氣詞1個一類^8^聲詞(1個一類)^^^^0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論