摘要

使用python的jieba切词模块,对文本数据进行分词并统计个数(collections.Counter模块进行统计),这样方便了我们分析数据。要使用jieba模块分词的话,还需要自己建立一个适合自己行业的词性字典,否则切出来的词,很多并不是你想要的。

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

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

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

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

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

棉被

钢板 20-22吨

尼桑阳光事故车

钢构件

地瓜(可免高速费)35吨左右

标识标牌

衣物,家用设备!

空调风机盘管22台共计10个立方

四轮电动车

设备 混凝土搅拌机

果袋 4米2车 大车空车配货也可以 5吨重 7立方 价钱面议

果丹皮

小轿车SUV

猪饲料

食品 现代牧业牛奶

搅拌机

1.2米实木单人床

设备 衣服铁架

肥料

设备

肥料

鞋,鞋,鞋

蜜蜂

切词代码:

#!/usr/bin/env python
#coding = utf8
from collections import Counter
import jieba.analyse
import time
bill_path = r'bill.txt'
bill_result_path = r'bill_result.txt'
car_path = 'car.txt'
with open(bill_path,'r') as fr:
data = jieba.cut(fr.read())
data = dict(Counter(data))
with open(bill_result_path,'w') as fw:
for k,v in data.items():
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