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实现ftp客户端示例分享
Feb 17 Python
详解python eval函数的妙用
Nov 16 Python
Django实现简单分页功能的方法详解
Dec 05 Python
python中requests和https使用简单示例
Jan 18 Python
解决PyCharm控制台输出乱码的问题
Jan 16 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
Python判断三段线能否构成三角形的代码
Apr 12 Python
浅谈Keras中shuffle和validation_split的顺序
Jun 19 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
python 使用Tensorflow训练BP神经网络实现鸢尾花分类
May 12 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
PHP4.04简明安装
2006/10/09 PHP
PHP教程 变量定义
2009/10/23 PHP
php代码书写习惯优化小结
2013/06/20 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
js下弹出窗口的变通
2007/04/18 Javascript
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
JavaScript调试工具汇总
2014/12/23 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
2015/10/24 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
python使用Apriori算法进行关联性解析
2017/12/21 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Python读取表格类型文件代码实例
2020/02/17 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
python3跳出一个循环的实例操作
2020/08/18 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
你常见到的runtime exception
2016/09/05 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
开学典礼感言
2014/02/16 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
市场开发计划书
2014/05/07 职场文书
2014年管理人员工作总结
2014/12/01 职场文书
会议通知格式范文
2015/04/15 职场文书
百年孤独读书笔记
2015/06/29 职场文书
2015大学生暑期实习报告
2015/07/13 职场文书