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

时间: 2024-11-06 10:56:58

python 中文分词:结巴分词的相关文章

python中文分词,使用结巴分词对python进行分词

在采集美女站时,需要对关键词进行分词,最终采用的是python的结巴分词方法. 中文分词是中文文本处理的一个基础性工作,结巴分词利用进行中文分词.其基本实现原理有三点: 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法 安装(Linux环境) 下载工具包,解压后进入目录下,运行:python setup.py i

Python 结巴分词

今天的任务是对txt文本进行分词,有幸了解到"结巴"中文分词,其愿景是做最好的Python中文分词组件.有兴趣的朋友请点这里. jieba支持三种分词模式: *精确模式,试图将句子最精确地切开,适合文本分析: *全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: *搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词. 主要采用以下算法: *基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图

中文分词之结巴分词~~~附使用场景+demo

常用技能(更新ing):http://www.cnblogs.com/dunitian/p/4822808.html#skill 技能总纲(更新ing):http://www.cnblogs.com/dunitian/p/5493793.html 在线演示:http://cppjieba-webdemo.herokuapp.com 完整demo:https://github.com/dunitian/TempCode/tree/master/2016-09-05 先说下注意点,结巴分词他没有对分

ictclas,ansj,结巴分词,StanfordNLP中文分词以及所用词性标注集

NLPIR(ICTCLAS),参见java实现NLPIR(ICTCLAS)分词:http://www.bubuko.com/infodetail-665665.html,词性标注使用北大词性标注集.在Linux系统中的使用方法:http://jingyan.baidu.com/article/9158e0004251b4a2541228e5.html ansj分词,非常好用,ansj-seg把分词.词性标注.新词发现.关键词提取这些功能的接口,都抽取出来了,方便我们选择其中一部分使用,这点尤其在

python jieba 结巴分词报错 AttributeError: 'module' object has no attribute 'cut'

首先这个AttributeError: ‘module’ object has no attribute ‘cut’ 报错的原因是因为有jieba.py这个文件存在,或者jieba这样命名的文件存在,很多新人使用结巴 来分词的时候命名直接为jieba.py,但是其实官方给的教程代码里有import jieba,这样就会引用到你自己这个教程文件jieba.py,而没有引用官方的库,这样自然cut这个方法就没有,所以报错.解决方法:1.不要使用jieba.py来命名你的测试文件.2.你一开始就是用j

结巴分词与词云,简单爬虫——10.28 (python)

 bilibili弹幕词云 美国历史词云 结巴分词       import jieba txt=" **** " 精确模式:                                全模式:                                                               搜索模式: res = jieba.cut(txt)                     res =jieba.cut(txt ,cut_all=True)   

python3.6下安装结巴分词需要注意的地方

近期,在安装结巴分词的时候遇到一些问题,纠结了好一阵,跟大家分享下,希望能有所帮助.先说下安装环境: windows7, 64位系统 python3.6,python3.5在结巴分词的官方github上,描述了关于结巴分词(jieba)的安装步骤 全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba 半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python

ElasticSearch自定义分析器-集成结巴分词插件

关于结巴分词 ElasticSearch 插件: https://github.com/huaban/elasticsearch-analysis-jieba 该插件由huaban开发.支持Elastic Search 版本<=2.3.5. 结巴分词分析器 结巴分词插件提供3个分析器:jieba_index.jieba_search和jieba_other. jieba_index: 用于索引分词,分词粒度较细: jieba_search: 用于查询分词,分词粒度较粗: jieba_other:

结巴分词

去除停用词 链接1 链接2 结巴分词github 地址 加入自己的词典