jieba库的使用大全
安装
jieba 是一个第三方库,所有需要我们在本地进行安装。
Windows 下使用命令安装:在联网状态下,在anaconda命令行下输入 pip install jieba 进行安装,安装完成后会提示安装成功 .
分词使用
分词的语法就不讲解啦,什么前向匹配,逆向匹配,还需要一个足够大的本地词典。自己构造挺麻烦的。
直接使用包吧。
直接使用jieba.cut
1 | #!/usr/bin/env python3 |
直接使用jieba.cut()返回的是一个对象。
我们更多需要用一个迭代器是结果显示出来。[i for i in c]

全模式分词
如输入北京大学
1 | jieba.cut(sentence,cut_all=True) |

搜索引擎分词
1 | c=jieba.cut_for_search(sentence) |

使用jieba.lcut分词
jieba.lcut()也可以使用全模式搜索,添加参数cut_all=True
1 | import jieba |
分词结果是一个数组,非对象。

修改词典
在现实生活中,有时候我们希望一个词不被分开,可以修改jieba的词典。
add_word(word, freq=None, tag=None) 和 del_word(word) #动态修改
1 | import jieba |

统计词频
1 | import jieba |

使用CountVectorizer统计词频
1 | import jieba |
词性标注
jieba分词的词性标注过程非常类似于jieba分词的分词流程,同时进行分词和词性标注。
在词性标注的时候,首先基于正则表达式(汉字)进行判断,1)如果是汉字,则会基于前缀词典构建有向无环图,然后基于有向图计算最大概率路径,同时在前缀词典中查找所分出的词的词性,如果没有找到,则将其词性标注为“x”(非语素字 非语素字只是一个符号,字母x通常用于代表未知数、符号);如果HMM标志位置位,并且该词为未登录词,则通过隐马尔科夫模型对其进行词性标注;2)如果是其它,则根据正则表达式判断其类型,分别赋予“x”,“m”(数词 取英语numeral的第3个字母,n,u已有他用),“eng”(英文)。流程图如下所示。
大白话讲解就是:先根据分词结果查找词典词性,给大多数词打上词性,未打上词性的单词再根据HMM模型打上词性。

jieba词性表,概括了绝大部分
| 英文简写 | 中文 | 例子 |
|---|---|---|
| a | 形容词 | 很贵 挺好用 |
| ad | 副形词 | 努目 完全 |
| ag | 形语素 | 详 笃 睦 |
| an | 名形词 | 困苦 危难 |
| b | 区别词 | 超常规 同一性 |
| c | 连词 | 以外 换句话 |
| d | 副词 | 幸免 四顾 绝对 |
| dg | 副语素 | 俱 辄 |
| e | 叹词 | 好哟 嗄 |
| f | 方位词 | 内侧 以来 |
| h | 前接成分 | 非 超低 |
| i | 成语 | |
| j | 简称略语 | 交警 中低收入 四个现代 |
| k | 后接成分 | 型 者 式 们 |
| l | 习用语 | 由下而上 十字路口 |
| m | 数词 | 九六 十二 |
| mg | 数语素 | 寅 巳 |
| mq | 数量词 | 半年度 四方面 |
| n | 名词 | 气压 写实性 |
| ng | 名语素 | 诀 卉 茗 鹊 娃 寨 酊 钬 |
| nr | 人名 | |
| nrt | 音译人名 | 米尔科 达尼丁 |
| nrfg | 古近代人名 | 张飞 赵云 任弼时 |
| ns | 地名 | |
| nt | 机构团体 | 浙江队 中医院 中华网 铁道部 |
| nz | 其他专名 | 培根 补丁 圣战士 英属 国药准字 |
| o | 拟声词 | 哈喇 咝 哗喇 咔喳 飕 哇哇 |
| p | 介词 | 顺当 顺着 借了 连着 |
| q | 量词 | 毫厘 盅 封 千瓦小时 |
| r | 代词 | 该车 这时 那些 |
| rg | 代语素 | 兹 |
| t | 时间词 | 新一代 清时 先上去 月初 昔年 无日 |
| tg | 时间语素 | 昔 晚 春 现 暮 夕 宵 |
| u | 助词 | 则否 等 恁地 等等 似的 来说 矣哉 来看 般 的话 |
| v | 动词 | |
| vd | 副动词 | |
| y | 语气词 | |
| z | 状态词 |
如何查看jieba的所有词性,见代码
1 | import jieba, pandas as pd, os |
生成的表格

词性我们一般关注 时间,地名,机构名。用于做命名实体识别。
命名实体识别:一般是词性标注加正则。
我是一个学电气的,我怎么懂得这些人工智能方面的知识。
词性标注
1 | import jieba.posseg as pseg |

词性标注 如果我们只想获得机构名
1 | import jieba.posseg as pseg |

