《智能信息系统建模》课程笔记

HW1-RPA

第一个大作业将学习使用 TagUI 这个开源工具实现简单的 RPA 自动化流程

仓库代码

TagUI

环境安装

第一步安装就遇到问题 尝试了很多次后下面是解决办法

  1. 下载旧版 TagUI 压缩包 然后去 github 下载最新版 TagUI 压缩包

  2. 将旧版压缩包解压后放到合适路径 并把目录下的 src 文件夹添加到环境变量 path 里

  3. 把新版压缩包解压后 找到 src 文件夹下 unx、casperjs、phantomjs 几个文件夹复制到旧版的 src 中 另外记得安装一个 php

  4. 然后应该就可以正常使用了 使用tagui .\flows\samples\2_github.tag测试一下即可

学习使用

启动参数

  • -d会以创建 cmd 脚本的形式独立启动 -h会以不开启浏览器的形式启动

基础指令

  • click:单击左键或右键 使用 html 的标记来定位元素 或者坐标点 或者也可以识别图像
  • web:直接输入 url 即可访问
  • type:进行文本输入
  • read:读取元素的文本并存储给变量
  • assign:给变量进行赋值

元素的定位

  • DOM:使用 id、class 等 可能会有重复
  • XPath:使用树状结构进行定位
  • 坐标定位
  • Image:图像识别定位

基本语法

实现流程

使用 OCR 识别发票并进行发票审批

  • 讯飞提供的 OCR 通用接口
  • 流程:
    1. 上传图片到接口进行多次识别 返回识别结果 识别结果内加入本地图片路径 根据识别结果进行下一步操作
    2. 如果多次识别结果不一致 比如发票类型不一致、一次是错误码但是下一次是正确的等 则放入人工审批类
    3. 如果识别结果一致 则进行下一步操作
    4. 如果为错误码 比如 10909 则放入人工审批类
    5. 如果类型不是发票 放入非发票数据类
    6. 如果识别结果为发票 进行模糊匹配
    7. 匹配条件:
    • 付款方为“浙江大学”:可以用模糊匹配 如果精准匹配则继续 如果未精准匹配但包含浙江大学其中 3 个字 放入人工审批
    • 时间在 2015 年内:直接精准匹配就可以
    • 审批金额在 1600 元内:直接精准匹配就可以
    • 上述条件的具体字段如果是空字符串 考虑放入人工审批(因为相当于没有识别出来)
    1. 选出所有是发票的数据 进行数据处理
    • 提取出买方和卖方、金额、交易频度
    • 统计每一个交易主体的总交易额 以此分类为大客户、中客户、小客户
    1. 不管是什么类型 都应该在存入数据库时 根据图片路径上传图片到图床 并将返回的 url 存入数据库
    2. 根据发票代码和发票号码进行去重操作

数据持久化

  • 将原始数据以及审批结果存入数据库 考虑将原始数据存入文档型数据库中 处理结果存入关系型数据库中
  • 数据结果应该包含
    • 审批状态:通过、未通过、人工审批
    • 交易主体的分类:大客户、中客户、小客户
  • 数据结果格式
    • 非发票数据
      • ID
      • 图片路径
    • 发票数据
      • ID
      • 发票图片路径
      • 卖方
      • 买方
      • 金额
      • 交易时间
      • 审批状态
      • 未通过原因
    • 买方表
      • ID
      • 买方
      • 交易总额
      • 交易次数
      • 客户分类
    • 卖方表
      • ID
      • 卖方
      • 交易总额
      • 交易频度
      • 客户分类
    • 交易频度表
      • ID
      • 买方
      • 卖方
      • 交易频度

数据计算

  • 发票数量
  • 审批状态比例
  • 交易量最大的 k 个客户
  • 其他 比如交易量最大的 k 个客户的交易量占总交易量的比例等

展示数据

  • 使用 tagui 将数据制成 excel 报表 并发送邮件给相关人员

总结

  • 整个 RPA 流程实际上完全没有必要使用 TagUI 这个工具 因为 TagUI 的主要作用是操作浏览器进行自动化操作 而这个流程中并没有涉及到浏览器操作 只是简单的数据处理 实际上只能起到一个脚本的作用
  • 整个流程概括一下就是 python 发送请求获取 OCR 识别结果 -> java 进行数据处理和存储 -> tagui 把生成的数据文件制成 excel 表格并发送邮件 tagui 整个流程作脚本的作用 使得可以一键运行
  • 很垃圾很垃圾的大作业啊 你们有没有这样的大作业啊 真是数据又智能啊

HW2-业务建模分析

  • 就是要画很多图 没什么好说的 直接看仓库里的成品吧(经典画图工程师)

作业要求

  • 给你一个采购业务的流程 请你:
    1. 画出带泳道的 UML 活动图、角色行为图、数据流图、TFD 的其中 2 个图
    2. 给出其中 2 类不同主体的软件功能树 讲讲不同主体的业务功能有何区别(交给 GPT 即可)
    3. 给出本系统所有涉及到的信息对象的 UML 类图 并划分主数据、事务数据、状态数据
    4. 选择一个信息对象(比如订单) 画出其状态图和状态迁移表

HW3-Petri 网建模

  • 最脑残的一集 给你驾校的业务流程 请你画出 Petri 网模型 分析仿真的结果以及驾校的收入 直接看仓库吧

HW4-流程挖掘

作业要求

  • 给你 excel 数据 请你:

    1. 进行数据预处理 生成 xes 文件(尽量使用软件处理)
    2. 用 ProM 进行三种算法的流程挖掘 并分析结果
    3. 评估三种算法的优劣
    4. 建立 Petri 网模型 仿真并得出建议的医院人数配置
  • 预处理

    • 开始时间和结束时间取平均值作为时间戳
    • 过滤掉所有“第一个事件不是挂号”的数据
  • 算法

    • Alpha 算法
    • Heuristic 算法
    • Fuzzy 算法
    • ILP-based 算法
    • 人工建模
  • 评估

    • 瞎几把写 问 GPT
  • Petri 网

    • 按照生活经验建立 Petri 网模型
    • 人数配置瞎几把讲就行 Petri 网就是依托构式 又不能模拟并发 鬼知道怎么配置人数

《智能信息系统建模》课程笔记
https://nwdnys1.github.io/2024/09/19/归档/MIIS/
作者
nwdnysl
发布于
2024年9月19日
许可协议