真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取

這篇文章主要介紹“Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取”文章能幫助大家解決問(wèn)題。

創(chuàng)新互聯(lián)公司企業(yè)建站,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于網(wǎng)站建設(shè)、網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。

1 詞頻統(tǒng)計(jì)

1.1 簡(jiǎn)單詞頻統(tǒng)計(jì)

1.導(dǎo)入jieba庫(kù)并定義文本

import jieba
text = "Python是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于人工智能、數(shù)據(jù)分析、Web開(kāi)發(fā)等領(lǐng)域。"

2.對(duì)文本進(jìn)行分詞

words = jieba.cut(text)

這一步會(huì)將文本分成若干個(gè)詞語(yǔ),并返回一個(gè)生成器對(duì)象words,可以使用for循環(huán)遍歷所有的詞語(yǔ)。

3. 統(tǒng)計(jì)詞頻

word_count = {}
for word in words:
    if len(word) > 1:
        word_count[word] = word_count.get(word, 0) + 1

這一步通過(guò)遍歷所有的詞語(yǔ),統(tǒng)計(jì)每個(gè)詞語(yǔ)出現(xiàn)的次數(shù),并保存到一個(gè)字典word_count中。在統(tǒng)計(jì)詞頻時(shí),可以通過(guò)去除停用詞等方式進(jìn)行優(yōu)化,這里只是簡(jiǎn)單地過(guò)濾了長(zhǎng)度小于2的詞語(yǔ)。

4. 結(jié)果輸出

for word, count in word_count.items():
    print(word, count)

Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取

1.2 加入停用詞

為了更準(zhǔn)確地統(tǒng)計(jì)詞頻,我們可以在詞頻統(tǒng)計(jì)中加入停用詞,以去除一些常見(jiàn)但無(wú)實(shí)際意義的詞語(yǔ)。具體步驟如下:

定義停用詞列表

import jieba

# 停用詞列表
stopwords = ['是', '一種', '等']

對(duì)文本進(jìn)行分詞,并過(guò)濾停用詞

text = "Python是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于人工智能、數(shù)據(jù)分析、Web開(kāi)發(fā)等領(lǐng)域。"
words = jieba.cut(text)
words_filtered = [word for word in words if word not in stopwords and len(word) > 1]

統(tǒng)計(jì)詞頻并輸出結(jié)果

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)

加入停用詞后,輸出的結(jié)果是:

Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取

可以看到,被停用的一種這個(gè)詞并沒(méi)有顯示出來(lái)。

2 關(guān)鍵詞提取

2.1 關(guān)鍵詞提取原理

與對(duì)詞語(yǔ)進(jìn)行單純計(jì)數(shù)的詞頻統(tǒng)計(jì)不同,jieba提取關(guān)鍵字的原理是基于TF-IDF(Term Frequency-Inverse Document Frequency)算法。TF-IDF算法是一種常用的文本特征提取方法,可以衡量一個(gè)詞語(yǔ)在文本中的重要程度。

具體來(lái)說(shuō),TF-IDF算法包含兩個(gè)部分:

  • Term Frequency(詞頻):指一個(gè)詞在文本中出現(xiàn)的次數(shù),通常用一個(gè)簡(jiǎn)單的統(tǒng)計(jì)值表示,例如詞頻、二元詞頻等。詞頻反映了一個(gè)詞在文本中的重要程度,但是忽略了這個(gè)詞在整個(gè)語(yǔ)料庫(kù)中的普遍程度。

  • Inverse Document Frequency(逆文檔頻率):指一個(gè)詞在所有文檔中出現(xiàn)的頻率的倒數(shù),用于衡量一個(gè)詞的普遍程度。逆文檔頻率越大,表示一個(gè)詞越普遍,重要程度越低;逆文檔頻率越小,表示一個(gè)詞越獨(dú)特,重要程度越高。

