中文词频统计
Posted xichenmm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中文词频统计相关的知识,希望对你有一定的参考价值。
下载一长篇中文文章。
从文件读取待分析文本。
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])
以上是关于中文词频统计的主要内容,如果未能解决你的问题,请参考以下文章