一、jieba庫的使用
1.jieba庫介紹
jieba是優秀的中文分詞第三方庫,使用pip安裝後可以使用其來對中文文字進行分詞
特點:
支援繁體分詞
支援自定義詞典
mit 授權協議
2.jieba庫方法
(1)jieba庫3種分詞方法(3種模式)
3種模式對應的方法如下:
注:cut()和lcut()的不同:cut返回的是生成器,lcut返回的是列表。cut_for_search()和lcut_for_search()也是前者返回生成器,後者返回列表
另外:示例:
結果:
(2)向字典中新增新詞或新增自定義詞典
使用add_word(word, freq=none, tag=none)
和del_word(word)
可在程式中動態修改詞典,當然也可以使用load_userdict(file_name)來匯入自定義字典
最簡單的用法:add_word() 直接向分詞詞典中新增新詞
示例:
接下來是詞云製作:
將「c:\windows\fonts」下的微軟雅黑字型檔案複製到「e:\ciyun\fonts\」目錄中,備用。
以下操作的截圖,詳見github倉庫中的操作截圖ciyun.jpg。
點選開啟安裝好的anaconda命名提示符(anaconda prompt),執行ipython命令開啟python操作環境。
把jieba和wordcloud以及plt繪圖工具匯入備用:
in [1]: import jieba as jb
in [2]: from wordcloud import wordcloud
in [3]: import matplotlib.pyplot as plt
四、對《規劃綱要》文件預處理
讀入《規劃綱要》文件:
in [4]: text = open(『e:\ciyun\text.md』, encoding=』utf-8』).read()
可以輸入text後回車,檢視讀入的文件內容, 限於篇幅,截圖中沒有進行該操作,大家可自行操作。
發現文件中有大量的「\n\n」、「#」、「\u3000」等無意義的內容,
去掉「\u3000」;去掉連續換行符,去掉「#」:
in [5]: text = text.replace(『\u3000』,』』)
in [6]: text = text.replace(『\n\n』,』\n』)
in [7]: text = text.replace(『#』,』』)
可以輸入text後回車檢視處理後的文件內容。
五、使用jieba對文件進行分詞
使用jieba的cut函式對文件進行切分,使用「/」符號把分詞連起來,備用:
in [8]: seg_list = jb.cut(text)
in [9]: text_cut = 『/『.join(seg_list)
此時,可以輸入text_cut後回車,檢視用「/」符號分割的文件字元。
六、使用wordcloud製作詞云
in [10]: wordcloud = wordcloud(background_color=」white」,font_path=』e:\fonts\msyh.ttf』,width=1000, height=860, margin=2).generate(text_cut)
in [11]: plt.imshow(wordcloud);plt.axis(「off」);plt.show()
退出ipython:
in [12]: exit
再次exit退出anaconda命名提示符(anaconda prompt)。
以《「健康中國2030」規劃綱要》文件為例,在python中使用jieba分詞和wordcloud詞云製作工具,製作該文件的簡單版詞雲,最終結果如下:
jieba庫的使用
jieba是優秀的中文分詞第三方庫 中文文字需要通過分詞獲得單個的詞語 jieba是優秀的中文分詞第三方庫,需要額外安裝 jieba庫提供三種分詞模式,最簡單只需掌握乙個函式 cmd命令列 pip install jieba jieba分詞依靠中文詞庫 利用乙個中文詞庫,確定漢字之間的關聯概率 漢字...
jieba庫的使用
1.jieba庫概述 jieba是優秀的中文分詞第三方庫 2.jieba庫的安裝 cmd命令列 pip install jieba 3.jieba的分詞原理 4.jieba庫的使用 4.1 jieba分詞的的三種模式 4.2 jieba庫常用函式 詞頻統計例項 英文文字 哈姆雷特 英文版 要點 文字...
jieba庫的使用
如何安裝jieba?我們使用cmd命令輸入python m pip install jieba 等一段時間就下好了。jieba庫有啥用?就是將中文語句進行分詞 它有幾種模式 精確模式 全模式 搜尋引擎模式 精確模式 把文字精確地切分開,不存在冗餘單詞 全模式 把文字中所有可能的詞語都掃瞄出來,有冗餘...