TF-IDF算法通過(guò)綜合考慮詞頻和逆文檔頻率,計(jì)算出每個(gè)詞在文本中的重要程度,從而提取關(guān)鍵字。在jieba中,關(guān)鍵字提取的具體實(shí)現(xiàn)包括以下步驟:

  • 對(duì)文本進(jìn)行分詞,得到分詞結(jié)果。

  • 統(tǒng)計(jì)每個(gè)詞在文本中出現(xiàn)的次數(shù),計(jì)算出詞頻。

  • 統(tǒng)計(jì)每個(gè)詞在所有文檔中出現(xiàn)的次數(shù),計(jì)算出逆文檔頻率。

  • 綜合考慮詞頻和逆文檔頻率,計(jì)算出每個(gè)詞在文本中的TF-IDF值。

  • 對(duì)TF-IDF值進(jìn)行排序,選取得分最高的若干個(gè)詞作為關(guān)鍵字。

舉個(gè)例子
F(Term Frequency)指的是某個(gè)單詞在一篇文檔中出現(xiàn)的頻率。計(jì)算公式如下:
T F = ( 單詞在文檔中出現(xiàn)的次數(shù) ) / ( 文檔中的總單詞數(shù) )
例如,在一篇包含100個(gè)單詞的文檔中,某個(gè)單詞出現(xiàn)了10次,則該單詞的TF為
10 / 100 = 0.1
IDF(Inverse Document Frequency)指的是在文檔集合中出現(xiàn)某個(gè)單詞的文檔數(shù)的倒數(shù)。計(jì)算公式如下:
I D F = l o g ( 文檔集合中的文檔總數(shù) / 包含該單詞的文檔數(shù) )
例如,在一個(gè)包含1000篇文檔的文檔集合中,某個(gè)單詞在100篇文檔中出現(xiàn)過(guò),則該單詞的IDF為 l o g ( 1000 / 100 ) = 1.0
TFIDF是將TF和IDF相乘得到的結(jié)果,計(jì)算公式如下:
T F I D F = T F ∗ I D F

需要注意的是,TF-IDF算法只考慮了詞語(yǔ)在文本中的出現(xiàn)情況,而忽略了詞語(yǔ)之間的關(guān)聯(lián)性。因此,在一些特定的應(yīng)用場(chǎng)景中,需要使用其他的文本特征提取方法,例如詞向量、主題模型等。

2.2 關(guān)鍵詞提取代碼
import jieba.analyse

# 待提取關(guān)鍵字的文本
text = "Python是一種高級(jí)編程語(yǔ)言,廣泛應(yīng)用于人工智能、數(shù)據(jù)分析、Web開(kāi)發(fā)等領(lǐng)域。"

# 使用jieba提取關(guān)鍵字
keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True)

# 輸出關(guān)鍵字和對(duì)應(yīng)的權(quán)重
for keyword, weight in keywords:
    print(keyword, weight)

在這個(gè)示例中,我們首先導(dǎo)入了jieba.analyse模塊,然后定義了一個(gè)待提取關(guān)鍵字的文本text。接著,我們使用jieba.analyse.extract_tags()函數(shù)提取關(guān)鍵字,其中topK參數(shù)表示需要提取的關(guān)鍵字個(gè)數(shù),withWeight參數(shù)表示是否返回關(guān)鍵字的權(quán)重值。最后,我們遍歷關(guān)鍵字列表,輸出每個(gè)關(guān)鍵字和對(duì)應(yīng)的權(quán)重值。
這段函數(shù)的輸出結(jié)果為:

Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取

可以看到,jieba根據(jù)TF-IDF算法提取出了輸入文本中的若干個(gè)關(guān)鍵字,并返回了每個(gè)關(guān)鍵字的權(quán)重值。

關(guān)于“Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。


網(wǎng)站標(biāo)題:Python中如何使用Jieba進(jìn)行詞頻統(tǒng)計(jì)與關(guān)鍵詞提取
網(wǎng)站網(wǎng)址:http://weahome.cn/article/gggpep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部