jieba结巴分词,常用分词函数有哪些?如何获得分词词性?
发布于 作者:苏南大叔 来源:程序如此灵动~
结巴分词是python代码中,最常使用的分词组件,它可以自定义词典,也可以有多种分词使用方式。那么,jieba结巴分词,最常见的分词使用形式是哪些呢?如何才能获得良好的分词结果呢?这些是本文中要讨论的问题。

大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文主要讨论jieba的cut默认分词方式,以及jieba的posseg.cut分词方式。本文测试环境:win10,python@3.6.8,jieba@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.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这里分词的结果有word和flag,其中flag就是词性,这里的词性列表实际上是有个标准的,每个词性都有其特殊的属性意义。

这里的n/ns之类的字样,就是表示词性的。不过,具体每个词性表示什么意思。并不是本文要讨论的内容。这个是有个行业标准的,一般都会符合这个标准。这里有更详细的词性描述:
| 代码 | 含义 |
|---|---|
| ns | 地名 |
| n | 名词 |
| vn | 动名词 |
| v | 动词 |
相关文章
综述
jieba分词使用方式,还有其它的使用方式。本文介绍的两种方式,仅仅是对于苏南大叔有用的两个分词函数。在实际的运用中,一般使用lcut代替cut。不过,苏南大叔觉得这个cut也蛮好用的。更多jieba相关函数,请点击: