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中OrderedDict的使用方法详解
May 05 Python
python Socket之客户端和服务端握手详解
Sep 18 Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 Python
django使用xlwt导出excel文件实例代码
Feb 06 Python
python3.x实现发送邮件功能
May 22 Python
Python图片转换成矩阵,矩阵数据转换成图片的实例
Jul 02 Python
python tkinter组件使用详解
Sep 16 Python
python3实现网页版raspberry pi(树莓派)小车控制
Feb 12 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
python和php哪个更适合写爬虫
Jun 22 Python
python3爬虫中异步协程的用法
Jul 10 Python
详解java调用python的几种用法(看这篇就够了)
Dec 10 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中cookies使用指南
2007/03/16 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
php使用curl伪造来源ip和refer的方法示例
2018/05/08 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
过虑特殊字符输入的js代码
2010/08/05 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
jQuery Ajax提交表单查询获得数据实例代码
2012/09/19 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
微信小程序movable view移动图片和双指缩放实例代码
2017/08/08 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
JQuery中queue方法用法示例
2019/01/31 jQuery
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
Python写入数据到MP3文件中的方法
2015/07/10 Python
python用装饰器自动注册Tornado路由详解
2017/02/14 Python
python 连接sqlite及简单操作
2017/06/30 Python
python机器学习之决策树分类详解
2017/12/20 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
python opencv实现证件照换底功能
2019/08/19 Python
python——全排列数的生成方式
2020/02/26 Python
python 给图像添加透明度(alpha通道)
2020/04/09 Python
关于Python3爬虫利器Appium的安装步骤
2020/07/29 Python
喜之郎果冻广告词
2014/03/20 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
房屋出售授权委托书
2014/10/12 职场文书
公司老总年会致辞
2015/07/30 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
Python实现视频中添加音频工具详解
2021/12/06 Python
如何创建一个创建MySQL数据库中的datetime类型
2022/03/21 MySQL