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

'''

  

最新文章

  1. 反人类的java
  2. iOS开发UI篇—Quartz2D简单使用(二)
  3. 如何调试lua脚本
  4. poi excel文件上传并解析xls文件
  5. 短信验证倒计时60s
  6. 简单的背包问题(入门)HDU2602 HDU2546 HDU1864
  7. 如何从google play下载app应用,直接下载apk
  8. 结构体的sizeof
  9. C++学习之路—引用(一)—基础知识
  10. Selenium常规操作---基于python
  11. go 实现单链表反转
  12. Homework:小写字母转大写字母
  13. Servlet(四):转发与重定向、路径问题
  14. 18.JAVA经典编程题(50题及答案)
  15. go runtime.Gosched()的作用分析
  16. 读QT5.7源码(三)Q_OBJECT 和QMetaObject
  17. Vue: ES6常用语法
  18. Writing your first Django
  19. 大型web系统数据缓存设计-l转载
  20. Linux命令-网络命令:ping

热门文章

  1. Android开发——View滑动的三种实现方式
  2. 1-Linux运维人员要求
  3. 5 Post实现django表单
  4. python开发记录第一篇
  5. luogu2221 [HAOI2012]高速公路
  6. 使用 jQuery Mobile 与 HTML5 开发 Web App 系列文章目录
  7. 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列
  8. django文件上传、图片验证码、抽屉数据库设计
  9. PC Server远程管理卡用户管理脚本实现
  10. python中字符串是特殊的列表