Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取
1 詞頻統計
1.1 簡單詞頻統計
1.導入jieba
庫並定義文字
import jieba text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。"
2.對文字進行分詞
words = jieba.cut(text)
這一步驟會將文字分成若干個詞語,並傳回一個生成器物件words
,可以使用for
循環遍歷所有的字詞。
3. 統計詞頻
word_count = {} for word in words: if len(word) > 1: word_count[word] = word_count.get(word, 0) + 1
這一步透過遍歷所有的詞語,統計每個詞語出現的次數,並保存到一個字典word_count
。在統計詞頻時,可以通過去除停用詞等方式進行優化,這裡只是簡單地過濾了長度小於2的詞語。
4. 結果輸出
for word, count in word_count.items(): print(word, count)
1.2 加入停用詞
為了更準確地統計詞頻,我們可以在詞頻統計中加入停用詞,以去除一些常見但無實際意義的詞語。具體步驟如下:
定義停用詞列表
import jieba # 停用词列表 stopwords = ['是', '一种', '等']
對文字進行分詞,並過濾停用詞
text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。" words = jieba.cut(text) words_filtered = [word for word in words if word not in stopwords and len(word) > 1]
統計詞頻並輸出結果
word_count = {} for word in words_filtered: word_count[word] = word_count.get(word, 0) + 1 for word, count in word_count.items(): print(word, count)
加入停用詞後,輸出的結果是:
可以看到,被停用的一種
這個字並沒有顯示出來。
2 關鍵字提取
2.1 關鍵字提取原理
與對詞語進行單純計數的詞頻統計不同,jieba提取關鍵字的原理是基於TF-IDF( Term Frequency-Inverse Document Frequency)演算法。 TF-IDF演算法是一種常用的文字特徵提取方法,可以衡量一個字詞在文本中的重要性。
具體來說,TF-IDF演算法包含兩個部分:
Term Frequency(詞頻):指一個字在文字中出現的次數,通常用一個簡單的統計值表示,例如詞頻、二元詞頻等。詞頻反映了一個詞在文本中的重要程度,但是忽略了這個詞在整個語料庫中的普遍程度。
Inverse Document Frequency(逆文檔頻率):指一個字在所有文件中出現的頻率的倒數,用來衡量一個字的普遍程度。逆文檔頻率越大,表示一個字越普遍,重要程度越低;逆文檔頻率越小,表示一個字越獨特,重要程度越高。
TF-IDF演算法透過綜合考慮詞頻和逆文檔頻率,計算出每個字在文本中的重要程度,從而提取關鍵字。在jieba中,關鍵字擷取的具體實作包括以下步驟:
對文字進行分詞,得到分詞結果。
統計每個字在文中出現的次數,計算出詞頻。
統計每個字在所有文件中出現的次數,計算出逆文檔頻率。
綜合考慮詞頻和逆文檔頻率,計算出每個字在文本中的TF-IDF值。
將TF-IDF值排序,選取取得分最高的若干個字作為關鍵字。
舉例:
F(Term Frequency)指的是某個單字在一篇文件中出現的頻率。計算公式如下:
T F = ( 文件中出現單字的次數) / ( 文件中的總字數)
例如,在一篇包含100個字的文件中,某個字出現了10次,則該單字的TF為
10 / 100 = 0.1
IDF(Inverse Document Frequency)指的是文件集合中出現某個單字的文檔數的倒數。計算公式如下:
I D F = l o g ( 文檔集合中的文檔總數/ 包含該單字的文檔數)
例如,在一個包含1000篇文檔的文檔集合中,某個單字在100篇文檔中出現過,則該字的IDF為l o g ( 1000 / 100 ) = 1.0
TFIDF是將TF和IDF相乘得到的結果,計算公式如下:
T F I D F = T F ∗ I D F
要注意的是,TF-IDF演算法只考慮了字詞在文本中的出現情況,而忽略了字詞之間的關聯性。因此,在一些特定的應用場景中,需要使用其他的文字特徵來提取方法,例如詞向量、主題模型等。
2.2 關鍵字提取程式碼
import jieba.analyse # 待提取关键字的文本 text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。" # 使用jieba提取关键字 keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True) # 输出关键字和对应的权重 for keyword, weight in keywords: print(keyword, weight)
在這個範例中,我們首先導入了jieba.analyse
模組,然後定義了一個待提取關鍵字的文字text
。接著,我們使用jieba.analyse.extract_tags()
函數來提取關鍵字,其中topK
參數表示需要提取的關鍵字個數,withWeight
參數表示是否傳回關鍵字的權重值。最後,我們遍歷關鍵字列表,輸出每個關鍵字和對應的權重值。
這段函數的輸出結果為:
可以看到,jieba根據TF-IDF演算法提取出了輸入文字中的若干個關鍵字,並傳回了每個關鍵字的權重值。
以上是Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

在 Sublime Text 中運行 Python 代碼,需先安裝 Python 插件,再創建 .py 文件並編寫代碼,最後按 Ctrl B 運行代碼,輸出會在控制台中顯示。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

Golang在性能和可擴展性方面優於Python。 1)Golang的編譯型特性和高效並發模型使其在高並發場景下表現出色。 2)Python作為解釋型語言,執行速度較慢,但通過工具如Cython可優化性能。

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

在 Notepad 中運行 Python 代碼需要安裝 Python 可執行文件和 NppExec 插件。安裝 Python 並為其添加 PATH 後,在 NppExec 插件中配置命令為“python”、參數為“{CURRENT_DIRECTORY}{FILE_NAME}”,即可在 Notepad 中通過快捷鍵“F6”運行 Python 代碼。
