机器学习入门之jieba分词

#coding=utf-8
import jieba
import jieba.posseg as pseg # 词性标注
import jieba.analyse  #关键词提取
import re

# jieba自定义词典
# jieba.load_userdict()
# 更改匹配规则,让其识别字典中的空格
jieba.re_han_default = re.compile("(.+)", re.U) #针对于默认模式
# jieba.re_han_cut_all = re.compile("(.+)", re.U) #针对于全模式
jieba.add_word("王者荣耀")
jieba.add_word("小米 NOTE3")

sentence = "我用小米 NOTE3打王者荣耀2019上海交通大学联赛"
# 全模式
seg_list = jieba.cut(sentence=sentence,cut_all=True)
print "[全模式]:","/ ".join(seg_list)
# 精确模式,也是默认模式
seg_list2 = jieba.cut(sentence=sentence,cut_all=False)
print "[精确模式]:","/ ".join(seg_list2)
# 搜索引擎模式
seg_list3 = jieba.cut_for_search(sentence=sentence)
print "[搜索引擎模式模式]:","/ ".join(seg_list3)
# HMM针对于字典以外的词,jieba使用HMM模型来进行匹配
seg_list4 = jieba.cut("他来到了网易杭研大厦",HMM=False)
print "[未启用HMM]:","/".join(seg_list4)
seg_list5 = jieba.cut("他来到了网易杭研大厦",HMM=True)
print "[未启用HMM]:","/".join(seg_list5)
# 结巴还支持繁体字的分词
# 关键字提取
# jieba提供了两种关键字提取的方法,TF-IDF,textRant
# TF词频,IDF逆文件频率,二者相乘
# 即是认为一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表该文章
sentence2 = "我认为一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越能够代表该文章"
# topK代表返回前几个权重最大的关键词,默认值20,withWeight,是否返回关键词的权重
cv = jieba.analyse.extract_tags(sentence=sentence2,topK=20,withWeight=True)
for i in cv:
    print i[0],"==>",i[1]
print "*"*20
cv2 = jieba.analyse.textrank(sentence=sentence2,topK=20,withWeight=True)
for i in cv2:
    print i[0],"==>",i[1]
#自定义语料库
# jieba.analyse.set_stop_words("stop_words.txt")
# jieba.analyse.set_idf_path("idf.txt.big");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值