python中文字符个数jieba_jieba库对中文文本进行切割 python

jieba是中文文本用于分词的库,有3种模式:精确模式、全模式(所有可能的分割)、搜索引擎模式(在精确模式基础上再进行分割)

具体参考PYPI

# coding=utf-8

import jieba

#txt = open(u"D:\data\ebook\红楼梦.txt","r").read() #,encoding='utf-8'

txt = open("D:\\data\\ebook\\1.txt","r",encoding='utf-8').read()

words = jieba.lcut_for_search(txt) # 使用搜索引擎模式对文本进行分词

counts = {} # 通过键值对的形式存储词语及其出现的次数

for word in words:

print(word)

if len(word) == 1: # 长度为1的词语不计算在内

continue

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(5):

word, count = items[i]

print("{0:<5}{1:>5}".format(word, count))

注:1.txt

王西风在吃大枣,林黛玉在看书,宝玉发呆呢。。。。。

王西风吃完大枣后被宝玉叫住问:”大枣好不好吃?“,西风苦涩地说:”不好吃,涩得很,你想吃吗?“

宝玉说,”不好吃的话我就不吃了,算了。“,接着他去黛玉那里看了看黛玉正在看的书,觉得都是写伤感的东西,很不感兴趣。

得到的分词结果,统计次数的前5个答案如下,可以看出,这个中文文本分割只是简单分割,有一定的缺点:不能根据语义进行分割,文本的意思是大枣不好吃,它分割成了好吃,林黛玉和黛玉是一个人,它分割成了两个分词。

('西风', 3),

('大枣', 3),

('宝玉', 3),

('好吃', 2),

('林黛玉', 1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值