结巴分词安装

结巴分词是Python语言中效果最好的分词工具,其功能包括:分词、词性标注、关键词抽取、支持用户词表等。python

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

 

一、安装。github

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

  • 第一种是全自动安装:easy_install jieba 或者 pip install jieba,推荐用第一种。
  • 第二种方法是半自动安装:先下载http://pypi.python.org/pypi/jieba/ ,解压后在cmd命令行中运行 python setup.py install。
  • 第三种方法是手动安装:将jieba目录放置于当前目录或者site-packages目录。把下载到的jieba-0.30.zip解压后,里面有个jibba的文件夹,把它复制到与你的Python程序相同的位置,这样在程序中就能够执行“import jieba”了。

二、关于分词的实现工具

官网提供了分词的基本用法示例 :搜索引擎

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


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

可是继续执行另外一个词性标注的示例却很是正常:.net

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


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

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

而在jieba/posseg/_init_.py文件(这是实现词性标注的文件)第158行的cut函数中却没有发现此类代码。code

相关文章
相关标签/搜索