目录

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帮你分析孙猴子在大闹天宫时出现了几回?相关推荐

  1. 上海的二手房价有所下跌,现在你们的工资够买间厕所了吗?Python帮你分析上海的二手房价

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:林小呆 仪表板展示 项目背景 去面试的时候被问上海二手房的一些情况, ...

  2. 国庆节去哪浪?让 Python 帮你分析分析

         2019 年国庆马上就要到来了... 今年想着来点新花样吧 玩肯定是要去玩的 不然怎么给祖国庆生 那去哪里好玩 big 还高呢? 咱就用 Python 分析下 看看哪些地方值得我们去 让我们 ...

  3. 放假去哪里好玩?用python帮你分析

    是不是每次快到放假,纠结去哪里玩? 哪里风景好? 哪里好玩? 哪里人不多? 哪里不坑人? 今天就教你用代码来分析,制作一个旅游攻略 一.首先 我们今天要用到的工具 [开发环境]: 版 本: pytho ...

  4. 白月黑羽python_白月黑羽来帮你分析现在是选择 Python3.6 还是 Python 3.7

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 选择 Python3.6 还是 Python 3.7? Python 3.7 已经发布了, 又有新版本玩喽!!但是有选择症的你,怎么办呢?像追剧一样,赶快 ...

  5. python查看微信撤回消息_想查看微信好友撤回的消息?Python帮你搞定

    要说微信最让人恶心的发明,消息撤回绝对能上榜. 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于 ...

  6. 用python做舆情分析系统_如何用Python做舆情时间序列可视化?

    如何批量处理评论信息情感分析,并且在时间轴上可视化呈现?舆情分析并不难,让我们用Python来实现它吧. 痛点 你是一家连锁火锅店的区域经理,很注重顾客对餐厅的评价.从前,你苦恼的是顾客不爱写评价.最 ...

  7. c语言字符统计2sdut,山东理工大学SDUT - ACM OJ 题: Python代码 及分析

    Python基础语法学习完成,先刷基础题100道巩固 ,附 题目.代码.知识分析 题目:http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index ...

  8. python什么工作好找女朋友_程序员,三分钟教你用 Python 帮你找一个女朋友

    原标题:程序员,三分钟教你用 Python 帮你找一个女朋友 什么是单身税? 单身税的历史可以追溯到2015年韩国的新政, 低生育率逼得韩国产生了这一政策. 现在我国也要实行这一政策, 很多单身狗就接 ...

  9. python to go,Python 开发者在迁移到 Go(lang) 时需要知道哪些事?

    [编者按]本文最早由 Repustate 发布,主要介绍将代码迁移至 Go(lang) 时的注意事项.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 这是一篇讲述将大块 Pyth ...

最新文章

  1. 《SAP FIORI 开发入门》课程答疑 第二期
  2. exchange 2013设置分层通讯簿(HAB)
  3. 暗通道去雾算法 python实现
  4. 吴麒pdf 自动控制原理下_自动控制原理 第五讲 频域分析(下)
  5. C++ 一个例子彻底搞清楚拷贝构造函数和赋值运算符重载的区别
  6. 超好用的自带火焰图的 Java 性能分析工具 Async-profiler 了解一下
  7. 大型情感剧集Selenium:2_options设置 #华为云·寻找黑马程序员#
  8. MySql索引分析及查询优化
  9. 蓝桥杯 基础练习 芯片测试
  10. 数据情报分析EXCEL篇
  11. Git 64位安装包下载
  12. 电商产品经理:如何搭建会员管理体系(多图干货)
  13. 大数据实战之路-数据仓库-项目运维交接文档
  14. Pytorch:卷积神经网络-空洞卷积
  15. hadoop集群搭建(3)
  16. 卡尔曼滤波与扩展卡尔曼滤波(EKF)
  17. 思维模型 帕累托法则
  18. 2021年全球陶瓷基板收入大约409.7百万美元,预计2028年达到657.3百万美元
  19. 转载1:拓扑结构介绍及其种类
  20. 像Swing这种已经不太用的技术,大学还在教,到底要不要学?

热门文章

  1. 【先收藏或浮窗】苹果WWDC20视频同步直播,一个小时后正式开始
  2. 曝光融合Exposure Fusion 与ghost
  3. AutoLISP-快速更正等高线高程
  4. android设置本地图片,Android设置头像,手机拍照或从本地相册选取图片作为头像...
  5. tkdnn 报错 “Could not parse line“
  6. 易语言python_Python如何调用易语言DLL
  7. 华菱丰汽贸携中企动力共迎房车新风口
  8. Windows 8 完美越狱(正式版)
  9. 学咽音,治疗我被烟酒破坏的嗓子
  10. Word删除最后一页空白页