中文词频统计

Posted L文斌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中文词频统计相关的知识,希望对你有一定的参考价值。

  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个

 

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

Spark编程实战-词频统计

Spark编程实战-词频统计

中文词频统计

中文词频统计

中文词频统计

Python 分词后词频统计