python 中文分词:结巴分词

简介:

中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词。其基本实现原理有三点:

  1. 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG)
  2. 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
  3. 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法

安装(Linux环境)

下载工具包,解压后进入目录下,运行:python setup.py install

 

模式

  1. 默认模式,试图将句子最精确地切开,适合文本分析
  2. 全模式,把句子中所有的可以成词的词语都扫描出来,适合搜索引擎

 

接口

  • 组件只提供jieba.cut 方法用于分词
  • cut方法接受两个输入参数:
    •   第一个参数为需要分词的字符串
    •   cut_all参数用来控制分词模式
  • 待分词的字符串可以是gbk字符串、utf-8字符串或者unicode
  • jieba.cut返回的结构是一个可迭代的generator,可以使用for循环来获得分词后得到的每一个词语(unicode),也可以用list(jieba.cut(...))转化为list  

 

实例

复制代码
#! -*- coding:utf-8 -*-
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all = True)
print "Full Mode:", ' '.join(seg_list)

seg_list = jieba.cut("我来到北京清华大学")
print "Default Mode:", ' '.join(seg_list)
复制代码

结果

 

实现原理

1. Trie树:参考http://www.cnblogs.com/kaituorensheng/p/3602155.html




本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/3597271.html,如需转载请自行联系原作者


相关文章
|
C++ Python Perl
终于解决VScode中python/C++打印中文全是乱码的问题了
终于解决VScode中python/C++打印中文全是乱码的问题了
终于解决VScode中python/C++打印中文全是乱码的问题了
|
Python
运行Python时中文注释报错的解决办法
运行Python时中文注释报错的解决办法
199 0
如何解决 在vscode中运行python代码在无法print中文的问题
如何解决 在vscode中运行python代码在无法print中文的问题
如何解决 在vscode中运行python代码在无法print中文的问题
|
算法 搜索推荐 Python
Python中文字符排序、英文字符排序、数值排序的本质比较和区别【刘金玉的Python笔记06】
Python中文字符排序、英文字符排序、数值排序的本质比较和区别【刘金玉的Python笔记06】
146 0
Python中文字符排序、英文字符排序、数值排序的本质比较和区别【刘金玉的Python笔记06】
|
自然语言处理 Python
【小白的实战】Python构建中文词云图
还记得之前我们构建英文词云图的实战吗?通过三期的涉及了自定义调参、形状等…… 几乎是可以自定义出自己的心仪词云了。 但关键问题是什么?——咱们是中国人,我们要做中文的词云!
【小白的实战】Python构建中文词云图
|
数据采集 搜索推荐 API
我做的python 中文api调用模块
可以自动调用api接口
229 1
|
SQL 开发框架 IDE
pycharm pro 2022 for mac(Python编辑开发)v2022.2.2中文激活版下载
pycharm pro 2022 for mac(Python编辑开发)v2022.2.2中文激活版
pycharm pro 2022 for mac(Python编辑开发)v2022.2.2中文激活版下载
|
自动驾驶 IDE 开发工具
Pycharm的安装并且连接已有的Python环境实现自由编译(附中文配置)|并通过Pycharm实现增加网站访问
Pycharm的安装并且连接已有的Python环境实现自由编译(附中文配置)|并通过Pycharm实现增加网站访问
260 0
Pycharm的安装并且连接已有的Python环境实现自由编译(附中文配置)|并通过Pycharm实现增加网站访问
|
Python
Python编程:使用gensim对中文文本进行相似度计算
Python编程:使用gensim对中文文本进行相似度计算
125 0
|
Python
Python编程:判断字符串中是否包含中文
Python编程:判断字符串中是否包含中文
414 0