A-A+

python数据分析:jieba模块对数据进行切词并统计出现每个词的次数

2016年07月25日 Python 暂无评论 阅读 16,678 views 次

这次分词的目地就是要查看生产数据库中,发货表中的数据,看看哪些货源发源最多,统计出这些货源的数量

这次切词采用python的jieba切词模块

先把数据从数据库中导到一个txt文本里,然后python打开这文本,用jieba.cut直接切词

再用collections.Counter进行统计,再重新写到文本中保存结果,以便数据分析使用

 

数据库中导下来的部分数据如下:

棉被
钢板 20-22吨
尼桑阳光事故车
钢构件
地瓜(可免高速费)35吨左右
标识标牌
衣物,家用设备!
空调风机盘管22台共计10个立方
四轮电动车
设备 混凝土搅拌机
果袋 4米2车 大车空车配货也可以 5吨重 7立方 价钱面议
果丹皮
小轿车SUV
猪饲料

食品 现代牧业牛奶
搅拌机
1.2米实木单人床

设备 衣服铁架
肥料
设备
肥料
鞋,鞋,鞋
蜜蜂

切词代码:

  1. #!/usr/bin/env python
  2. #coding = utf8
  3. from collections import Counter
  4. import jieba.analyse
  5. import time
  6. bill_path = r'bill.txt'
  7. bill_result_path = r'bill_result.txt'
  8. car_path = 'car.txt'
  9. with open(bill_path,'r') as fr:
  10.         data = jieba.cut(fr.read())
  11. data = dict(Counter(data))
  12. with open(bill_result_path,'w') as fw:
  13.     for k,v in data.items():
  14.         fw.write("%s,%d\n" % (k.encode('utf-8'),v))

 

切词后的部分数据如下:

机台,137
速腾,30
铅门,1
机及,9
押金,2
以辆,1
遂溪,4
五百个,4
采煤,8
画眉鸟,3
神灯,1
冻肉,499
潮阳,1
体集,1
鹿,3
开封,20
福迪,2
纸张,213
上,242
壁式,7

 

其实这数据还是有很多问题的,主要是关于词性问题,首先,jieba库的词性标记有点问题,如“西瓜”,它在词性里标的是地名(ns),而不是名词(n),而且我们需要是n词性才对,所以造成很多数据是有问题的,所以,要根据行业特点,制定自己的词性字典,然后再进行切记,就会精准的很多,并在以后使用场景中不停地优化这个字典。关于更多的词性问题,可以查看相关的资料:

 

jieba相关资料

jieba

"结巴"中文分词:做最好的Python中文分词组件 "Jieba"

Feature

支持三种分词模式:

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

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

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

支持繁体分词

支持自定义词典

jieba更多资料:

https://github.com/fxsjy/jieba/tree/jieba3k

关于词性资料:

http://blog.csdn.net/kevin_darkelf/article/details/39520881

 

关键词:

给我留言

Copyright © linux系统运维 保留所有权利.   Theme  Ality 粤ICP备13023035号-1

用户登录

分享到: