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生态系统(Python新手入门指导)
Dec 11 Python
在 Python 应用中使用 MongoDB的方法
Jan 05 Python
浅谈pyhton学习中出现的各种问题(新手必看)
May 17 Python
python 如何快速找出两个电子表中数据的差异
May 26 Python
Python基础之条件控制操作示例【if语句】
Mar 23 Python
Python3.5面向对象程序设计之类的继承和多态详解
Apr 24 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
Python单元测试与测试用例简析
Nov 09 Python
Python Serial串口基本操作(收发数据)
Nov 06 Python
Python图像处理之膨胀与腐蚀的操作
Feb 07 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 获取本地IP代码
2013/06/23 PHP
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
PHP切割汉字的常用方法实例总结
2019/04/27 PHP
语义化 H1 标签
2008/01/14 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
2014/08/18 Javascript
JS实现在网页中弹出一个输入框的方法
2015/03/03 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
JavaScript动态提示输入框输入字数的方法
2015/07/27 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
深入学习Bootstrap表单
2016/12/13 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
JavaScript布尔运算符原理使用解析
2020/05/06 Javascript
Python 迭代器与生成器实例详解
2017/05/18 Python
Python针对给定列表中元素进行翻转操作的方法分析
2018/04/27 Python
python3 kmp 字符串匹配的方法
2018/07/07 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
Python如何创建装饰器时保留函数元信息
2020/08/07 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
python如何编写类似nmap的扫描工具
2020/11/06 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
护士自荐信怎么写
2013/10/18 职场文书
机电一体化大学生求职信
2013/11/08 职场文书
高中历史教学反思
2014/02/08 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
六年级语文教学反思
2016/03/03 职场文书
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
idea下配置tomcat避坑详解
2022/04/12 Servers