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 相关文章推荐
pyqt4教程之widget使用示例分享
Mar 07 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
pandas.loc 选取指定列进行操作的实例
May 18 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
Python3实现的旋转矩阵图像算法示例
Apr 03 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
pytorch 图像预处理之减去均值,除以方差的实例
Jan 02 Python
Scrapy框架基本命令与settings.py设置
Feb 06 Python
python正则表达式实例代码
Mar 03 Python
python 安装移动复制第三方库操作
Jul 13 Python
python中pyplot基础图标函数整理
Nov 10 Python
十个Python自动化常用操作,即拿即用
May 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小偷相关截取函数备忘
2010/11/28 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
使用xampp搭建运行php虚拟主机的详细步骤
2015/10/21 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
jquery异步循环获取功能实现代码
2010/09/19 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
Python urls.py的三种配置写法实例详解
2017/04/28 Python
Python模块结构与布局操作方法实例分析
2017/07/24 Python
python中lambda()的用法
2017/11/16 Python
python通过zabbix api获取主机
2018/09/17 Python
对Pycharm创建py文件时自定义头部模板的方法详解
2019/02/12 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
移动端HTML5 input常见问题(小结)
2020/09/28 HTML / CSS
行政经理的岗位职责
2013/11/23 职场文书
高中地理教学反思
2014/01/29 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
文体活动总结
2015/02/04 职场文书
给男朋友的道歉短信
2015/05/12 职场文书
八月迷情观后感
2015/06/11 职场文书
重温入党誓词主持词
2015/06/29 职场文书
《绝招》教学反思
2016/02/20 职场文书
什么是求职信?求职信应包含哪些内容?
2019/08/14 职场文书