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多线程编程简单介绍
Apr 13 Python
Python字符串格式化输出方法分析
Apr 13 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
Python Django简单实现session登录注销过程详解
Aug 06 Python
python 求10个数的平均数实例
Dec 16 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
Feb 26 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python Tornado核心及相关原理详解
Jun 24 Python
浅谈matplotlib 绘制梯度下降求解过程
Jul 12 Python
Python+Matplotlib图像上指定坐标的位置添加文本标签与注释
Apr 11 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教程 基本语法
2009/10/23 PHP
php使用websocket示例详解
2014/03/12 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
php基于PDO连接MSSQL示例DEMO
2016/07/13 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
tp5(thinkPHP5)框架数据库Db增删改查常见操作总结
2019/01/10 PHP
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
微信小程序 下拉列表的实现实例代码
2017/03/08 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
在react中使用vuex的示例代码
2018/07/30 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
Django 配置多站点多域名的实现步骤
2019/05/17 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
和平主题的演讲稿
2014/01/12 职场文书
五心教育心得体会
2014/09/04 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
cf战队宣传语
2015/07/13 职场文书
关于保护环境的建议书
2019/06/24 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
Go中的条件语句Switch示例详解
2021/08/23 Golang