发布一个python的分词模块
- bin - One Piece of Programming第一个版本实现了基于的MMSEG中文分词算法Python 实现. MMSEG实际上是一个正向最大匹配+多个规则的分词算法. 链接给出的几个网站写的很清楚了. 在开发过程中我增加了一个规则来处理原来的算法中有可能出现的冲突问题. 当所有的规则都无法唯一的确定一个chunk时,优先选择后面比较长的词. 开发过程中参照了MMSEG的Java实现和ruby实现.
就是前面说的中文分词,这里需要介绍的是一个分词效果较好,使用起来像但方便的Python模块:结巴。
一、结巴中文分词采用的算法
二、结巴中文分词支持的分词模式
目前结巴分词支持三种分词模式:
# -*- coding:utf-8 -*- import jieba text = '我来到北京清华大学' default_mode = jieba.cut(text) full_mode = jieba.cut(text,cut_all=True) search_mode = jieba.cut_for_search(text) print "精确模式:","/".join(default_mode) print "全模式:","/".join(full_mode) print "搜索引擎模式:","/".join(search_mode)
返回的数据如下:
上述代码解释:
三、结巴中文分词的其他功能
1、添加或管理自定义词典
结巴的所有字典内容存放在dict.txt,你可以不断的完善dict.txt中的内容。
2、关键词抽取
通过计算分词后的关键词的TF/IDF权重,来抽取重点关键词。
具体示例:
# -*- coding:utf-8 -*- import jieba.analyse text = "结巴中文分词模块是一个非常好的Python分词组件" tags = jieba.analyse.extract_tags(text,2) print "关键词抽取:","/".join(tags)
返回的结果为:关键词抽取: 分词/Python
更多信息请查看: https://github.com/fxsjy/jieba/
Related posts: