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语言编写电脑时间自动同步小工具
Mar 08 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
使用python的pexpect模块,实现远程免密登录的示例
Feb 14 Python
Python 数据库操作 SQLAlchemy的示例代码
Feb 18 Python
python爬虫之自制英汉字典
Jun 24 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
Windows平台Python编程必会模块之pywin32介绍
Oct 01 Python
python下载卫星云图合成gif的方法示例
Feb 18 Python
pycharm运行程序时看不到任何结果显示的解决
Feb 21 Python
如何表示python中的相对路径
Jul 08 Python
利用python制作拼图小游戏的全过程
Dec 04 Python
Pandas 稀疏数据结构的实现
Jul 25 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
DSP接收机前端设想
2021/03/02 无线电
php 中文处理函数集合
2008/08/27 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
浅析php header 跳转
2013/06/17 PHP
CodeIgniter框架数据库事务处理的设计缺陷和解决方案
2014/07/25 PHP
利用php的ob缓存机制实现页面静态化方法
2017/07/09 PHP
分享十五个最佳jQuery 幻灯插件和教程
2010/03/27 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
Jquery之美中不足小结
2011/02/16 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
详解JavaScript对象的深浅复制
2017/03/30 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
2019/10/08 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
Python EOL while scanning string literal问题解决方法
2020/09/18 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
tensorflow求导和梯度计算实例
2020/01/23 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
Python getattr()函数使用方法代码实例
2020/08/10 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
幼师自荐信
2013/10/26 职场文书
国家助学金获奖感言
2014/01/31 职场文书
小学老师寄语大全
2014/04/04 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers