jieba 分词的使用

西游记相关的分词,出现次数最高的20个吗,需要把是同一个人不同说法,要合并成一个。比如 孙猴子和孙悟空,要算成一个。

预先下载《西游记》txt文档,并保存好,记录地址。

import  jieba
# -*- coding: utf-8 -*-
 
txt = open("D:\\西游记\\西游记.txt", "r", encoding='gb18030').read() 
words = jieba.lcut(txt)     
counts = {}   #创建字典  
 
for word in words:
    if  len(word) == 1:    # 单个词语不计算在内
        continue
    else:
        if word == '行者'or word == '大圣':
            counts['孙悟空'] = counts.get('孙悟空', 0) + 1   
        elif word =='师父' or word == '三藏' or word == '唐僧':
            counts['唐三藏'] = counts.get('唐三藏',0) + 1
        else:
            counts[word] = counts.get(word,0) + 1        # 遍历所有词语,每出现一次其对应的值加 1

items = list(counts.items())#将键值对转换成列表
items.sort(key=lambda x: x[1], reverse=True)    # 根据词语出现的次数进行从大到小排序
 
for i in range(20):
    word, count = items[i]
    print("{0:<5}{1:>5}".format(word, count))

结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值