中文分词库-jieba

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

输入:

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

输出:

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

中文词语数是:27

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

继续输出:

控制: 1

物理: 2

通信: 1

交叉: 1

互联网: 1

和: 2

是: 1

计算技术: 1

一个: 1

的: 3

数字: 1

促进: 1

信息: 1

方式: 1

建造: 1

应用: 1

系统: 3

通过: 1

实施: 1

融合: 1

工业: 1

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

解答:

问题1:

import jieba

"""
工业互联网”实施的方式是通过通信、控制和计算技术的交叉应用,
建造一个信息物理系统,促进物理系统和数字系统的融合。
"""
s = input("请输入一个中文字符串,包含逗号和句号:")
# 标点符号集合
symbol = [",", "。", "、", "”", "“", ";", ":", "?", "!"]
newStr = s.replace(' ', '')
for i in symbol:
    newStr = newStr.replace(i, '')

list = jieba.lcut(newStr)

print("/".join(list))
print("中文词语数是:{}".format(len(list)))

dic = {}
for j in list:
    # 判断j是否在字典dic中
    if j in dic.keys():
        dic[j] += 1
    else:
        dic[j] = 1
for key in dic.keys():
    print("{}:{}".format(key, dic[key]))

valList = sorted(dic.values(), reverse=True)

highWordList = []
for k in dic.keys():
    if dic[k] == valList[0]:
        highWordList.append(k)

print("出现最多的词是({}):{} 次".
      format(" ".join(highWordList), valList[0]))

输出结果:

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

工业/互联网/实施/的/方式/是/通过/通信/控制/和/计算技术/的/交叉/应用/建造/一个/信息/物理/系统/促进/物理/系统/和/数字/系统/的/融合
中文词语数是:27
工业:1
互联网:1
实施:1
的:3
方式:1
是:1
通过:1
通信:1
控制:1
和:2
计算技术:1
交叉:1
应用:1
建造:1
一个:1
信息:1
物理:2
系统:3
促进:1
数字:1
融合:1
出现最多的词是(的 系统):3 次

国内镜像资源网站
清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple
中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple

使用方法
使用pip指令 ,加上-i,后面跟镜像库网址

pip install -i  https://pypi.tuna.tsinghua.edu.cn/simple jieba

猜你喜欢

转载自blog.csdn.net/greatau/article/details/134087519