您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Python英文文章詞頻統(tǒng)計(jì)的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
Python劍橋真題詞頻統(tǒng)計(jì)
最好還是要學(xué)以致用,自主搜集了19年最近的14份劍橋真題之后,通過(guò)Python提供的jieba第三方庫(kù),對(duì)所有的文章信息進(jìn)行了詞頻統(tǒng)計(jì),并選擇性地剔除了部分簡(jiǎn)易詞匯,比如數(shù)字,普通冠詞等,博主較懶,未清楚干凈。
Python代碼如下:
import jieba # 以只讀方式打開text(即真題庫(kù)) text = open('text.txt', 'r', encoding = 'utf-8').read() # len(text) #統(tǒng)一為小寫 text = text.lower() # 需要剔除的詞匯列表,也可以用記事本的形式,添加一個(gè)打開記事本的語(yǔ)句即可 # 即 stwlist = [line.strip() for line in open 'stopwords.txt',encoding='utf-8').readlines()] # 這里使用列表 stwlist = ['the','a','of','to','end','in','you','is','that','for','on','it','as','your','...','14', 'this','or','20','40','27','30','13','21','26','10','15','22', '32','31','1','2','4','5','6','7','8','9','0','10','11','12','13', '12','13','15','16','17','25','33','35','36','18','23','19','24', '38','29','34','37','000','...............................'] # 先進(jìn)行分詞 words = jieba.cut(text, cut_all = False, HMM = True) #cut_all:是否采用全模式 #HMM:是否采用HMM模型 word_ = {} for word in words: if (word.strip() not in stwlist): if len(word) > 1: if word != '\t': if word != '\r\n': # 計(jì)算詞頻 if word in word_: word_[word] += 1 else: word_[word] = 1 # 將結(jié)果保存為元組 word_freq = [] for word, freq in word_.items(): word_freq.append((word, freq)) # 降序排列 word_freq.sort(key = lambda x:x[1], reverse = True) #輸出前3500個(gè)詞匯 for i in range(3500): word, freq = word_freq[i] print('{0:10}{1:5}'.format(word, freq))
感謝各位的閱讀!關(guān)于“Python英文文章詞頻統(tǒng)計(jì)的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。