py中文词频统计

本文介绍了一种中文文本处理方法,通过去除停用词并对剩余词汇进行分词处理,进而统计各词汇出现频率,并展示如何使用Python的jieba库实现这一过程。
# -*- coding: UTF-8 -*-
# -*- coder: mzp -*-

import jieba
import re
with open('test.txt', 'r', encoding='UTF-8') as story:
    test = story.read()
miss_word = "了|他|说|我|你|就|着|又|的|在|是|有|把|到|也|不|都|她|这|便|去|们|还|但|一个|和|却|里|来|要|没|很|\"" \
            "|那|么|一|将|呢|起|于|上|只|得|而|而且|对|所以|见|些|才|从|过|被|并|时|且|给|道|虽然|可以|出"
test = re.sub("[\s+\.\!\/_\",$%^*+—()?【】“《;》”!\-:,。?、~@#¥%……&*()]+", "", test)
test = re.sub(miss_word + '+', "", test)
words = list(jieba.cut(test))
# test =''.join(re.findall(u'[\u4e00-\u9fff]+', test))  # 简单粗暴的中文筛选
key_words = {}
for i in set(words):  # 统计出词频
    key_words[i] = words.count(i)
sort_word = sorted(key_words.items(), key = lambda d:d[1], reverse = True)  # 排序
for i in range(20):  # 输出
    print(sort_word[i])

转载于:https://www.cnblogs.com/www924121851/p/8660742.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值