本文目錄一覽:
如何利用Python對中文進行分詞處理
python做中文分詞處理主要有以下幾種:結巴分詞、NLTK、THULAC
1、fxsjy/jieba
結巴的標語是:做最好的 Python 中文分詞組件,或許從現在來看它沒做到最好,但是已經做到了使用的人最多。結巴分詞網上的學習資料和使用案例比較多,上手相對比較輕鬆,速度也比較快。
結巴的優點:
支持三種分詞模式
支持繁體分詞
支持自定義詞典
MIT 授權協議
2、THULAC:一個高效的中文詞法分析工具包
前兩天我在做有關於共享單車的用戶反饋分類,使用jieba分詞一直太過零散,分類分不好。後來江兄給我推薦了THULAC: 由清華大學自然語言處理與社會人文計算實驗室研製推出的一套中文詞法分析工具包 。THULAC的接口文檔很詳細,簡單易上手。
THULAC分詞的優點:
能力強。利用規模最大的人工分詞和詞性標註中文語料庫(約含5800萬字)訓練而成,模型標註能力強大。
準確率高。該工具包在標準數據集Chinese Treebank(CTB5)上分詞的F1值可達97.3%,詞性標註的F1值可達到92.9%
速度較快。同時進行分詞和詞性標註速度為300KB/s,每秒可處理約15萬字。只進行分詞速度達到1.3MB/s,速度比jieba慢
Python 解決中文編碼問題基本可以用以下邏輯:
utf8(輸入) —— unicode(處理) —— (輸出)utf8
Python 裏面處理的字符都是都是unicode 編碼,因此解決編碼問題的方法是把輸入的文本(無論是什麼編碼)解碼為(decode)unicode編碼,然後輸出時再編碼(encode)成所需編碼。
由於處理的一般為txt 文檔,所以最簡單的方法,是把txt 文檔另存為utf-8 編碼,然後使用Python 處理的時候解碼為unicode(sometexts.decode(‘utf8’)),輸出結果回txt 的時候再編碼成utf8(直接用str() 函數就可以了)。
如何用python對文章中文分詞並統計詞頻
1、全局變量在函數中使用時需要加入global聲明
2、獲取網頁內容存入文件時的編碼為ascii進行正則匹配時需要decode為GB2312,當匹配到的中文寫入文件時需要encode成GB2312寫入文件。
3、中文字符匹配過濾正則表達式為ur'[\u4e00-\u9fa5]+’,使用findall找到所有的中文字符存入分組
4、KEY,Value值可以使用dict存儲,排序後可以使用list存儲
5、字符串處理使用split分割,然後使用index截取字符串,判斷哪些是名詞和動詞
6、命令行使用需要導入os,os.system(cmd)
Python 畫好看的雲詞圖
詞雲圖是數據分析中比較常見的一種可視化手段。詞雲圖,也叫文字雲,是對文本中出現頻率較高的 關鍵詞 予以視覺化的展現,出現越多的詞,在詞雲圖中展示越顯眼。詞雲圖過濾掉大量低頻低質的文本信息,因此只要一眼掃過文本就可 領略文章主旨 。
例如?上面這張圖,看一眼就知道肯定是新華網的新聞。
那生成一張詞雲圖的主要步驟有哪些?這裡使用 Python 來實現,主要分三步:
首先是「結巴」中文分詞 jieba 的安裝。
對於英文文本,word_cloud 可以直接對文本源生成詞雲圖。但是對中文的支持沒有那麼給力,所以需要先使用 jieba 對中文文本進行分詞,把文章變成詞語,然後再生成詞雲圖。例如:
jieba.cut 分詞:方法接受三個輸入參數,sentence 需要分詞的字符串;cut_all 用來控制是否採用全模式;HMM 用來控制是否使用 HMM 模型。
jieba.cut_for_search 分詞:方法接受兩個參數,sentence 需要分詞的字符串;是否使用 HMM 模型。該方法適合用於搜索引擎構建倒排索引的分詞,粒度比較細。
jieba.analyse.textrank 使用 TextRank 算法從句子中提取關鍵詞。
然後安裝 wordcloud 詞雲圖庫。
如果執行上面命令後,顯示 success,那麼恭喜你,安裝成功了。
我就遇到了 Failed building wheel for wordcloud 的錯誤。於是先安裝 xcode-select, 再安裝 wordcloud 即可(無需安裝 Xcode)。
wordcloud 庫把詞雲當作一個 WordCloud 對象,wordcloud.WordCloud() 代表一個文本對應的詞雲,可以根據文本中詞語出現的頻率等參數繪製詞雲,繪製詞雲的形狀、尺寸和顏色。
1、首先導入文本數據並進行簡單的文本處理
2、分詞
3、設置遮罩
注意:
1、默認字體不支持中文,如果需要顯示中文,需要設置中文字體,否則會亂碼。
2、設置遮罩時,會自動將圖片非白色部分填充,且圖片越清晰,運行速度越快
其中 WordCloud 是雲詞圖最重要的對象,其主要參數描述如下:
效果如下圖:
上小結是將文章中所有內容進行分詞,輸出了所有詞,但很多時候,我們有進一步的需求。例如:
1、只需要前 100 個關鍵詞就夠了。
2、不需要五顏六色的詞語,應與遮罩圖片顏色一致。
100個關鍵詞,我們在分詞時使用 TextRank 算法從句子中提取關鍵詞。
遮罩顏色可通過設置 WordCloud 的 color_func 屬性。
最終效果如下:
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/185713.html