结巴中文分词使用学习(python)

中文分词工具:结巴分词

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

分词功能

  1. 精确模式(默认):试图将句子最精确地切开,适合文本分析;
  2. 全模式,把句子中所有的可以成词的词语都扫描出来,但是不能解决歧义;
  3. 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。

    注意jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator,并不是一个list列表。

示例代码1

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:结巴分词测试,基本分词功能
时间:2016年5月21日 15:44:24
"""

import jieba

# 分词模式
seg = jieba.cut("这是一本关于信息检索的书", cut_all=True)  # cut_all=True,全模式
print(u"全模式分词: " + "/ ".join(seg))

seg = jieba.cut("这是一本关于信息检索的书", cut_all=False)  # cut_all=False,精确模式
print(u"精确模式分词: " + "/ ".join(seg))

seg = jieba.cut("他来到了网易杭研大厦")  # 默认是精确模式
print(", ".join(seg))

seg = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造")  # 搜索引擎模式
print(", ".join(seg))

添加自定义词典

用法jieba.load_userdict(file_name)

file_name 为文件类对象或自定义词典的路径

词典格式:一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略);用空格隔开,顺序不可颠倒。

词典示例

?云计算 5
李小福 2 nr
创新办 3 i
easy_install 3 eng
好用 300
韩玉赏鉴 3 nz
八一双鹿 3 nz
台中
凱特琳 nz
Edu Trust认证 2000

示例代码2

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:结巴分词测试,添加词典
时间:2016年5月21日 15:44:24
"""

import jieba

# 添加自定义词典
jieba.load_userdict("userdic.txt")
seg = jieba.cut("这是一本关于信息检索的书")
print "/ ".join(seg)

if __name__ == "__main__":
    pass

词性标注

采用和 ictclas (NLPIR)兼容的标记法。

words = pseg.cut("这是一本关于信息检索的书")
for word, flag in words:
    print (‘%s %s‘ % (word, flag))

备注:在anaconda python下,上述print报错方式,原因暂时未知。

其他

  1. 支持繁体分词
  2. 关键词提取
  3. 并行分词
  4. 返回词语在原文的起止位置

参考文献

官方说明:https://github.com/fxsjy/jieba

其他:https://segmentfault.com/a/1190000004061791

时间: 2024-07-31 10:37:28

结巴中文分词使用学习(python)的相关文章

"结巴"中文分词的R语言版本:jiebaR

"结巴"中文分词的R语言版本,支持最大概率法(Maximum Probability),隐式马尔科夫模型(Hidden Markov Model),索引模型(QuerySegment),混合模型(MixSegment),共四种分词模式,同时有词性标注,关键词提取,文本Simhash相似度比较等功能.项目使用了Rcpp和CppJieba进行开发. 特性 支持 Windows , Linux操作系统(Mac 暂未测试). 通过Rcpp Modules实现同时加载多个分词系统,可以分别使用不

python下结巴中文分词

http://blog.csdn.net/pipisorry/article/details/45311229 jieba中文分词的使用 import jieba sentences = ["我喜欢吃土豆","土豆是个百搭的东西","我不喜欢今天雾霾的北京", 'costumer service'] # jieba.suggest_freq('雾霾', True) # jieba.suggest_freq('百搭', True) words =

结巴中文分词

转自:http://www.gowhich.com/blog/147?utm_source=tuicool&utm_medium=referral 源码下载的地址:https://github.com/fxsjy/jieba 演示地址:http://jiebademo.ap01.aws.af.cm/ 特点 1,支持三种分词模式: a,精确模式,试图将句子最精确地切开,适合文本分析:    b,全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义:    c,搜索引擎模式

[python] 使用Jieba工具中文分词及文本聚类概念

声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台.        前面讲述了很多关于Python爬取本体Ontology.消息盒InfoBox.虎扑图片等例子,同时讲述了VSM向量空间模型的应用.但是由于InfoBox没有前后文和语义概念,所以效果不是很好,这篇文章主要是爬取百度5A景区摘要信息,再利用Jieba分词工具进行中文分词,最后提出文本聚类算法的一些概念知识.        相关文章:        [Python爬虫]

Python分词模块推荐:jieba中文分词

一.结巴中文分词采用的算法 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG) 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 对于未登录词,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法 二.结巴中文分词支持的分词模式 目前结巴分词支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义: 搜索引擎模式,在精确模式的基础上,对长词

中文分词之结巴分词~~~附使用场景+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 先说下注意点,结巴分词他没有对分

NLP︱中文分词技术小结、几大分词引擎的介绍与比较

笔者想说:觉得英文与中文分词有很大的区别,毕竟中文的表达方式跟英语有很大区别,而且语言组合形式丰富,如果把国外的内容强行搬过来用,不一样是最好的.所以这边看到有几家大牛都在中文分词以及NLP上越走越远.哈工大以及北大的张华平教授(NLPIR)的研究成果非常棒! 但是商业应用的过程中存在的以下的问题: 1.是否先利用开源的分词平台进行分词后,再自己写一些算法进行未登录词.歧义词的识别? 2.或者直接调用下文介绍的分词引擎来进行分词呢?缴费使用固然很棒,但是是否值得? ---------------

.net 的一个分词系统(jieba中文分词的.NET版本:jieba.NET)

简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb

jieba中文分词的.NET版本:jieba.NET

简介 平时经常用Python写些小程序.在做文本分析相关的事情时免不了进行中文分词,于是就遇到了用Python实现的结巴中文分词.jieba使用起来非常简单,同时分词的结果也令人印象深刻,有兴趣的可以到它的在线演示站点体验下(注意第三行文字). .NET平台上常见的分词组件是盘古分词,但是已经好久没有更新了.最明显的是内置词典,jieba的词典有50万个词条,而盘古的词典是17万,这样会造成明显不同的分词效果.另外,对于未登录词,jieba“采用了基于汉字成词能力的HMM模型,使用了Viterb