完整的中英文詞頻統計


步驟:

1.准備utf-8編碼的文本文件file

2.通過文件讀取字符串 str

3.對文本進行預處理

4.分解提取單詞 list

5.單詞計數字典 set , dict

6.按詞頻排序 list.sort(key=)

7.排除語法型詞匯,代詞、冠詞、連詞等無語義詞

8.輸出TOP(20)

 

完成:

1.英文小說 詞頻統計

2.中文小說 詞頻統計

 

一、英文詞頻統計

fo = open('xiaoshuo.txt', 'r', encoding='utf-8')
stra = fo.read().lower()
fo.close()
print(stra)  #1.准備utf-8編碼的文本文件file 2.通過文件讀取字符串 str

sep = ',.;!'
for ch in sep:
    stra = stra.replace(ch,'') #進行預處理,清除掉sep中存在的標點符號
print(stra)

strList=stra.split(' ')
print(len(strList),strList) #分解提取單詞,轉化為列表list

strSet = set(strList)
print(len(strSet),strSet) #轉化為集合


strDict = {}
for world in strSet:
    strDict[world] = strList.count(world)

print(len(strDict),strDict)  #轉化為字典,計算上一個集合中每個單詞出現的次數

wcList = list(strDict.items())
print(wcList)  #將字典中的目錄轉化為列表輸出
wcList.sort(key=lambda x:x[1],reverse= True)
print(wcList) #按降序輸出

e = {'a','the','an','and','i','or','of'}
strSet = strSet - e
print(len(strSet),strSet) #排除語法型詞匯,代詞、冠詞、連詞等無語義詞


for i in range(20):
    print(wcList[i]) #TOP20輸出

  運行結果:

二、中文詞頻統計

import jieba

of = open('zhongwen.txt','r',encoding='utf-8')
strb = of.read().lower()
of.close()
print(strb)

print(list(jieba.cut(strb)))
print(list(jieba.cut(strb,cut_all=True)))
print(list(jieba.cut_for_search(strb)))

 運行結果:

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM