Python帮你分析孙猴子在大闹天宫时出现了几回?
目录
jieba库常用函数
精确模式
全模式
搜索引擎模式
自定义分词添加
中文分词案例
首先在这里祝各位互联网的大佬们节日快乐,永远暴富!
我是灰小猿,一个超会写bug的程序猿!
ieba库是Python中一个重要的第三方中文分词函数库,
由于该库是第三方库,并不是Python自带的模块,因此需要通过pip命令进行安装,pip安装命令如下:
pip install jieba
jieba库的原理是利用一个中文词库,将待分词的内容与分词词库进行对比,通过图结构和动态规划的方法找到最大概率的词组,当然中文词库中的词语不可能是唯一的,因此在jieba库中可以根据我们个人的需要向其中增加我们自定义的词语。
在jieba库中,支持三种分词模式:
精确模式
jieba.cut(s)
将句子最精确的切割开,常适合用于文本分析
全模式:
jieba..cut(s,cut_all=True)
将句子中所有可以成词的词语都扫描出来,速度快,但缺点是不能消除歧义。
搜索引擎模式:
jieba.cut_for_search(s)
在精确模式的基础上,对长词再次进行划分,提高召回率,适合用于搜索引擎分词
jieba库常用函数
jieba库中常用的函数如下:
函数 |
描述 |
jieba.cut(s) |
精确模式,返回一个可以迭代的数据类型 |
jieba..cut(s,cut_all=True) |
全模式,输出文本s中所有可能的词 |
jieba.cut_for_search(s) |
搜索引擎模式,适合搜索引擎建立索引的分词结果 |
jieba.lcut(s) |
精确模式,返回一个列表类型,建议使用 |
jieba.lcut(s,cut_all=True) |
全模式,返回一个列表类型,建议使用 |
jieba.lcut_for_search(s) |
搜索引擎模式,返回一个列表类型,建议使用 |
jieba.add_word(w) |
向分词字典中增加新词w |
接下来对以上常用的分词技术用具体的代码和大家分析一下:
精确模式
jieba.lcut()函数返回精确模式,其返回结果会将原文完整且不多余的以分词的形式输出
# 精确模式
import jieba
str1 = "中华人民共和国是一个伟大的国家"
list1 = jieba.lcut(str1)
print(list1)
['中华人民共和国', '是', '一个', '伟大', '的', '国家']
全模式
jieba.lcut(s,cut_all=True)函数返回全模式,即会将所有可能的分词全部输出,但缺点是数据冗余较大,
# 全模式
import jieba
str1 = "中华人民共和国是一个伟大的国家"
list2 = jieba.lcut(str1, cut_all=True)
print(list2)
['中华', '中华人民', '中华人民共和国', '华人', '人民', '人民共和国', '共和', '共和国', '国是', '一个', '伟大', '的', '国家']
搜索引擎模式
jieba.lcut_for_search(s)函数返回搜索引擎模式,该模式会先执行精确模式,然后将获得到的词一步步的分割获得结果,
# 搜索引擎模式
import jieba
str1 = "中华人民共和国是一个伟大的国家"
list3 = jieba.lcut_for_search(str1)
print(list3)
['中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '是', '一个', '伟大', '的', '国家']
自定义分词添加
但是jieba库内的中文分词资源必定有限,所以在进行一些我们自定义的词语时,系统将无法根据我们的需要进行划分,这个时候就需要我们自己使用add_word()函数在库中添加词语,效果如下:
str2 = "灰哥哥正在努力的学习Python"
list4 = jieba.lcut(str2)
print(list4)
jieba.add_word("灰哥哥")
list5 = jieba.lcut(str2)
print(list5)
中文分词案例
接下来和大家演示一个相关的实例,采用jieba库的中文分词技术,对“西游记”中大闹天宫一节中,各位人物的出场次数进行统计,
import jieba
text = open("dntg.txt").read() # 读取本章节文本
words = jieba.lcut(text) # 将可能出现的任务放入列表
nameWords = ["太白金星", "玉皇大帝", "太上老君", "唐僧", "东海龙王", "孙悟空", "马温", "悟空", "齐天大圣"]
swkWords = ["孙悟空", "马温", "悟空", "齐天大圣"]counts = {} # 定义存储数据的字典
for word in words:if word not in nameWords:continueelse:if word in swkWords:word = "孙悟空"counts[word] = counts.get(word, 0) + 1 # 将分解后的词数量进行统计
wordLists = list(counts.items()) # 讲字典内容转化为列表形式
wordLists.sort(key=lambda x: x[1], reverse=True) # 对获取到的词语进行由大到小的排序for wordList in wordLists:word, count = wordList[0], wordList[1]print("{} {}".format(word, count))
分词结果:
从结果可以看出,大闹天宫一章节中,出场率前六的人物角色分别是“孙悟空”、“太白金星”、“玉皇大帝”、“太上老君”、“唐僧”、“东海龙王”,其中,孙悟空的出场次序最多,为18次。
好了,关于jieba库中文分词技术的讲解就和大家分享到这里,
觉得不错记得点赞关注哟,
大灰狼陪你一起进步!
Python帮你分析孙猴子在大闹天宫时出现了几回?相关推荐
- 上海的二手房价有所下跌,现在你们的工资够买间厕所了吗?Python帮你分析上海的二手房价
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:林小呆 仪表板展示 项目背景 去面试的时候被问上海二手房的一些情况, ...
- 国庆节去哪浪?让 Python 帮你分析分析
2019 年国庆马上就要到来了... 今年想着来点新花样吧 玩肯定是要去玩的 不然怎么给祖国庆生 那去哪里好玩 big 还高呢? 咱就用 Python 分析下 看看哪些地方值得我们去 让我们 ...
- 放假去哪里好玩?用python帮你分析
是不是每次快到放假,纠结去哪里玩? 哪里风景好? 哪里好玩? 哪里人不多? 哪里不坑人? 今天就教你用代码来分析,制作一个旅游攻略 一.首先 我们今天要用到的工具 [开发环境]: 版 本: pytho ...
- 白月黑羽python_白月黑羽来帮你分析现在是选择 Python3.6 还是 Python 3.7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 选择 Python3.6 还是 Python 3.7? Python 3.7 已经发布了, 又有新版本玩喽!!但是有选择症的你,怎么办呢?像追剧一样,赶快 ...
- python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定
要说微信最让人恶心的发明,消息撤回绝对能上榜. 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于 ...
- 用python做舆情分析系统_如何用Python做舆情时间序列可视化?
如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...
- c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析
Python基础语法学习完成,先刷基础题100道巩固 ,附 题目.代码.知识分析 题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index ...
- python什么工作好找女朋友_程序员,三分钟教你用 Python 帮你找一个女朋友
原标题:程序员,三分钟教你用 Python 帮你找一个女朋友 什么是单身税? 单身税的历史可以追溯到2015年韩国的新政, 低生育率逼得韩国产生了这一政策. 现在我国也要实行这一政策, 很多单身狗就接 ...
- python to go,Python 开发者在迁移到 Go(lang) 时需要知道哪些事?
[编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Pyth ...
最新文章
- 《SAP FIORI 开发入门》课程答疑 第二期
- exchange 2013设置分层通讯簿(HAB)
- 暗通道去雾算法 python实现
- 吴麒pdf 自动控制原理下_自动控制原理 第五讲 频域分析(下)
- C++ 一个例子彻底搞清楚拷贝构造函数和赋值运算符重载的区别
- 超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
- 大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
- MySql索引分析及查询优化
- 蓝桥杯 基础练习 芯片测试
- 数据情报分析EXCEL篇
- Git 64位安装包下载
- 电商产品经理:如何搭建会员管理体系(多图干货)
- 大数据实战之路-数据仓库-项目运维交接文档
- Pytorch:卷积神经网络-空洞卷积
- hadoop集群搭建(3)
- 卡尔曼滤波与扩展卡尔曼滤波(EKF)
- 思维模型 帕累托法则
- 2021年全球陶瓷基板收入大约409.7百万美元,预计2028年达到657.3百万美元
- 转载1:拓扑结构介绍及其种类
- 像Swing这种已经不太用的技术,大学还在教,到底要不要学?
热门文章
- 【先收藏或浮窗】苹果WWDC20视频同步直播,一个小时后正式开始
- 曝光融合Exposure Fusion 与ghost
- AutoLISP-快速更正等高线高程
- android设置本地图片,Android设置头像,手机拍照或从本地相册选取图片作为头像...
- tkdnn 报错 “Could not parse line“
- 易语言python_Python如何调用易语言DLL
- 华菱丰汽贸携中企动力共迎房车新风口
- Windows 8 完美越狱(正式版)
- 学咽音,治疗我被烟酒破坏的嗓子
- Word删除最后一页空白页