中文词频统计

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])

以上是关于中文词频统计的主要内容,如果未能解决你的问题,请参考以下文章

词频统计英文和统计中文的区别

如何用excel做词频统计?

1.英文词频统2.中文词频统计

中文词频统计

中文词频统计

中文词频统计