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

1、import jieba

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

1 精确模式,试图将句子最精确地切开,适合文本分析;

2 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;

3 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。

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

例子:全模式:cut_all=True

importjieba

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

#结果:

喜欢

上海

上海东方

海东

东方

东方明珠

方明

明珠

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

importjieba

sentence="我喜欢上海东方明珠"w2=jieba.cut(sentence,cut_all=False)#或者w2=jieba.cut(sentence)

for item inw2:print(item)

#结果:

喜欢

上海

东方明珠

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

importjieba

snetence="我喜欢上海东方明珠"w3=jieba.cut_for_search(sentence)for item inw3:print(item)

#结果

喜欢

上海

东方

方明

明珠

东方明珠

2、结巴的词性标注

importjieba.posseg

sentence="我喜欢上海东方明珠"w4=jieba.posseg.cut(sentence)#flag为词性,word为词

for item inw4:print(item.word+"---"+item.flag)

#结果

我---r

喜欢---v

上海---ns

东方明珠---nr

词性:

1338991-20180412152429627-1882415757.png

3、加载自己创建的词典

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

1338991-20180412152601032-1099141228.png

importjieba.posseg

jieba.load_userdict('C:/user/Desktop/dict.txt')

sentence="Lee_yl学习Python"w5=jieba.posseg.cut(sentence)for item inw5:print(item)

#结果

Lee_yl/nr

学习/v

Python/eng

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

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

importjieba.analyse

sentence="我喜欢上海东方明珠"w6=jieba.analyse.extract_tags(sentence,3)print(w6)

#结果

['东方明珠', '喜欢', '上海']

5、返回词语的位置

importjieba

w7=jieba.tokenize(sentence,mode="search")for item inw7: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 ins:

d[k]+= 1list(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.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值