《智能信息系统建模》课程笔记
HW1-RPA
第一个大作业将学习使用 TagUI 这个开源工具实现简单的 RPA 自动化流程
TagUI
环境安装
第一步安装就遇到问题 尝试了很多次后下面是解决办法
下载旧版 TagUI 压缩包 然后去 github 下载最新版 TagUI 压缩包
将旧版压缩包解压后放到合适路径 并把目录下的 src 文件夹添加到环境变量 path 里
把新版压缩包解压后 找到 src 文件夹下 unx、casperjs、phantomjs 几个文件夹复制到旧版的 src 中 另外记得安装一个 php
然后应该就可以正常使用了 使用
tagui .\flows\samples\2_github.tag
测试一下即可
学习使用
启动参数
-d
会以创建 cmd 脚本的形式独立启动-h
会以不开启浏览器的形式启动
基础指令
- click:单击左键或右键 使用 html 的标记来定位元素 或者坐标点 或者也可以识别图像
- web:直接输入 url 即可访问
- type:进行文本输入
- read:读取元素的文本并存储给变量
- assign:给变量进行赋值
元素的定位
- DOM:使用 id、class 等 可能会有重复
- XPath:使用树状结构进行定位
- 坐标定位
- Image:图像识别定位
基本语法
- IF
- FOR
- functions:见http://www.tagui.com.cn/reference.html#helper-functions-reference
实现流程
使用 OCR 识别发票并进行发票审批
- 讯飞提供的 OCR 通用接口
- 流程:
- 上传图片到接口进行多次识别 返回识别结果 识别结果内加入本地图片路径 根据识别结果进行下一步操作
- 如果多次识别结果不一致 比如发票类型不一致、一次是错误码但是下一次是正确的等 则放入人工审批类
- 如果识别结果一致 则进行下一步操作
- 如果为错误码 比如 10909 则放入人工审批类
- 如果类型不是发票 放入非发票数据类
- 如果识别结果为发票 进行模糊匹配
- 匹配条件:
- 付款方为“浙江大学”:可以用模糊匹配 如果精准匹配则继续 如果未精准匹配但包含浙江大学其中 3 个字 放入人工审批
- 时间在 2015 年内:直接精准匹配就可以
- 审批金额在 1600 元内:直接精准匹配就可以
- 上述条件的具体字段如果是空字符串 考虑放入人工审批(因为相当于没有识别出来)
- 选出所有是发票的数据 进行数据处理
- 提取出买方和卖方、金额、交易频度
- 统计每一个交易主体的总交易额 以此分类为大客户、中客户、小客户
- 不管是什么类型 都应该在存入数据库时 根据图片路径上传图片到图床 并将返回的 url 存入数据库
- 根据发票代码和发票号码进行去重操作
数据持久化
- 将原始数据以及审批结果存入数据库 考虑将原始数据存入文档型数据库中 处理结果存入关系型数据库中
- 数据结果应该包含
- 审批状态:通过、未通过、人工审批
- 交易主体的分类:大客户、中客户、小客户
- 数据结果格式
- 非发票数据
- ID
- 图片路径
- 发票数据
- ID
- 发票图片路径
- 卖方
- 买方
- 金额
- 交易时间
- 审批状态
- 未通过原因
- 买方表
- ID
- 买方
- 交易总额
- 交易次数
- 客户分类
- 卖方表
- ID
- 卖方
- 交易总额
- 交易频度
- 客户分类
- 交易频度表
- ID
- 买方
- 卖方
- 交易频度
- 非发票数据
数据计算
- 发票数量
- 审批状态比例
- 交易量最大的 k 个客户
- 其他 比如交易量最大的 k 个客户的交易量占总交易量的比例等
展示数据
- 使用 tagui 将数据制成 excel 报表 并发送邮件给相关人员
总结
- 整个 RPA 流程实际上完全没有必要使用 TagUI 这个工具 因为 TagUI 的主要作用是操作浏览器进行自动化操作 而这个流程中并没有涉及到浏览器操作 只是简单的数据处理 实际上只能起到一个脚本的作用
- 整个流程概括一下就是 python 发送请求获取 OCR 识别结果 -> java 进行数据处理和存储 -> tagui 把生成的数据文件制成 excel 表格并发送邮件 tagui 整个流程作脚本的作用 使得可以一键运行
- 很垃圾很垃圾的大作业啊 你们有没有这样的大作业啊 真是数据又智能啊
HW2-业务建模分析
- 就是要画很多图 没什么好说的 直接看仓库里的成品吧(经典画图工程师)
作业要求
- 给你一个采购业务的流程 请你:
- 画出带泳道的 UML 活动图、角色行为图、数据流图、TFD 的其中 2 个图
- 给出其中 2 类不同主体的软件功能树 讲讲不同主体的业务功能有何区别(交给 GPT 即可)
- 给出本系统所有涉及到的信息对象的 UML 类图 并划分主数据、事务数据、状态数据
- 选择一个信息对象(比如订单) 画出其状态图和状态迁移表
HW3-Petri 网建模
- 最脑残的一集 给你驾校的业务流程 请你画出 Petri 网模型 分析仿真的结果以及驾校的收入 直接看仓库吧
HW4-流程挖掘
作业要求
给你 excel 数据 请你:
- 进行数据预处理 生成 xes 文件(尽量使用软件处理)
- 用 ProM 进行三种算法的流程挖掘 并分析结果
- 评估三种算法的优劣
- 建立 Petri 网模型 仿真并得出建议的医院人数配置
预处理
- 开始时间和结束时间取平均值作为时间戳
- 过滤掉所有“第一个事件不是挂号”的数据
算法
- Alpha 算法
- Heuristic 算法
- Fuzzy 算法
- ILP-based 算法
- 人工建模
评估
- 瞎几把写 问 GPT
Petri 网
- 按照生活经验建立 Petri 网模型
- 人数配置瞎几把讲就行 Petri 网就是依托构式 又不能模拟并发 鬼知道怎么配置人数
《智能信息系统建模》课程笔记
https://nwdnys1.github.io/2024/09/19/归档/MIIS/