中文词频统计

下载一长篇中文文章。

从文件读取待分析文本。

news = open('gzccnews.txt','r',encoding = 'utf-8')

安装与使用jieba进行中文分词。

pip install jieba

import jieba

list(jieba.lcut(news))

生成词频统计

排序

排除语法型词汇,代词、冠词、连词

输出词频最大TOP20

# -*- coding : UTF-8 -*-
# -*- author : onexiaofeng -*-
import jieba

f=open('bbb.txt','r',encoding='utf-8')
notes=f.read()
notelist=list(jieba.lcut(notes))

NoteDic={}
for i in set(notelist): #计算次数
NoteDic[i]=notelist.count(i)

delete_word={'曰',' ','之',';', '吾', '而', '为', '将', '皆', '与', '乃', '见',',','。',':','“','”','亦','矣','?','等','今',\
'操','遂','与','不','是','、','也','又','!', '\n','…','?','了','有','在','来','我','去','于','人','中','欲','却说',\
'至','此','到','便','兵','得','若','以','若','汝','已','可','出','上','被','使','却'}

for i in delete_word: #删除非法词汇
if i in NoteDic:
del NoteDic[i]

sort_word = sorted(NoteDic.items(), key= lambda d:d[1], reverse = True) # 由大到小排序
for i in range(20): #输出词频Top20
print(sort_word[i])

posted on 2018-05-25 10:41  嘻嘻嘻宸  阅读(77)  评论(0编辑  收藏  举报