jieba结巴分词,分词方法cut和lcut有什么区别?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在结巴分词里面,有个.lcut()
还有个.cut()
方法。那么,这两个方法有什么区别呢?按照既往经验trim
和ltrim
的区别来说,l
意思是left
,那么lcut()
中的l
也是left
的意思么?这就是本文中要讨论的问题。
大家好,这里是苏南大叔的程序如此灵动博客,这里记录苏南大叔和计算机代码的故事。本文描述结巴分词中的lcut
函数和cut
函数的区别。本文测试环境:win10
,python@3.6.8
。
测试代码
测试代码如下:
import jieba
import jieba.posseg
words = "苏南大叔毕业于北京大学"
_generator = jieba.cut(words)
_generator2 = jieba.posseg.cut(words)
# print(type(_generator2), type(_generator2)) # <class 'generator'>
print('/ '.join(_generator)) #苏南/ 大叔/ 毕业/ 于/ 北京大学
for w in _generator2:
print(w.word+"/"+w.flag + " ", end="") #苏南/ns 大叔/n 毕业/n 于/p 北京大学/nt
_list = jieba.lcut(words)
_list2 = jieba.posseg.lcut(words)
# print(type(_list), type(_list2)) # <class 'list'>
print(_list) #['苏南', '大叔', '毕业', '于', '北京大学']
print(_list2) #[pair('苏南', 'ns'), pair('大叔', 'n')]
lcut()
函数有两个,一个是“jieba.lcut()”,另外一个是:“jieba.posseg.lcut()”。
结果遍历
普通的cut
的返回值是个generator
,好处是可以节省内存,缺点是只可以遍历一次。而lcut
返回值是个list
,可以多次遍历。但是,如果量大的时候,效果就不如generator
好用了。
但是,遍历的方式,都是一致的。
方案一[for in]【推荐】:
_result = jieba.posseg.cut(words)
list = [ w.word+"/"+w.flag for w in _result ]
print(" ".join(list))
_result2 = jieba.posseg.lcut(words)
list = [ w.word+"/"+w.flag for w in _result2 ]
print(" ".join(list))
方案二[set add join]【不推荐】:
_result = jieba.posseg.cut(words)
_aaa = set() # set 无序可添加add
for w in _result:
_aaa.add(w.word+"/"+w.flag)
print(" ".join(_aaa))
方案三[list append join]:
_result = jieba.posseg.cut(words)
_aaa = [] # 有序
for w in _result:
_aaa.append(w.word+"/"+w.flag)
print(" ".join(_aaa))
函数区别
通过测试结果可以看到,cut
函数和lcut
基本一样,只是返回值不一样。
名字 | 说明 | 返回值 | 遍历 |
---|---|---|---|
jieba.cut | 分词 | generator | 只能遍历一次 |
jieba.posseg.cut | 分词带词性 | generator | 只能遍历一次 |
jieba.lcut | 分词 | list | 可以遍历多次 |
jieba.posseg.lcut | 分词带词性 | list | 可以遍历多次 |
同样,原理cut()
的参数在lcut()
中也是存在的。下面的调用形式也是可以的:
jieba.lcut(words, cut_all=False)
jieba.posseg.lcut(words, cut_all=True)
相关文章
苏南大叔写过几篇有关结巴分词的文章了,列表如下:
综述
lcut
中的l
并不是left
的意思,而是返回结果是list
的意思。更多结巴分词的经验文章,请点击苏南大叔的博客文章:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。