首页 文章详情

三种模式、两个函数掌握Python结巴分词重点功能

AI入门学习 | 450 2021-07-28 02:52 0 0 0
UniSMS (合一短信)

一、三种模式、两个函数

jieba是一款优秀的Python第三方中文分词库,jieba支持三种分词模式:精确模式、全模式和搜索引擎模式,涉及两个函数(jieba.cutjieba.cut_for_search),下面是三种模式的特点。

精确模式:试图将语句最精确的切分,不存在冗余数据,适合做文本分析

全模式:将语句中所有可能是词的词语都切分出来,速度很快,但是存在冗余数据

搜索引擎模式:在精确模式的基础上,对长词再次进行切分

示例如下,假设要分割的句子为:seg = '我来到北京清华大学'


精确模式

jieba.cut(seg ,cut_all=False)

list(jieba.cut(seg ,cut_all=False))

['我', '来到', '北京', '清华大学']

全模式模式

jieba.cut(seg ,cut_all=True)

list(jieba.cut(seg ,cut_all=True))

['我', '来到', '北京', '清华', '清华大学', '华大', '大学']

搜索引擎模式

jieba.cut_for_search(seg )

list(jieba.cut_for_search(seg))

['我', '来到', '北京', '清华', '华大', '大学', '清华大学']


list(jieba.cut('我来到北京清华大学',cut_all=False))['我', '来到', '北京', '清华大学']
list(jieba.cut('我来到北京清华大学',cut_all=True))['我', '来到', '北京', '清华', '清华大学', '华大', '大学']
list(jieba.cut_for_search('我来到北京清华大学'))['我''来到''北京''清华''华大''大学''清华大学']


二、两个函数的列表模式

jieba.cut 以及 jieba.cut_for_search 返回的是一个可迭代对象,可以使用 for 循环来获得分词结果

jieba.lcut 以及 ieba.lcut_for_search 直接返回 list

1、直接使用jieba.cut 和 jieba.cut_for_search

jieba.cut('我来到北京清华大学',cut_all=False)<generator object Tokenizer.cut at 0x00000134D8B6EAC0>

jieba.cut_for_search('我来到北京清华大学')<generator object Tokenizer.cut_for_search at 0x00000134D8B6EF90>

要获取其中的分词结果,有多种方法可以获取

for循环获取

result = jieba.cut('我来到北京清华大学',cut_all=False)for i in result:    print(i)来到北京清华大学


用join函数获取

';'.join(jieba.cut('我来到北京清华大学',cut_all=False))'我;来到;北京;清华大学'
' '.join(jieba.cut('我来到北京清华大学',cut_all=False))'我 来到 北京 清华大学'


直接使用list

list(jieba.cut('我来到北京清华大学',cut_all=False))['我', '来到', '北京', '清华大学']


当然,结巴里面直接也有类似的函数,不需要自己去处理了,看下面两个


2、使用jieba.lcut 和 jieba.lcut_for_search 

jieba.lcut('我来到北京清华大学',cut_all=False)['我', '来到', '北京', '清华大学']
jieba.lcut('我来到北京清华大学',cut_all=True)['我', '来到', '北京', '清华', '清华大学', '华大', '大学']
jieba.lcut_for_search('我来到北京清华大学') ['我', '来到', '北京', '清华', '华大', '大学', '清华大学']


先写这么多,其他的下次在写

···  END  ···


推荐阅读:
一、Number(数字)
全面掌握Python基础,这一篇就够了,建议收藏
Python基础之数字(Number)超级详解
Python随机模块22个函数详解
Python数学math模块55个函数详解
二、String(字符串)
Python字符串的45个方法详解
Pandas向量化字符串操作
三、List(列表)
超级详解系列-Python列表全面解析
Python轻量级循环-列表推导式
四、Tuple(元组)
Python的元组,没想象的那么简单
五、Set(集合)
全面理解Python集合,17个方法全解,看完就够了
六、Dictionary(字典)
Python字典详解-超级完整版
七、内置函数
Python初学者必须吃透这69个内置函数!
八、正则模块
Python正则表达式入门到入魔
笔记 | 史上最全的正则表达式
八、系统操作
Python之shutil模块11个常用函数详解
Python之OS模块39个常用函数详解
九、进阶模块
【万字长文详解】Python库collections,让你击败99%的Pythoner
高手如何在Python中使用collections模块

扫描关注本号↓

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter