Python jieba结巴分词原理及用法解析


Posted in Python onNovember 05, 2020

1、简要说明

结巴分词支持三种分词模式,支持繁体字,支持自定义词典

2、三种分词模式

全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

精简模式:把句子最精确的分开,不会添加多余单词,看起来就像是把句子分割一下

搜索引擎模式:在精简模式下,对长词再度切分

# -*- encoding=utf-8 -*-

import jieba

if __name__ == '__main__':
  str1 = '我去北京天安门广场跳舞'
  a = jieba.lcut(str1, cut_all=True) # 全模式
  print('全模式:{}'.format(a))
  b = jieba.lcut(str1, cut_all=False) # 精简模式
  print('精简模式:{}'.format(b))
  c = jieba.lcut_for_search(str1) # 搜索引擎模式
  print('搜索引擎模式:{}'.format(c))

运行

Python jieba结巴分词原理及用法解析

3、某个词语不能被分开

# -*- encoding=utf-8 -*-

import jieba

if __name__ == '__main__':
  str1 = '桃花侠大战菊花怪'
  b = jieba.lcut(str1, cut_all=False) # 精简模式
  print('精简模式:{}'.format(b))
  # 如果不把桃花侠分开
  jieba.add_word('桃花侠')
  d = jieba.lcut(str1) # 默认是精简模式
  print(d)

运行

Python jieba结巴分词原理及用法解析

4、 某个单词必须被分开

# -*- encoding=utf-8 -*-

import jieba

if __name__ == '__main__':
  # HMM参数,默认为True
  '''HMM 模型,即隐马尔可夫模型(Hidden Markov Model, HMM),是一种基于概率的统计分析模型,
  用来描述一个系统隐性状态的转移和隐性状态的表现概率。
  在 jieba 中,对于未登录到词库的词,使用了基于汉字成词能力的 HMM 模型和 Viterbi 算法,
  其大致原理是:
  采用四个隐含状态,分别表示为单字成词,词组的开头,词组的中间,词组的结尾。
  通过标注好的分词训练集,可以得到 HMM 的各个参数,然后使用 Viterbi 算法来解释测试集,得到分词结果。
  '''
  str1 = '桃花侠大战菊花怪'
  b = jieba.lcut(str1, cut_all=False, HMM=False) # 精简模式,且不使用HMM模型
  print('精简模式:{}'.format(b))
  # 分开大战为大和战
  jieba.suggest_freq(('大', '战'), True)
  e = jieba.lcut(str1, HMM=False) # 不使用HMM模型
  print('分开:{}'.format(e))

运行

Python jieba结巴分词原理及用法解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python登录Dr.com思路以及代码分享
Jun 25 Python
python爬取51job中hr的邮箱
May 14 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
Oct 16 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
对Python Class之间函数的调用关系详解
Jan 23 Python
Python+Selenium使用Page Object实现页面自动化测试
Jul 14 Python
在django view中给form传入参数的例子
Jul 19 Python
python批量图片处理简单示例
Aug 06 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
python代码打印100-999之间的回文数示例
Nov 24 Python
python名片管理系统开发
Jun 18 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 Python
Python根据字符串调用函数过程解析
Nov 05 #Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 #Python
Python利用matplotlib绘制折线图的新手教程
Nov 05 #Python
详解Django中异步任务之django-celery
Nov 05 #Python
Python Django路径配置实现过程解析
Nov 05 #Python
Python基于tkinter canvas实现图片裁剪功能
Nov 05 #Python
Python利用matplotlib绘制散点图的新手教程
Nov 05 #Python
You might like
PHP魔术方法的使用示例
2015/06/23 PHP
yii2.0实现验证用户名与邮箱功能
2015/12/22 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
动态添加option及createElement使用示例
2014/01/26 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
jQuery替换textarea中换行的方法
2015/06/10 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
vue指令以及dom操作详解
2017/03/04 Javascript
javascript完美实现给定日期返回上月日期的方法
2017/06/15 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
Python中functools模块的常用函数解析
2016/06/30 Python
浅谈python之新式类
2018/08/12 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
如何定义TensorFlow输入节点
2020/01/23 Python
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
Final类有什么特点
2012/04/25 面试题
红领巾心向党广播稿
2014/01/19 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
个人投资计划书
2014/05/01 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
副校长竞聘演讲稿
2014/09/01 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Python使用openpyxl模块处理Excel文件
2022/06/05 Python