jieba
========
“结巴”中文分词:做最好的 Python 中文分词组件
"Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word segmentation module.
- _Scroll down for English documentation._
特点
========
* 支持三种分词模式:
* 精确模式,试图将句子最精确地切开,适合文本分析;
* 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
* 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。
* 支持繁体分词
* 支持自定义词典
* MIT 授权协议
友情链接
=========
* https://github.com/baidu/lac 百度中文词法分析(分词+词性+专名)系统
* https://github.com/baidu/AnyQ 百度FAQ自动问答系统
* https://github.com/baidu/Senta 百度情感识别系统
安装说明
=======
代码对 Python 2/3 均兼容
* 全自动安装:`easy_install jieba` 或者 `pip install jieba` / `pip3 install jieba`
* 半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 `python setup.py install`
* 手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
* 通过 `import jieba` 来引用
算法
========
* 基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
* 采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
* 对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法
主要功能
=======
1. 分词
--------
* `jieba.cut` 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型
* `jieba.cut_for_search` 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细
* 待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8
* `jieba.cut` 以及 `jieba.cut_for_search` 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用
* `jieba.lcut` 以及 `jieba.lcut_for_search` 直接返回 list
* `jieba.Tokenizer(dictionary=DEFAULT_DICT)` 新建自定义分词器,可用于同时使用不同词典。`jieba.dt` 为默认分词器,所有全局分词相关函数都是该分词器的映射。
代码示例
```python
# encoding=utf-8
import jieba
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("Full Mode: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("Default Mode: " + "/ ".join(seg_list)) # 精确模式
seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print(", ".join(seg_list))
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print(", ".join(seg_list))
```
输出:
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
【精确模式】: 我/ 来到/ 北京/ 清华大学
【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
2. 添加自定义词典
----------------
### 载入词典
* 开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。虽然 jieba 有新词识别能力,但是自行添加新词可以保证更高的正确率
* 用法: jieba.load_userdict(file_name) # file_name 为文件类对象或自定义词典的路径
* 词典格式和 `dict.txt` 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。`file_name` 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。
* 词频省略时使用自动计算的能保证分出该词的词频。
**例如:**
```
创新办 3 i
云计算 5
凱特琳 nz
台中
```
* 更改分词器(默认为 `jieba.dt`)的 `tmp_dir` 和 `cache_file` 属性,可分别指定缓存文件所在的文件夹及其文件名,用于受限的文件系统。
* 范例:
* 自定义词典:https://github.com/fxsjy/jieba/blob/master/test/userdict.txt
* 用法示例:https://github.com/fxsjy/jieba/blob/master/test/test_userdict.py
* 之前: 李小福 / 是 / 创新 / 办 / 主任 / 也 / 是 / 云 / 计算 / 方面 / 的 / 专家 /
* 加载自定义词库后: 李小福 / 是 / 创新办 / 主任 / 也 / 是 / 云计算 / 方面 / 的 / 专家 /
### 调整词典
* 使用 `add_word(word, freq=None, tag=None)` 和 `del_word(word)` 可在程序中动态修改词典。
* 使用 `suggest_freq(segment, tune=True)` 可调节单个词语的词频,使其能(或不能)被分出来。
* 注意:自动计算的词频在使用 HMM 新词发现功能时可能无效。
代码示例:
```pycon
>>> print('/'.join(jieba.cut('如果放到post中将出错。', HMM=False)))
如果/放到/post/中将/出错/。
>>> jieba.suggest_freq(('中', '将'), True)
494
>>> print('/'.join(jieba.cut('如果放到post中将出错。', HMM=False)))
如果/放到/post/中/将/出错/。
>>> print('/'.join(jieba.cut('「台中」正确应该不会被切开', HMM=False)))
「/台/中/」/正确/应该/不会/被/切开
>>> jieba.suggest_freq('台中', True)
69
>>> print('/'.join(jieba.cut('「台中」正确应该不会被切开', HMM=False)))
「/台中/」/正确/应该/不会/被/切开
```
* "通过用户自定义词典来增强歧义纠错能力" --- https://github.com/fxsjy/jieba/issues/14
3. 关键词提取
-------------
### 基于 TF-IDF 算法的关键词抽取
`import jieba.analyse`
* jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
* sentence 为待提取的文本
* topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
* withWeight 为是否一并返回关键词权重值,默认值为 False
* allowPOS 仅包括指定词性的词,默认值为空,即不筛选
* jieba.analyse.TFIDF(idf_path=None) 新建 TFIDF 实例,idf_path 为 IDF 频率文件
代码示例 (关键词提取)
https://github.com/fxsjy/jieba/blob/master/test/extract_tags.py
关键词提取所使用逆向文件频率(IDF)文本语料库可以切换成自定义语料库的路径
* 用法: jieba.analyse.set_idf_path(file_name) # file_name为自定义语料库的路径
* 自定义语料库示例:https://github.com/fxsjy/jieba/blob/master/extra_dict/idf.txt.big
* 用法示例:https://github.com/fxsjy/jieba/blob/master/test/extract_tags_idfpath.py
关键词提取所使用停止词(Stop Words)文本语料库可以切换成自定义语料库的路径
* 用法: jieba.analyse.set_stop_words(file_name) # file_name为自定义语料库的路径
* 自定义语料库示例:https://github.com/fxsjy/jieba/blob/master/extra_dict/stop_words.txt
* 用法示例:https://github.com/fxsjy/jieba/blob/master/test/extract_tags_stop_words.py
关键词一并返回关键词权重值示例
* 用法示例:https://github.com/fxsjy/jieba/blob/master/test/extract_tags_with_weight.py
### 基于 TextRank 算法的关键词抽取
* jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v')) 直接使用,接口相同,注意默认过滤词性。
* jieba.analyse.TextRank() 新建自定义 TextRank 实例
算法论文: [TextRank: Bringing Order
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
中文词云生成,先通过jieba分词,再调用wordcloud生成词云 (258个子文件)
0682d2516ac60254fab325fb312fcfd3597e37 690B
06d427ef7953ef51dc6f4d3c3efd80127d5d4d 239B
091240511ca29b5a3ca489886b9e3cb89f219a 2.39MB
0b7d27a5082c5e59391182dcf4133f1df5e0e7 165B
0b889fb64f45285cbcf1e4d7908527c5e90188 2KB
0d02bd48bc6e8f6d6a0de83274e51b7a2d428c 114B
0e2a942c2446304ef8c191d305794672dc23be 1KB
1682b21ab66d5de3bac192c86258377208e73e 2KB
177311c6abd5daed88501cfc9d901e5eaa4ba2 3KB
1812adf72e374ffd0fbea80b88ed3bb0442a07 508B
1b909799c0b6f42e82311b0a917b78fecee562 27B
1ba9e15f5024f4a9ad5d904aeffe6d5079a99a 92B
1c0c99a5b66535be2d90954fc4d20cccd70c50 515B
1c4a21c73d1b7b44af5953dc76b8adc870f705 68KB
1ec2ecac353cff72b6a5abfb42d359bb10226f 58B
246cb0d8cd56f7f43a3673fc82bbb52d46729f 3KB
256bccbbb818a7c0dc16601af330799b3d0f73 162B
26dc0d755bc5c2ae029054efc5d2bcac098307 173B
292795308cf967362eebe26a453ce9659f73b0 692B
2c45933b0f6dd853fdc96b26699932728ffbbc 559B
2d23bf501e373c1fa15e4d54ab9a10c0b2c59f 367B
2da32d45c267117cc9a9a74ce947fc5d5a4671 2KB
2eeda78dc9de1186c2e0e1526764af82ab3431 217B
2fdf8cff1f525954baac29581c159f2c1499ff 210KB
346e87fba69d246f9c80d4e31f98f127b7f2f2 128B
35a4f25bcc554100c24fe1b854c2662db65f3c 240B
37b090f7d259ad6f047b9a04ecfa5ffd76cc8d 182B
382a53bdca50500510baccadb2c6ca5b1422fb 90B
3b88ebbc8c42af1f3157f54b7d001c243d672d 3.36MB
3c374b8b67daaef423986045df6722974f1988 179B
3d81e6ef14374dfda3e104374049f1595add99 253B
3e3fae872906d752bdcac70d6c76b51f665a5b 2KB
3f2324fa3fd73593915ee884426da2c6ed3917 301B
3f9050f1620c36a669885a2663cd425db7b8de 884B
407641ecbd871fb4a91f6c3744bdadae1a69f4 52B
42b9cb9dd86f466638c888dfbbc26f7cf93194 301B
477922f703ae5eff1cbf0257d47091dd16192a 36B
481d2192747e40b34ebf2d758ea74b5a6b7bdb 176B
4bc1e8501bfdf0c39dbca7bd2f359b7296b68b 270B
4d649d75fc3dee6cd4c88606637396271bc1a2 165B
4e2f0e937699805d41e854c694a05cf6c5241a 43B
4fa3691020161a51de347a9b02407afe253132 174B
5008ec5564e4ec6ab382bf5785ce1223c6b4c4 381B
508755026c4fec0be6a4934b12bb6d348bcfcd 502B
53136a825f3637f61026d36cfcbafd8d95a86b 3KB
56ef582f944146204c94b24e01576862f61dfd 231B
571cddded38156d54a40ae5745c28f6da676dc 974B
5a8e64cdd3233fa6cf6c6e0666b6351115cf9a 174B
5cc81b15656dfa4906e51c3356f3742cfba653 87B
5cee8bffa2eca79a5ba7d85c1af199fb1ba640 823KB
5d9495f9915176eedadd9c7976a369f870bd5c 300B
5de7ee1ddc78458c5d534f4f9c0674dca28c2a 560B
5f5b18da2dbacd4553f5928a3c6388218a87c8 918B
5fc512a8bfab4aa0cb1fd5dd715b27c60eb0b3 2KB
5fcca9307cf4413befce189a193f30af392e88 79B
5fdda47c0d73443ffab270b1fafbdc0a0d7a34 61KB
600f77d88c8bcf27f42d87ea693172752f02a2 1KB
6075f64943e1861c420db4da38063de9d8afc5 2.09MB
60b096e060f0373e06ec91f4ca04350fb30ec7 275B
644e26acf305536ef65b08c580272bb40ba6f8 100B
6545a8db74087d5f7a25761170bdb646209966 1.41MB
65cf57cc44fc9601791e8fc81ff19b3df78fdc 6KB
67ef485bbd98160db5463fc8df6b48d1a17118 995B
68368e3a0118c301976df817afdb84f6f60158 337KB
6927200bb578a81ac722511bede02311084da3 559B
696316c699bed17814b1aab9ad0c5023053998 479B
6b595bd0f6e38d3be6f616d9c59fa41d000167 171B
6b8bb9e28972458a5bfcf171a07a1f6123a6b9 185B
6c66ddac8c3fda341b13bd1462076003d75c1d 151KB
6e1f7625d4920bd214160460bc60226a90ead1 300B
6efb5bb8170dd0e1ef634834bf621d3ba1347e 240B
6f44a4928a6fd04393904b7ee51af28f5c49e2 3KB
6fabcce14d7d75dba669f218bac8ae44cd9b6f 1KB
749b571860d7e4850902f7460247590bfe093e 2KB
75820bf50a18c144e78dc4a9865deb722969bc 3KB
75a1ba19dd870189e760f65ca1dbe5656da098 163B
777ecb96bb6a9b67ae67a578522fb4ebae76d4 77B
7e38d1531582b37059a4f37a1b7a48047330e3 300B
7e66b431461c785329a1b52199d4207daefacc 658B
8247b42184d2336a865b68e3b142470e785936 300B
8287d6619c84947775e30aad2653a0888ae65c 624B
82b97c170efc8743d9e83f4ce9e6c15ec1d581 274B
82cf3591b26563c0cbf6337089725961d92b26 1KB
8359640c379272e9878108bf3dfa691d421b6e 2KB
83db23e8bce4ff0264ebd91c6e33fb7a5f384e 511B
84ea3bac20f38b662623aaa9f893073026dfcd 151B
89249e0fb40eef7198e2ae23e948ccb3fb0dfc 324B
8cf24fe7eaa67d2c669b614158159665179f51 688B
8e9e53923a74734771e98efb45575497dbc88e 2KB
90995715e4614a21da9989433d6696b5a23cb6 177B
912fd65eee2f0cda9933eb0ce8c23c15e4ccee 31KB
918a6940a504247ef163bc263f3d07eb644ef9 466B
935147ddfa0164c46cde3b9811ebc8524584c3 227B
939509131987c1f8ee2eb2ade02f2a7214d979 185B
95d8f9d76e2e16c43bb62ca0c55c5053586dc2 168B
9652625b4b062989cf09599e1701b5fb7c61d5 487B
96fec4732827e30bafb6fcf642e5fd433ee6ec 165B
977835d35962f811a2d9ce0e0508af688ad9ef 3KB
97f37ff6f46a4bd9d0ba3a8815aa32a63a4cfe 2KB
98d5c7257893a953ce9074dffd9e846d798f28 10KB
共 258 条
- 1
- 2
- 3
资源评论
oneko
- 粉丝: 9
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功