python 英语词频统计

编程入门 行业动态 更新时间:2024-10-27 22:26:36

python 英语<a href=https://www.elefans.com/category/jswz/34/1767675.html style=词频统计"/>

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 英语词频统计

本文发布于:2024-03-08 22:22:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1722627.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:词频   英语   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!