这篇文章给大家分享的是有关Python英文文章词频统计的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Python剑桥真题词频统计
最好还是要学以致用,自主搜集了19年最近的14份剑桥真题之后,通过Python提供的jieba第三方库,对所有的文章信息进行了词频统计,并选择性地剔除了部分简易词汇,比如数字,普通冠词等,博主较懒,未清楚干净。
Python代码如下:
import jieba
# 以只读方式打开text(即真题库)
text = open('text.txt', 'r', encoding = 'utf-8').read()
# len(text)
#统一为小写
text = text.lower()
# 需要剔除的词汇列表,也可以用记事本的形式,添加一个打开记事本的语句即可
# 即 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','...............................']
# 先进行分词
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':
# 计算词频
if word in word_:
word_[word] += 1
else:
word_[word] = 1
# 将结果保存为元组
word_freq = []
for word, freq in word_.items():
word_freq.append((word, freq))
# 降序排列
word_freq.sort(key = lambda x:x[1], reverse = True)
#输出前3500个词汇
for i in range(3500):
word, freq = word_freq[i]
print('{0:10}{1:5}'.format(word, freq))
感谢各位的阅读!关于“Python英文文章词频统计的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。