目錄
1 詞頻統計
1.1 簡單詞頻統計
1.2 加入停用詞
2 關鍵字提取
2.1 關鍵字提取原理
2.2 關鍵字提取程式碼
首頁 後端開發 Python教學 Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取

Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取

May 02, 2023 pm 07:46 PM
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)
登入後複製

Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取

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)
登入後複製

加入停用詞後,輸出的結果是:

Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取

可以看到,被停用的一種這個字並沒有顯示出來。

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參數表示是否傳回關鍵字的權重值。最後,我們遍歷關鍵字列表,輸出每個關鍵字和對應的權重值。
這段函數的輸出結果為:

Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取

#

可以看到,jieba根據TF-IDF演算法提取出了輸入文字中的若干個關鍵字,並傳回了每個關鍵字的權重值。

以上是Python中怎麼使用Jieba進行詞頻統計與關鍵字擷取的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1667
14
CakePHP 教程
1426
52
Laravel 教程
1328
25
PHP教程
1273
29
C# 教程
1255
24
PHP和Python:解釋了不同的範例 PHP和Python:解釋了不同的範例 Apr 18, 2025 am 12:26 AM

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

在PHP和Python之間進行選擇:指南 在PHP和Python之間進行選擇:指南 Apr 18, 2025 am 12:24 AM

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

sublime怎麼運行代碼python sublime怎麼運行代碼python Apr 16, 2025 am 08:48 AM

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

PHP和Python:深入了解他們的歷史 PHP和Python:深入了解他們的歷史 Apr 18, 2025 am 12:25 AM

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

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

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

Golang vs. Python:性能和可伸縮性 Golang vs. Python:性能和可伸縮性 Apr 19, 2025 am 12:18 AM

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

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

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

notepad 怎麼運行python notepad 怎麼運行python Apr 16, 2025 pm 07:33 PM

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

See all articles