Python中文詞頻統計

2021-08-17 19:20:52 字數 1778 閱讀 6600

以下是關於**的中文詞頻統計

這裡有三個檔案,分別為novel.txt、punctuation.txt、meaningless.txt。

這三個是**文字、特殊符號和無意義詞

python**統計詞頻如下:

import jieba # jieba中文分詞庫

# 從檔案讀入**

with open('novel.txt', 'r', encoding='utf-8') as novelfile:

novel = novelfile.read()

# 將**中的特殊符號過濾

with open('punctuation.txt', 'r', encoding='utf-8') as punctuationfile:

for punctuation in punctuationfile.readlines():

novel = novel.replace(punctuation[0], ' ')

# 新增特定詞到詞庫

jieba.add_word('鳳十')

jieba.add_word('林胖子')

jieba.add_word('黑道')

jieba.add_word('餓狼幫')

# 從檔案獨處無意義詞

with open('meaningless.txt', 'r', encoding='utf-8') as meaninglessfile:

mlessset = set(meaninglessfile.read().split('\n'))

mlessset.add(' ')

novellist = list(jieba.cut(novel))

novelset = set(novellist) - mlessset # 將無意義詞從詞語集合中刪除

noveldict = {}

# 統計出詞頻字典

for word in novelset:

noveldict[word] = novellist.count(word)

# 對詞頻進行排序

novellistsorted = list(noveldict.items())

novellistsorted.sort(key=lambda e: e[1], reverse=true)

# 列印前20詞頻

topwordnum = 0

for topwordtup in novellistsorted:

if topwordnum == 20:

break

print(topwordtup)

topwordnum += 1

# 列印記錄:

# ('楊易', 906)

# ('說道', 392)

# ('乙個', 349)

# ('林胖子', 338)

# ('知道', 295)

# ('和', 218)

# ('心裡', 217)

# ('已經', 217)

# ('沒有', 217)

# ('這個', 206)

# ('有點', 198)

# ('道', 195)

# ('徐明', 194)

# ('就是', 192)

# ('看', 191)

# ('走', 185)

# ('有', 178)

# ('上', 176)

# ('好', 176)

# ('來', 170)

相關**已上傳csdn

中文詞頻統計

2.從檔案讀取待分析文字。3.安裝並使用jieba進行中文分詞。4.更新詞庫,加入所分析物件的專業詞彙。5.生成詞頻統計 排序 排除語法型詞彙,代詞 冠詞 連詞等停用詞 輸出詞頻最大top20,把結果存放到檔案裡 源 import jieba fo open r d 三體.txt encoding ...

中文詞頻統計

從檔案讀取待分析文字。news open gzccnews.txt r encoding utf 8 安裝與使用jieba進行中文分詞。pip install jieba import jieba list jieba.lcut news 生成詞頻統計 排序排除語法型詞彙,代詞 冠詞 連詞 輸出詞頻...

中文詞頻統計

從檔案讀取待分析文字。news open gzccnews.txt r encoding utf 8 安裝與使用jieba進行中文分詞。pip install jieba import jieba list jieba.lcut news 生成詞頻統計 排序排除語法型詞彙,代詞 冠詞 連詞 輸出詞頻...