当前位置:首页 > 服务端 > pythonjieba库编程题

pythonjieba库编程题

【问题1】用 jieba 分词,计算字符串 s 中的中文词汇个数,不包括中文标点符号。显示输分词后的结果,用”/ ”分隔,以及中文词汇个数。示例如下:

输入:

工业互联网”实施的方式是通过通信、控制和计算技术的交叉应用,建造一个信息物理系统,促进物理系统和数字系统的融合。

输出:

工业/ 互联网/实施/ 的/ 方式/是/ 通过/ 通信/控制/ 和/ 计算技术/的/ 交叉/ 应用/建造/ 一个/ 信息/物理/ 系统/ 促进/物理/ 系统/ 和/数字/ 系统/ 的/融合/

中文词语数是:27

问题2:在问题1的基础上,统计分词后的词汇出现的次数,用字典结构保存。显示输出每个词汇出现的次数,以及出现次数最多的词汇。如果有多个词汇出现次数一样多,都要显示出来。示例如下:##

继续输出:

控制: 1

物理: 2

通信: 1

交叉: 1

互联网: 1

和: 2

是: 1

计算技术: 1

一个: 1

的: 3

数字: 1

促进: 1

信息: 1

方式: 1

建造: 1

应用: 1

系统: 3

通过: 1

实施: 1

融合: 1

工业: 1

出现最多的词是(的 系统):3 次

【解题思路】

1. 用 jieba 分词处理词汇统计

2. 要处理掉输入的各种标点符号,用到replace()

3. 用字典保存各个词出现次数

4. 要遍历字典的键值对,找到最大的值,及其对应的键

import jieba

from collections import Counter

n = 0

s = "工业互联网实施的方式是通过通信、控制和计算技术的交叉应用建造一个信息物理系统,促进物理系统和数字系统的融合。"

# 标点符号都去掉

s = s.replace("、", "")

s = s.replace(",", "")

s = s.replace("。", "")

j = jieba.lcut(s) # 拆分若干词组

dic = Counter(j) # 若干词组转换成字典统计数量

# dic.keys()

st = set(j) # 词组列表转换成无序但是不重复的Set集合为准备dict字典的键值调用

print("/".join(j)) # j集合用反斜杠相连

for i in st: # 遍历Set集合,集合元素就是字典的key值

n = n+dic.get(i) # 统计个数

print(i+":"+str(dic.get(i)))

print("总个数:"+str(n))

ltb6w2017(vx).jpg

作者:CVRunner
来源链接:https://blog.csdn.net/weixin_36242516/article/details/112922637

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/68362.html

分享给朋友: