“文本词频统计”实例详解(中文文本《三国演义》)

本文通过Python的jieba库对《三国演义》文本进行分词,统计并排序词频,展示了如何对中文文本进行词频统计。首先,使用jieba精确模式分词,然后建立字典存储词组及其出现次数。接着,遍历词组,更新字典中的计数。最后,将词频字典转为列表并按值降序排序,输出前15个高频词及其出现次数。代码实现了对中文文本的统计分析,为文本挖掘提供了基础方法。

《三国演义》人物出场统计代码分析如下所示:

通过对英文文本的统计,我们来设计对中文文本的统计,我们的思路如下:
我们首先调用jieba库进行分词,jieba库为中文分词词库,通过此词库,可以很好的完成分词任务。我们通过open函数将该文本打开,且模式为“r",为只读模式,而且设定要按照utf-8编码的方式来读取文本。我们采用jieba库的精确模式来进行分词。由于一个词组和他出现的次数构成了一种映射,我们来定义一种字典类型。来表达词组跟出现频率之间的对应关系。我们首先设立了一个空字典,例如counts={ },并且赋值给counts。

import jieba
txt=open("三国演义.txt","r",encoding="utf-8").read()
words=jieba.lcut(txt)
counts={}

在设立了空字典之后,我们进行遍历,对其中的每个词组进行遍历,在遍历过程中,我们利用if-else语句进行判断,如果此时出现长度为1的时候,即不是词组,这时我们停止执行该语句,使用continue语句退出此层循环,执行后面的语句。

如果词组长度不等于1的时候。我们在之前设立了一个空字典,然后对所出现的每个词组进行遍历,采用字典的.get方法,即d.get(k,<default>)键k存在,则返回键k的对应值,不在则返回<default>值。,即如果这个词组在字典里面,用当前的某一个词组作为键索引字典, 如果他在里边,那就返回他的次数,后面再加1,说明这个词组又出现了一次,如果这个词组不在字典中的话,我们选择0进行返回值,即0+1=1.即在字典里面添加一个值。
我们在判断过程中,我们利用字典即 counts[word]来进行判断,如果字典里面存在这个词组word,则返回即为word的次数,如果字典里面不存在,即 counts[word]=1,这时字典里面记录了这个词组出现的次数为1,下次再遇到相同词组的时候,即在字典里面存在的基础上再进行加1。相当于在字典里面新增了一个键值对元素。即counts为一个字典,word为他的键,1为这个键的值,即一次,代码示例如下:

for
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直再追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值