python数据分析------文本挖掘(jieba)

1、import jieba

jieba的cut函数有三个模式:全模式、精准模式、搜索引擎模式

1 精确模式,试图将句子最精确地切开,适合文本分析;
2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

【jieba.lcut生成list,如  tags = jieba.lcut(text) ,text也要先处理成list。】

例子:全模式:cut_all=True

import jieba
sentence="我喜欢上海东方明珠"
w1=jieba.cut(sentence,cut_all=True)
for item in w1:
    print(item)

#结果:

喜欢
上海
上海东方
海东
东方
东方明珠
方明
明珠

精准模式:cut_all=False,或者默认情况下

import jieba
sentence="我喜欢上海东方明珠"
w2=jieba.cut(sentence,cut_all=False)
#或者w2=jieba.cut(sentence)
for item in w2:
    print(item)
#结果:

喜欢
上海
东方明珠

搜索引擎模式:jieba.cut_for_search()

import jieba
snetence="我喜欢上海东方明珠"
w3=jieba.cut_for_search(sentence)
for item in w3:
    print(item)
#结果


喜欢
上海
东方
方明
明珠
东方明珠

2、结巴的词性标注

import jieba.posseg 
sentence="我喜欢上海东方明珠"
w4=jieba.posseg.cut(sentence)
#flag为词性,word为词
for item in w4:
    print(item.word+"---"+item.flag)
#结果
我---r
喜欢---v
上海---ns
东方明珠---nr

词性:

3、加载自己创建的词典

比如:我在桌面创建了一个dict.txt。

import jieba.posseg
jieba.load_userdict('C:/user/Desktop/dict.txt')
sentence="Lee_yl学习Python"
w5=jieba.posseg.cut(sentence)
for item in w5:
    print(item)
#结果
Lee_yl/nr
学习/v
Python/eng

加载自己的文件是暂时的,本次加载在内存中,下一次需要再加载。

4、提取关键词【jieba.analyse.extract_tags(字符串,关键词数量)】

import jieba.analyse
sentence="我喜欢上海东方明珠"
w6=jieba.analyse.extract_tags(sentence,3)print(w6)
#结果
['东方明珠', '喜欢', '上海']

5、返回词语的位置

import jieba
w7=jieba.tokenize(sentence,mode="search")
for item in w7:
    print(item)
#结果,0,1,3,5,9表示词的索引位置
('我', 0, 1)
('喜欢', 1, 3)
('上海', 3, 5)
('东方明珠', 5, 9)

 6、计算词频(collections.defaultdict)

from collections import defaultdict
s = 'mississippi' d = defaultdict(int) for k in s: d[k] += 1 list(d.items())

结果:[('m', 1), ('i', 4), ('s', 4), ('p', 2)]

这里的defaultdict(function_factory)构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。比如default(int)则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d[key] 也有一个默认值,这个默认值是int()的默认值0.

 

转载于:https://www.cnblogs.com/Lee-yl/p/8808065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值