时间:2021-07-01 10:21:17 帮助过:49人阅读
git clone git checkout jieba3k python setup.py install
2、使用
在使用它的时候首先要用import jieba代码导入jieba库,而由于中文文本中可能除了文本内容以外还有一些符号比如括号、等号或箭头等,还需要将这些通过正则表达式的方式匹配出来并删除,
由于使用到了正则表达式,所以还需要使用import re来导入相关函数库。
具体代码如下:
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)中文分词中加入自定义词典分词功能
5、改进后的中文分词函数
代码如下(同时又增加了其它常见符号):
#中文分词 def textParse(sentence): import jieba import re #以下两行过滤出中文及字符串以外的其他符号 r= re.compile("[\s+\.\!\/_\?【】\-(?:\))(?:\()(?:\[)(?:\])(\:):,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+") sentence=r.sub('',sentence) jieba.load_userdict("userdict.txt");#加载自定义词典 stoplist={}.fromkeys([line.strip() for line in open("stopkey.txt",'r',encoding= 'utf-8')])#停用词文件是utf8编码 seg_list = jieba.cut(sentence) seg_list=[word for word in list(seg_list) if word not in stoplist] #print ("Default Mode:", ' '.join(seg_list)) return seg_list
以上就是jieba中文分词的使用实例详解的详细内容,更多请关注Gxl网其它相关文章!