python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

模塊介紹

安裝:pip install jieba 便可python

jieba庫,主要用於中文文本內容的分詞,它有3種分詞方法:學習

1. 精確模式, 試圖將句子最精確地切開,適合文本分析:搜索引擎

2. 全模式,把句子中全部的能夠成詞的詞語都掃描出來,速度很是快,可是不能解決歧義;spa

3. 搜索引擎模式,在精確模式的基礎上,對長詞再詞切分,提升召回率,適合用於搜索引擎分詞。3d

咱們用個小例子演示下orm

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

這上面的小例子中咱們看到了一個問題,若是咱們只是簡簡單單的將全部詞切分出來,而後去統計它們出現的次數,那麼你會發現,其中的「是」,「的」等等詞語以及各類標點符號是出現頻率最高的,那麼這裏有2種方式,1是直接去掉長度爲1的全部詞語,好比上面所說的「是」,「的」或者標點符號等等,還有一種呢,是用到了TF-IDF技術blog

TF-IDF (term frequency-inverse document frequency)是一種用於信息檢索(information retrieval)與文本挖掘(text mining)的經常使用加權技術,比較容易理解的一個應用場景是當咱們手頭有一些文章時或者微博評論,咱們但願計算機可以自動地進行關鍵詞提取。而TF-IDF就是能夠幫咱們完成這項任務的一種統計方法。它能偶用於評估一個詞語對於一個文集或一個語料庫中的其中一份文檔的重要程度。這個方法又稱爲"詞頻-逆文本頻率"。排序

很差理解的話,咱們同樣來寫一個小例子:索引

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

withWeight=True 參數爲是否返回權重值,默認是關閉的,咱們直接打印出全部詞和它對於的權重,就能夠用於計算了!ip

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

小說詞頻分析

簡單的寫個小demo,分析小說的詞頻,並將前10個打印出來!篇幅有限,就以《天龍八部》的第1章爲例,大概有4萬多個字符,直接上代碼了!

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

在第425行,進行分詞,而後將結果進行遍歷(426-433行),遍歷中,剔除單個字符,每一個詞語和它所出現的次數寫入字典,第43四、435行將字典轉化爲元組所組成的列表,並依據出現次數進行排序,而後遍歷列表,取出前10名。

第二段代碼(441-445行)是依據權重取出了關鍵詞,能夠看出,這章小說,主要講的就是段譽的事情了,不管是權重仍是詞頻都是他最高。。。

文本內容有大概400多行,就摺疊了,你們能夠直接套用代碼,本身試試。

python實戰,中文天然語言處理,應用jieba庫來統計文本詞頻

後記

今天的分享就這些了,python的天然語言處理其實還有好多內容,好比中止詞的使用,詞性等等好多,你們若是有興趣,能夠來找我一塊兒深刻學習!

相關文章
相關標籤/搜索