中文词频统计

  1. 下载一中文长篇小说,并转换成UTF-8编码。
  2. 使用jieba库,进行中文词频统计,输出TOP20的词及出现次数。
  3. 排除一些无意义词、合并同一词。
  4. 对词频统计结果做简单的解读。

 

import jieba#引入库
fo=open('老人与海.txt','r',encoding='utf-8')
t=fo.read()
fo.close()#读入待分析文章

words=jieba.cut(t)#分解提取词汇
dic={}#创建一个字典
for w in words:
    if len(w)==1:
        continue#去掉一个字节的字符
    else:
        dic[w]=dic.get(w,0)+1#对字典赋键值
wc = list(dic.items())#将字典转换成由元组组成的列表
wc.sort(key=lambda x:x[1],reverse = True)#对字典的值按从大到小排序
for i in range(20):
    print(wc[i])#输出前20个

解读:该书的主人公是老人和小孩,讲述的是老人乘船出海捕鱼,最后老人经过几天几夜不屈不挠的斗争终于战胜了大鱼,成功捕获它。

 

循环语句加count:

import jieba#引入库
fo=open('老人与海.txt','r',encoding='utf-8')
t=fo.read()
fo.close()#读入待分析文章

words=list(jieba.cut(t))#分解提取词汇
dic={}#创建一个字典
exc={''}#需要去掉的词汇
keys=set(words)-exc#对字典赋键
for w in keys:#对字典的键便利
    if len(w)==1:
        continue#去掉一个字节的字符
    else:
        dic[w]=words.count(w)#对字典赋值,即对键统计后赋值
wc = list(dic.items())#将字典转换成由元组组成的列表
wc.sort(key=lambda x:x[1],reverse = True)#对字典的值按从大到小排序
for i in range(20):
    print(wc[i])#输出前20个

 

转载于:https://www.cnblogs.com/lwb9511/p/7610616.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值