Python项目之企业审批流绩效分析分析应用2
在上一篇博文Python项目之企业审批流绩效分析分析应用1的源码基础上,发现统计出的词频需要做一些纠偏。
1、实际统计的时候,只按词库中的标准名词是不够说明问题,我们希望按照自定义的词组搭配进行自动切分,
jieba库支持自定义扩展词库:
jieba.load_userdict("newdit.txt")
文本格式:
派遣单 4 n
支付方式 4 n
预算编码 4 n
其中字母 表示词类型,数字表示期望统计词频
2、如:预算编码、WBS编码是同一个东西,且有些审批人可能直接写WBS,Python是大小写敏感的,所有wbs和WBS会被统计不同的词汇。所以算法中应该对这类词汇做汇总统计。同样,申请人要求回退和本人要求回退同样的理由,应该归为一类。
程序做如下调整:
#bpmRejectAnalyzeV1.py
import jieba
import jieba.posseg as pseg
from os import path
from scipy.misc import imread
from wordcloud import WordCloud
import matplotlib.pyplot as plt
def getTxt(txt):
with open(txt,'r',encoding='utf-8')as f:
reject_list = f.readlines()
return reject_list
def segmentWords(txtlist):
stop_words = set(line.strip() for line in open('stopwords.txt', encoding='utf-8'))
newslist = []
#新增自定义词
jieba.load_userdict("newdit.txt")
for subject in txtlist:
if subject.isspace():
continue
word_list = pseg.cut(subject)
for word, flag in word_list:
if not word in stop_words and flag == 'n' or flag == 'eng':
newslist.append(word)
#合并指定的相似词
for line in open('unionWords.txt', encoding='utf-8'):
newline = line.encode('utf-8').decode('utf-8-sig') #解决\ufeff问题
unionlist = newline.split("*")
for j in range(1,len(unionlist)):
#wordDict[unionlist[0]] += wordDict.pop(unionlist[j],0)
for index,value in enumerate(newslist):
if value == unionlist[j]:
newslist[index] = unionlist[0]
return newslist
def countWords(newslist):
wordDict = {}
for item in newslist:
wordDict[item] = wordDict.get(item,0) + 1
itemList = list(wordDict.items())
itemList.sort(key=lambda x:x[1],reverse=True)
for i in range(100):
word, count = itemList[i]
print("{}:{}".format(word,count))
def drawPlant(newslist):
d = path.dirname(__file__)
mask_image = imread(path.join(d, "mickey.png"))
content = ' '.join(newslist)
wordcloud = WordCloud(font_path='simhei.ttf', background_color="white", max_words=40).generate(content)
# Display the generated image:
plt.imshow(wordcloud)
plt.axis("off")
wordcloud.to_file('wordcloud.jpg')
plt.show()
def main():
txtlist = getTxt('P001.txt')
print(len(txtlist))
wordlist = segmentWords(txtlist)
countWords(wordlist)
drawPlant(wordlist)
main()
词云效果,比之前的好很多,能一眼看出问题:
Python项目之企业审批流绩效分析分析应用2相关推荐
- Python项目之企业审批流绩效分析分析应用1
结合词频统计的功能,联想到可以应用于企业审批流程回退意见的词频分析,是企业流程绩效分析的扩展之一. 技术路线:jieba分词,wordcloud绘制特定形状词云 #bpmRejectAnalyzeV1 ...
- Python项目实战 —— 04. 淘宝用户行为分析
Python项目实战 Python项目实战--目录 Python项目实战 -- 04. 淘宝用户行为分析 一.背景 二.解题思路 三.数据分析 3.1 数据清洗 3.2 数据分析 3.2.1 用户整体 ...
- python 审批流_Odoo 基于企业微信实现的通用审批流功能的自助配置及使用说明 - Oejia 技术栈,企业方案分享、Odoo顾问...
### 概述 以下为基于企业微信自建应用审批流程引擎实现的Odoo通用审批功能,基于企业微信官方审批应用实现的Odoo通用审批功能请移步到 http://oejia.net/blog/2020/05/ ...
- Python项目实战:使用PySpark对大数据进行分析
Python项目实战:使用PySpark对大数据进行分析 大数据,顾名思义就是大量的数据,一般这些数据都是PB级以上.PB是数据存储容量的单位,它等于2的50次方个字节,或者在数值上大约等于1000个 ...
- SAP实施项目中采购员在非生产性采购申请审批流中的角色安排
SAP实施项目中采购员在非生产性采购申请审批流中的角色安排 所谓非生产性物料,也叫间接物料,也有些企业称之为MRO物料.它主要包括而不限于如下物料:办公用品,劳保用品,备品备件,服务,固定资产等等.这 ...
- 钉钉python实现审批(通过软件和钉钉审批流的结合)
为了实现工单系统,又不想自己去结合钉钉的组织架构实现一套审批流,所以采用钉钉的审批结合自己的系统去实现工单. 由钉钉实现审批流,软件实现查询,记录工单等. 一.具体流程 二.具体的实现方式 获取tok ...
- 二次开发:flowable审批流程实践与创建流程源码分析
二次开发:flowable审批流程实践与创建流程源码分析 上一篇已经描述了基于开源项目https://doc.iocoder.cn/的flowable的快速开发,创建了一个租户,创建了用户和相应的岗位 ...
- 只能是做的HTML5审批流项目
这其实不叫工作流系统,更不能算是工作流产品了,只能是做的HTML5审批流项目.一个工作流软件产品,是能适用到各个行业,并且流程引擎的模型设计很健壮,利用流程引擎的模型能设计出各式各样的业务流程.飞鸽传 ...
- python有趣小项目源码分析_推荐 10 个有趣的 Python 项目
想成为一个优秀的开发者,没有捷径可走,势必要花费大量时间在键盘后. 而不断地进行各种小项目开发,可以为之后的大开发项目积攒经验,做好准备. 但不少人都在为开发什么项目而苦恼,因此,我为大家准备了10个 ...
最新文章
- java统计字符串中每个字符出现的次数,统计字符串中每个字符出现的次数
- python lambda表达式_Python中lambda表达式
- 随想录(由自定义打印函数想到的)
- 【Cocos2d-X(1.x 2.x) 】iOS6与iphone5解决armv7s,Default-568h@2x.png
- 解决Mac Chrome打开HTTPS证书错误问题
- Error in moviepy setup command: 'extras_require' must be a dictionary whose values are strings or li
- KeyMob聚合平台:为开发者塑造广告变现形式
- Java 调用gc语句_Java GC 、引用
- eclipse下androidannotations开发环境搭建
- Linux 和 Windows 下实现多进程的方式以及管道操作
- 坦克采样器加钢琴鼓组弦乐打击音源-IK Multimedia SampleTank 4 v4.1.4 + Library
- 手游方舟重启维护服务器要多久,方舟生存进化手游日常维护多久
- 手机QQ文件存储路径
- java 端口流量统计_java—流量统计源码 | 学步园
- JavaScript 事件和事件类型
- 东南大学 通信工程/电子信息工程 院校分析 通信保研面试重点问题
- 购物车js代码_JS实现购物车商品列表结算功能代码
- Android之ContentProvider
- java毕业生设计高校教学资源系统计算机源码+系统+mysql+调试部署+lw
- RFID智能仓储管理解决方案,你get到了吗-新导智能
热门文章
- 牛客小白月赛B JAVA大数或String
- 屡教不改!这四大运营商仍在出卖用户位置数据...
- 数据挖掘算法之时间序列算法(平稳时间序列模型,AR(p),MA(q),(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)学习笔记梳理
- Python环境搭建—安利Python小白的Python和Pycharm安装详细教程
- 项目实战——匹配系统(中)
- 常用条码打印机测纸方法
- 2022年Matlab毕设避坑指南及选题推荐
- 计算机系统基础:bomb炸弹实验
- 今日头条实习面经--20180509
- [HDU1290]献给杭电五十周年校庆的礼物