Python结巴中文分词工具使用过程中遇到的问题及解决方法


Posted in Python onApril 15, 2017

本文实例讲述了Python结巴中文分词工具使用过程中遇到的问题及解决方法。分享给大家供大家参考,具体如下:

结巴分词是Python语言中效果最好的分词工具,其功能包括:分词、词性标注、关键词抽取、支持用户词表等。这几天一直在研究这个工具,在安装与使用过程中遇到一些问题,现在把自己的一些方法帖出来分享一下。

官网地址:https://github.com/fxsjy/jieba

1、安装。

按照官网上的说法,有三种安装方式,

第一种是全自动安装:easy_install jieba 或者 pip install jieba,可是并没有找到它提供这个安装程序。

第二种方法是半自动安装:先下载http://pypi.python.org/pypi/jieba/ ,解压后在cmd命令行中运行 python setup.py install。这里需要注意的是,默认情况下,不能在cmd中直接运行python命令,需要把它的路径加入到环境变量path中方可。我试过,可行。但是 这种方法安装之后,结巴分词功能只能在Python自带的IDLE中使用。在含有PyDEV的MyEclipse中不能执行“import jieba”命令,所以继续尝试第三种方法。

第三种方法是手动安装:将jieba目录放置于当前目录或者site-packages目录。把下载到的jieba-0.30.zip解压后,里面有个jibba的文件夹,把它复制到与你的Python程序相同的位置,这样在程序中就可以执行“import jieba”了。

2、关于分词的实现

官网提供了分词的基本用法示例 :

#encoding=utf-8
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print "Full Mode:", "/ ".join(seg_list) # 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print "Default Mode:", "/ ".join(seg_list) # 精确模式
seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print ", ".join(seg_list)
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print ", ".join(seg_list)

程序可以执行,但是在MyEclipse中显示中文为Unicode编码,这不科学。

但是继续执行另一个词性标注的示例却非常正常:

import jieba.posseg as pseg
words = pseg.cut("我爱北京天安门")
for w in words:
  print w.word, w.flag

所以我就想去分析一下它的源代码,结果发现在jiba/_init_.py文件(这是实现分词的文件)的第209行(cut函数)中有关于检查编码的语句块:

if not isinstance(sentence, unicode):
  try:
   sentence = sentence.decode('utf-8')
  except UnicodeDecodeError:
   sentence = sentence.decode('gbk','ignore')

而在jieba/posseg/_init_.py文件(这是实现词性标注的文件)第158行的cut函数中却没有发现此类代码。所以我猜想,前者有检查编码的代码就出现乱码,而后者没有检查编码的代码而正常显示,所以就把前者检查编码的代码给注释了,结果程序执行报错,只好又把人家的源码还原,结果中文又正常显示了!

运行效果如下图:

Python结巴中文分词工具使用过程中遇到的问题及解决方法

以上只是对固定的中文字符串变量进行分词和词性标注,接下来的文章里我会尝试从文件中读取中文进行分词和词性标注。

更多关于Python相关内容可查看本站专题:《Python字典操作技巧汇总》、《Python字符串操作技巧汇总》、《Python常用遍历技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
使用grappelli为django admin后台添加模板
Nov 18 Python
Python实现二分法算法实例
Feb 02 Python
Python实现Kmeans聚类算法
Jun 10 Python
Go/Python/Erlang编程语言对比分析及示例代码
Apr 23 Python
python绘制散点图并标记序号的方法
Dec 11 Python
python 获取毫秒数,计算调用时长的方法
Feb 20 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python生命游戏实现原理及过程解析(附源代码)
Aug 01 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
Jun 18 Python
python之json文件转xml文件案例讲解
Aug 07 Python
python游戏开发Pygame框架
Apr 22 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 #Python
Python编程判断一个正整数是否为素数的方法
Apr 14 #Python
python编程实现归并排序
Apr 14 #Python
python实现折半查找和归并排序算法
Apr 14 #Python
Python+Wordpress制作小说站
Apr 14 #Python
Python 中 list 的各项操作技巧
Apr 13 #Python
简单的python后台管理程序
Apr 13 #Python
You might like
如何删除多级目录
2006/10/09 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
php两种无限分类方法实例
2015/04/21 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
PHP通过GD库实现验证码功能示例
2019/02/23 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
ajax 文件上传应用简单实现
2009/03/03 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
js中document.write的那点事
2014/12/12 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
详解前端路由实现与react-router使用姿势
2017/08/07 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
python标准日志模块logging的使用方法
2013/11/01 Python
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
简单的通用表达式求10乘阶示例
2014/03/03 Python
使用Python的内建模块collections的教程
2015/04/28 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
Python中用于计算对数的log()方法
2015/05/15 Python
asyncio 的 coroutine对象 与 Future对象使用指南
2016/09/11 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
python reverse反转部分数组的实例
2018/12/13 Python
python中sympy库求常微分方程的用法
2020/04/28 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
尤妮佳moony海外旗舰店:日本殿堂级纸尿裤品牌
2018/02/23 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
"引用"与指针的区别是什么
2016/09/07 面试题
商务助理岗位职责
2013/11/13 职场文书
路政管理毕业自荐书范文
2014/02/10 职场文书
实习证明格式范文
2014/10/14 职场文书