jieba中文分词的使用实例详解


本文摘自php中文网,作者巴扎黑,侵删。

中文文本分类不像英文文本分类一样只需要将单词一个个分开就可以了,中文文本分类需要将文字组成的词语分出来构成一个个向量。所以,需要分词。
这里使用网上流行的开源分词工具结巴分词(jieba),它可以有效的将句子里的词语一个个的提取出来,关于结巴分词的原理此处不再赘述,关键是他的使用方法。
1、安装
结巴分词是一个Python的工具函数库,在python环境下安装,安装方式如下:
(1)python2.x下
全自动安装 :easy_install jieba 或者 pip install jieba
半自动安装 :先下载 ,解压后运行python setup.py install
手动安装 :将jieba目录放置于当前目录或者site-packages目录
通过import jieba 来引用
(2)python3.x下
目前master分支是只支持Python2.x 的
Python3.x 版本的分支也已经基本可用:

1

2

3

git clone

git checkout jieba3k

python setup.py install

2、使用
在使用它的时候首先要用import jieba代码导入jieba库,而由于中文文本中可能除了文本内容以外还有一些符号比如括号、等号或箭头等,还需要将这些通过正则表达式的方式匹配出来并删除,
由于使用到了正则表达式,所以还需要使用import re来导入相关函数库。
具体代码如下:

1

2

3

4

5

6

7

8

9

def textParse(sentence):

    import jieba

    import re

    #以下两行过滤出中文及字符串以外的其他符号

    r= re.compile("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+")

    sentence=r.sub('',sentence)

    seg_list = jieba.cut(sentence)

    #print ("Default Mode:", ' '.join(seg_list))

    return [tok for tok in seg_list]

textParse函数接收一个句子(sentence)做为参数,返回结果是一个由句子词语构成的数组。
结巴分词中最关键的函数为jieba.cut该函数将接收到的句子分割成一个个词语并返回一个可供迭代的generator。代码的最后一行将这个结构转化为数组。

3、停用词
停用词是指一些中文中出现的语气词或连接词,这些词如果不进行踢出,会影响核心词与分类的明确关系。比如“的”,“之”,“与”,“和”等,也可以视情况增加适合本分类场景的停用词。中文停用词表涵盖了1598个停用词。可以从github上获取。
项目改进如下:
(1)在项目中新建停用词表stopkey.txt
将所有中文停用词进该文本文件中。
(2)中文分词时加入过滤停用词功能

4、自定义词典
针对分类场景,自定义一些常用词,当分词的时候遇到这些词就把他们作为单个词处理。如增加数据库中“多对多”到词典中可以避免分词的时候将上述词语分为“多”“对”“多”。这些词典的定义也与分类器应用场景有关。
项目改进如下:
(1)加入自定义词典文件userdict.txt
(2)中文分词中加入自定义词典分词功能

阅读剩余部分

相关阅读 >>

Python 通配符删除文件

详解pytorch 安装指南

Python中什么表示空类型

Python枚举类型是什么?Python枚举类型的简单介绍

Python中chr什么意思

Python能做游戏吗

jupyter 常用快捷键 及 常用方法笔记

Python使用最有效的方法删除大文件中的某一行的实例

爬虫&问题解决&思考

Python中函数的全面总结(附实例)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...