Mac版R語言(六)文字挖掘(使用者詞庫的匯入、批量匯入搜狗詞庫)
阿新 • • 發佈:2019-02-14
R語言問題討論交流,歡迎關注我的新浪微博:Jenny愛學習
文字挖掘應用的部落格將分4個部分分別討論完成,本篇將完成part 1的詳細project:
- 使用者字典批量安裝,自定義分詞詞庫,自建分詞packages的安裝
- jiebaR分詞的使用
- 詞雲的繪製(wordcloud2詳細使用見:Mac版R語言(四)使用wordcloud2畫詞雲點選開啟連結)
- k-means聚類
執行環境Platform: x86_64-apple-darwin13.4.0 (64-bit),MacOS Sierra 10.12.3,R3.3.2 (2016-10-31),涉及到的所有packages均更新下載於2017-6月。
所有程式碼均已全部執行,結果附圖,有任何問題歡迎留言討論。
1. 分詞常用packages
1.1 R提供的文字挖掘packages:
- tm:英文分詞工具
- jiebaR:中文分詞工具,本身是C++寫的,具有極高的運算處理速度
- Rwordseg:中文分詞工具,Mac版依賴舊版本的Java,較難安裝,版本更新慢,不推薦使用
- chinese.misc:中文分詞工具,核心基於Rwordseg
- rmmseg4j:
- snowball:英文詞幹化
- 中科院NLPIR漢語分詞系統 :零程式碼線上版 點選開啟連結
- 微軟word2vec:基於深度學習的文字挖掘系統
2. 2 單個詞典匯入2.2.1 零程式碼轉換分詞詞庫如果只需要匯入單個詞典,推薦使用線上版本的詞庫轉換工具,同樣是來自jiebaR作者Qin Wenfeng,點選連結進行線上轉換:
2.2.2 程式碼匯入詞庫 cidian包的下載安裝方法見下方:2.3 批量詞庫匯入。新建Rproject工程檔案,將project工程檔案建立在搜狗詞典庫同文件夾中。結果如下圖:在得到的檔案中,將轉化後的字尾名為.dict搜狗詞庫名稱改為user.dict.utf8,並替換原檔案,就將搜狗詞典轉換為預設的使用者詞典了。2.3 批量詞庫匯入 需要進行分詞的文件可能綜合了許多學科,因此僅僅使用單個詞庫並不能分出許多不同行業的專用詞,這時就需要批量匯入多學科詞庫,對文件進行分詞。
安裝jiebaR中批量匯入詞庫的package 開啟R,根據文件,執行以下程式碼: 結果截圖
整個程式碼執行的過程中,要確保每個檔案的路徑正確,否則可能會生成一些空資料集,
程式碼執行後,詞庫所在的資料夾中會生成對應.scel詞庫的.txt.檔案格式,如下圖:將所有生成的.txt檔案合併為一個檔案
這時得到一個全部.txt格式詞庫的檔案,R中environment顯示,整理後的詞庫約有30萬條專業詞彙,21.6M:
使用unique()函式去掉重複詞語,還剩28萬條詞:
最後,將去重的詞庫寫出:
write.table(dict1,file = "use.dict.utf8",quote = F,row.names = F,col.names = F,fileEncoding = "UTF-8")
在Rproject資料夾中得到如下結果:按照2.2.2 中介紹的替換詞庫的方法,將生成的詞庫替換至jiebaR的預設使用者詞庫即可。