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启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
Python Socket编程入门教程
Jul 11 Python
Python 自动补全(vim)
Nov 30 Python
彻底搞懂Python字符编码
Jan 23 Python
Python lambda函数基本用法实例分析
Mar 16 Python
Python迭代器定义与简单用法分析
Apr 30 Python
python 日期操作类代码
May 05 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
python--shutil移动文件到另一个路径的操作
Jul 13 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生成便于打印的网页
2006/10/09 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
Javascript 去除数组的重复元素
2010/05/04 Javascript
最新的10款jQuery内容滑块插件分享
2011/09/18 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
js加强的经典分页实例
2013/03/15 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
jquery实现简单的轮换出现效果实例
2015/07/23 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
2015/11/30 Javascript
Position属性之relative用法
2015/12/14 Javascript
JQuery.validate在ie8下不支持的快速解决方法
2016/05/18 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
在vue中使用axios实现post方式获取二进制流下载文件(实例代码)
2019/12/16 Javascript
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
Python 实现简单的客户端认证
2020/07/29 Python
SmartBuyGlasses丹麦:网上购买名牌太阳镜、眼镜和隐形眼镜
2016/10/01 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
继电保护工岗位职责
2014/01/05 职场文书
上班早退检讨书
2014/01/09 职场文书
六十岁生日答谢词
2014/01/10 职场文书
致200米运动员广播稿
2014/02/06 职场文书
实习报告评语
2014/04/26 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
2014年教育实习工作总结
2014/11/22 职场文书
教师创先争优承诺书
2015/04/27 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