Python之jieba分词
2024-10-21 16:02:12
jieba,很有意思的一个模块,专门用来分词。
import jieba # sentence:分割的中文字符串 # cut_all:是否采用全模式,默认为False表示精确模式 # HMM:表示是否使用HMM模型,默认为True seg_list1 = jieba.cut(sentence="争取在二零一九年从面相对象编程到面向对象亲亲", cut_all=True, HMM=True) # 得到的是一个生成器,我们来转化成列表 print(list(seg_list1)) ''' ['争取', '在', '二', '零', '一九', '九年', '从', '面相', '相对', '对象', '编程', '到', '面向', '面向对象', '对象', '亲亲'] 可以看到全匹配就是这个样子,会有重复的 ''' seg_list2 = jieba.cut(sentence="争取在二零一九年从面相对象编程到面向对象亲亲", cut_all=False, HMM=True) # 改成精确模式打印一下 print(list(seg_list2)) ''' ['争取', '在', '二零一', '九年', '从', '面相', '对象', '编程', '到', '面向对象', '亲亲'] 可以看到整体还是比较让人满意的,除了那个二零一九年,jieba分成了"二零一"和"九年" 不过整体影响不大,毕竟二零一和九年组合起来都是比较符合常理的 ''' # 搜索引擎模式 seg_list3 = jieba.cut_for_search("争取在二零一九年从面相对象编程到面向对象亲亲") print(list(seg_list3)) # ['争取', '在', '二零一', '九年', '从', '面相', '对象', '编程', '到', '面向', '对象', '面向对象', '亲亲']
# 关键词提取 import jieba import jieba.analyse sentence = "给我听到了你们这群蠢货" \ "你们一直渴望得到的时间机器已经不在这里了" \ "在这个时代已经不存在了" \ "给我好好地后悔吧" \ "然后感到恐惧吧" \ "我一定会将命运石之门找出来" \ "这就是本大爷的选择" # sentence: 待提取的文本 # topK: 权重最大的关键词数量,默认为20个 # withWeight: 是否返回权重值,默认值为False # allowPOS: 仅包括指定的词性的词,默认值为空,即全包括 # n: 名词 ns: 地名 vn: 名动词 v: 动词 nr: 人名,不在这里面的会被过滤掉 keywords = jieba.analyse.extract_tags(sentence=sentence, topK=5, withWeight=True, allowPOS=("n", "nr", "ns") ) for item in keywords: print(item[0], item[1]) ''' 时间机器 2.2012550785666667 石之门 1.9924612504833332 蠢货 1.8892880490833335 大爷 1.3061487405483334 命运 1.1011633218949999 ''' # 查看词性 import jieba.posseg as pos words = pos.cut("我的太太叫新垣结衣") for word, category in words: print(word, category) ''' 我 r 的 uj 太太 n 叫 v 新垣 ns 结衣 n '''
最新文章
- 反人类的java
- iOS开发UI篇—Quartz2D简单使用(二)
- 如何调试lua脚本
- poi excel文件上传并解析xls文件
- 短信验证倒计时60s
- 简单的背包问题(入门)HDU2602 HDU2546 HDU1864
- 如何从google play下载app应用,直接下载apk
- 结构体的sizeof
- C++学习之路—引用(一)—基础知识
- Selenium常规操作---基于python
- go 实现单链表反转
- Homework:小写字母转大写字母
- Servlet(四):转发与重定向、路径问题
- 18.JAVA经典编程题(50题及答案)
- go runtime.Gosched()的作用分析
- 读QT5.7源码(三)Q_OBJECT 和QMetaObject
- Vue: ES6常用语法
- Writing your first Django
- 大型web系统数据缓存设计-l转载
- Linux命令-网络命令:ping