
模塊介紹
安裝:pip install jieba 即可
jieba庫,主要用於中文文本內容的分詞,它有3種分詞方法:
1. 精確模式, 試圖將句子最精確地切開,適合文本分析:
2. 全模式,把句子中所有的可以成詞的詞語都掃描出來,速度非常快,但是不能解決歧義;
3. 搜索引擎模式,在精確模式的基礎上,對長詞再詞切分,提高召回率,適合用於搜索引擎分詞。
我們用個小例子演示下

這上面的小例子中我們看到了一個問題,如果我們只是簡簡單單的將所有詞切分出來,然后去統計它們出現的次數,那么你會發現,其中的“是”,“的”等等詞語以及各種標點符號是出現頻率最高的,那么這里有2種方式,1是直接去掉長度為1的所有詞語,比如上面所說的“是”,“的”或者標點符號等等,還有一種呢,是用到了TF-IDF技術
TF-IDF (term frequency-inverse document frequency)是一種用於信息檢索(information retrieval)與文本挖掘(text mining)的常用加權技術,比較容易理解的一個應用場景是當我們手頭有一些文章時或者微博評論,我們希望計算機能夠自動地進行關鍵詞提取。而TF-IDF就是可以幫我們完成這項任務的一種統計方法。它能偶用於評估一個詞語對於一個文集或一個語料庫中的其中一份文檔的重要程度。這個方法又稱為"詞頻-逆文本頻率"。
不好理解的話,我們一樣來寫一個小例子:

withWeight=True 參數為是否返回權重值,默認是關閉的,我們直接打印出所有詞和它對於的權重,就可以用於計算了!

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

在第425行,進行分詞,然后將結果進行遍歷(426-433行),遍歷中,剔除單個字符,每個詞語和它所出現的次數寫入字典,第434、435行將字典轉化為元組所組成的列表,並依據出現次數進行排序,然后遍歷列表,取出前10名。
第二段代碼(441-445行)是依據權重取出了關鍵詞,可以看出,這章小說,主要講的就是段譽的事情了,不論是權重還是詞頻都是他最高。。。
文本內容有大概400多行,就折疊了,大家可以直接套用代碼,自己試試。

后記
今天的分享就這些了,python的自然語言處理其實還有好多內容,比如停止詞的使用,詞性等等好多,大家如果有興趣,可以來找我一起深入學習!