完整的英文詞頻統計
阿新 • • 發佈:2018-09-27
code 空格 存儲 for src res inf 分享圖片 次數
1.準備utf-8編碼的文本文件file
2.通過文件讀取字符串 str
3.對文本進行預處理
4.分解提取單詞 list
5.單詞計數字典 set , dict
6.按詞頻排序 list.sort(key=)
7.排除語法型詞匯,代詞、冠詞、連詞等無語義詞
8.輸出TOP(20)
代碼:
#讀取fire文本文件 f = open(‘fire.txt‘,‘r‘,encoding=‘utf-8‘) fire = f.read() f.close() print(fire) #預處理 print(fire.lower()) #全部字母小寫 a = ",.;:‘`" #特殊符號歸集為字符串 forb in a: fire.replace(b,‘ ‘) #利用for循環語句把特殊符號替換成空格 print(fire) #分別從空格提取單詞 firelist = fire.split() print(firelist) #統計每個單詞出現的次數 fireset = set(firelist) #把列表firelist轉換成集合,使得單詞不會重復出現 #排除語法型詞匯,代詞、冠詞、連詞等無語義詞 se = {‘a‘,‘the‘,‘and‘,‘we‘,‘you‘,‘of‘} fireset =fireset-se firedict = {} #創建一個空字典,用於存儲# #遍歷fireset集合,放入單詞為鍵,統計的次數為值的strdict字典 for word in fireset: firedict[word] = firelist.count(word) print(len(firedict),firedict) wordlist = list(firedict.items()) #按單詞的頻數排序 wordlist.sort(key=lambda x:x[1],reverse=True) print(wordlist) #輸出TOP(20) for i in range(20): print(wordlist[i])
運行結果:
完整的英文詞頻統計