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