码迷,mamicode.com
首页 > 编程语言 > 详细

python 中文分词:结巴分词

时间:2015-01-17 15:11:28      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

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

  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

python 中文分词:结巴分词

标签:

原文地址:http://www.cnblogs.com/kaituorensheng/p/3597271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!