我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

结巴分词是python代码中,最常使用的分词组件,它可以自定义词典,也可以有多种分词使用方式。那么,jieba结巴分词,最常见的分词使用形式是哪些呢?如何才能获得良好的分词结果呢?这些是本文中要讨论的问题。

苏南大叔:jieba结巴分词,常用分词函数有哪些?如何获得分词词性? - 结巴分词
jieba结巴分词,常用分词函数有哪些?如何获得分词词性?(图3-1)

大家好,这里是苏南大叔的平行空间笔记本博客,这里记录苏南大叔和计算机代码的故事。本文主要讨论jiebacut默认分词方式,以及jiebaposseg.cut分词方式。本文测试环境:win10python@3.6.8jieba@0.42.1

安装jieba

安装方式非常简单,命令是:

pip install jieba

相关文章链接:

打印jieba的版本号,代码是:

jieba.__version__

可以使用dir函数,来获得jieba对象的可用方法。相关文章链接:

常用函数一:jieba.cut

jieba内有很多种cut,但是对于苏南大叔来说,其它的cut函数,都没有啥实用价值。所以,个人推荐使用默认的jieba.cut

测试代码如下:

import jieba
words = "苏南大叔毕业于北京大学"
seg_list  = jieba.cut(words)
seg_list2 = jieba.cut(words, cut_all=False)
seg_list3 = jieba.cut(words, cut_all=True)
print('/ '.join(seg_list))   # 苏南/ 大叔/ 毕业/ 于/ 北京大学
print('/ '.join(seg_list2))  # 苏南/ 大叔/ 毕业/ 于/ 北京大学
print('/ '.join(seg_list3))  # 苏南/ 南大/ 大叔/ 毕业/ 于/ 北京/ 北京大学/ 大学

上面的jieba.cut函数中,因为cut_all参数的默认值就是False。所以,两者等效。

苏南大叔:jieba结巴分词,常用分词函数有哪些?如何获得分词词性? - jieba-list
jieba结巴分词,常用分词函数有哪些?如何获得分词词性?(图3-2)

常用函数二:jieba.posseg.cut

如果不使用jieba.cut,而使用jieba.posseg.cut的话,是可以切割出词性的。使用方式如下:

import jieba.posseg
words = "苏南大叔毕业于北京大学"
result = jieba.posseg.cut(words)
res = ""
for w in result:
    res += w.word+"/"+w.flag + " "
print(res)            # 苏南/ns 大叔/n 毕业/n 于/p 北京大学/nt

这里分词的结果有wordflag,其中flag就是词性,这里的词性列表实际上是有个标准的,每个词性都有其特殊的属性意义。

苏南大叔:jieba结巴分词,常用分词函数有哪些?如何获得分词词性? - posseg-cut
jieba结巴分词,常用分词函数有哪些?如何获得分词词性?(图3-3)

这里的n/ns之类的字样,就是表示词性的。不过,具体每个词性表示什么意思。并不是本文要讨论的内容。这个是有个行业标准的,一般都会符合这个标准。这里有更详细的词性描述:

代码含义
ns地名
n名词
vn动名词
v动词

相关文章

综述

jieba分词使用方式,还有其它的使用方式。本文介绍的两种方式,仅仅是对于苏南大叔有用的两个分词函数。在实际的运用中,一般使用lcut代替cut。不过,苏南大叔觉得这个cut也蛮好用的。更多jieba相关函数,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python    jieba