第 89 章 信用卡差异用例
行业使用原大 AI 在多个地区决定。一个区域是信用卡费用的吞吐量。当客户识别了信用卡的存在不正确或未识别的收费时,客户可能会给收费带来风险。在某些情况下需要信用卡入侵的人类干预,但大多数报告的信用卡 fraud 可以完全解决,或者部分通过原封 AI 解析。
此用例示例是一些不动的 Fortress 人员、企业客户 Joe 和商业流程管理(DSL)开发人员 Michelle。首先,我们将了解最初如何通过 Red Hat Process Automation Manager 数字决定使用 AI,然后我们将了解通过从机器学习创建的预测模型(PMML)模型来增强决策模型。
机器学习模型(如 Tensorflow™ 和 R™ )生成预测模型。您可以将这些预测模型保存为开放标准,如 PMML,以便您可以在 Red Hat Process Automation Manager 或其他支持 PMML 标准的产品中使用模型。
Red Hat Process Automation Manager 和 Red Hat OpenShift Container Platform
Fortress在 Red Hat OpenShift Container Platform 上使用 Red Hat Process Automation Manager 来开发和运行 Fortress 决策服务。Red Hat OpenShift Container Platform 是一个云平台,用于开发和运行容器化应用程序。它旨在启用支持它们的应用程序和数据中心,以便只从少量机器和应用程序扩展到为数百万客户端提供服务的数千台机器。Red Hat Process Automation Manager 是用于创建云原生自动化应用程序和微服务的红帽中间件。它使企业业务和 IT 用户能够记录、模拟、管理、自动化和监控业务流程和决策。Business Central 是 Red Hat Process Automation Manager 仪表板。
信用卡通过 Red Hat Process Automation Manager 数字决定
joe 是一个 Fortress Wright 客户。每个月都登录到 Fortress the website,在支付前查阅其所有责任。这个月,Joe 会看到一个被识别的事务,但数量不正确。供应商已收费了 $44.50 而不是 $4.50。joe 选择包含不正确项目的行,然后单击 Dispute。
此操作会启动一系列有关吞吐量的问题:
- 为什么您会观察这些事务?
- 您的卡是否是您的整个时间?
- 您想告诉我们什么其他问题吗?
在 Joe 回答问题后,网站为 Joe 提供了事件号 000004。
Fortress the 现在必须决定是否在没有人工调查或手动调查声明的情况下重新模拟吞吐量。手动调查需要更多资源,以便在人类资源方面自动处理所消耗的大量成本。但是,如果公司自动接受所有对成本的吞吐量,因为支付了模糊的声明,因此成本最终将更大。某人或某项必须做出决定是否进行调查。
信用卡 Dispute 项目
为了帮助做出这一决策,Fortress 工作中心使用 Business Central 创建包含障碍的 fraudDispute Case 项目的 CreditCardDisputeCase 项目。
进程变量
当 Joe 报告吞吐量时,会使用 ID FR-00000004 创建 fraudDispute 进程的实例。Process Variables 选项卡包含多个特定于 Joe 帐户的变量和值,包括 CaseID、caseFile_cardholderRIskRating (信用卡拥有者风险评级)和 caseFile_disputeRiskRating (这种差异的风险评级):
表也具有值为 true 的 casefile_automated 变量。这表示吞吐量满足自动处理的条件。
进程图
Diagram 选项卡包含 slirp 图,它显示了在决定是否自动或手动处理吞吐量时使用的决策路径:
Decision Task 任务包含基于 caseFile_cardholderRiskRiskRat ing 变量的值是否自动收费到 Joe 的帐户(Milestone 1)的规则,或者是否需要更多的调查(Milestone 2),它基于 变量的值。如果 Joe 的 Dispute 与自动批准标准匹配,则遵循 Milestone 1,并且会收费给其帐户。这个子进程非常强大且效率更高。如果 Joe 的吞吐量需要手动评估,则启动 Milestone 2 中的子进程,这需要一些人类执行者,并将需要更多资源进行处理。
caseFile_cardholderRisk RiskRiskRating
在这种情况下,决策任务任务决定处理 Joe 的吞吐量,因此它遵循 Milestone 1: Automatic the。
DMN 模型
以下简化的 DMN 模型显示作为 fraudDispute Decision 任务 一部分的决策过程:
输入变量为 Age (cardholder age), Incident Count (this cardholder), Cardholder Status (standard, silver, gold, platinum)和 Fraud Amount。
Red Hat Process Automation Manager 使用决策表中的输入变量来支持数字决策。决策表由人工业务创建。该人员创建了经过草案的业务需求分析文档,或电子表格以供利益相关者审查和批准。然后,项目设计器使用 Business Central DMN 编辑器将分析文档中的数据传送到 DMN 模型。Fortress 信用卡 Dispute 进程有两个决策表,即 Cardholder Risk Rating table 和 Dispute Risk Rating 表。Cardholder Risk Rating 表包含三个输入变量: Incident Count、Cardholder Status、和 Age。Dispute Risk Rating 表包含 Cardholder Status 输入变量。它根据 cardholder 状态以及吞吐量的数量计算 dispute 的风险。
Cardholder risk Rating
joe 是位于 25 年龄的 Silver 卡拥有者。以前,他存在两个以上的吞吐量,因此自己的风险评级为 2。如果 Joe 没有以前的吞吐量,则他的风险评级为 0。
风险评级
因为 Joe 是一个 Silver 卡拥有者,因此没有吞吐量的数量为 $40,Joe 在 Dispute Risk Rating 表中有一个 1 个评级。如果未吞吐量的数量为 $140,Joe 的风险评级为 2。
以下公式是作为 DMN 模型中 流程自动 最终决策的一部分实施的,使用两个决策表中的分数来确定是否自动收费的吞吐量数(Milestone 1),还是是否需要更多的调查(Milestone 2)。
(Cardholder Risk Rating + Dispute Risk Rating) < 5
如果 Joe 的整体风险分数小于 5,则会自动收费出电量(最小1)。如果总体分数为 5 或更高,则手动处理其吞吐量(等级2)。
在 Red Hat Process Automation Manager 数字决定中添加机器学习
由于 Fortress 对其客户具有历史数据,包括以前的事务和历史记录,因此企业可以将这些数据与机器学习一起使用,以创建可在 DMN 模型决策任务中使用的预测模型。与业务专家创建的路由表相比,这可以更加准确地评估风险。
Fortress the 有两个 PMML 文件集合,其中包含模型,它们更准确地评估风险预测。一个集合基于线性回归算法,另一个基于随机林算法。
线性回归是在统计数据和机器学习中最常用的算法之一。它使用一个线性仲裁,它组合了一组数字输入和输出值。随机林使用许多决策树作为输入来创建预测模型。
添加 PMML 文件
Michelle 将 dispute_risk_linear_regression PMML 文件导入到她的项目。她将 Cardholder risk Model Business model 添加到 DMN 模型中,并将 dispute_risk_linear_regression PMML 文件与节点相关联。Red Hat Process Automation Manager 分析 PMML 文件,并为节点添加输入参数。Michelle 将 Cardholder risk Model 节点与 Dispute Risk Rating 相关联。
然后 Michelle 将 credit_card_holder_risk_linear_regression PMML 模型添加到项目中,创建 Dispute risk Model 模式 DMN 文件,创建并将 credit_card_holder_risk_linear_regression PMML 文件与节点相关联。Red Hat Process Automation Manager 分析 PMML 文件,并为节点添加输入参数。
下图是 Michelle 的 DMN 模型,它使用 PMML 文件中的预测模型替换分析决策表:
Michelle 现在返回到 fraudDispute ö 模型,并使用她添加的 PMML 文件更新模型。然后,她重新部署项目。
增加分数精度
在这个新场景中,Michelle 重新部署了带有 PMML 模型的 Fortress mailbox 项目,我们会看到 Joe 日志到其 Fortress 账户并报告与不正确的事务相同的情况。在 Business Central 中,Michelle 会导航到 Process Instances 窗口,她会看到 Joe 的新吞吐量实例。在 Process Variables 选项卡中,Michelle 检查 cardHolderRiskRating 和 disputeRiskRating 的值。它们已更改,因为模型现在使用 PMML 文件。这通过使用基于历史数据的机器学习模型,从而更加精确地预测风险。同时,公司的策略仍由 DMN 决策模型强制执行:风险预测低于指定阈值,从而可以自动处理此吞吐量。
监�
最后,Fortress Wright 使用 Prometheus 收集有关信用卡吞吐量和 Grafana 的指标,以实时视觉化这些指标。监视器的上限显示业务指标键性能指示器(KPI),而下部分则显示操作指标 KPI。
89.1. 使用带有 DMN 模型的 PMML 模型来解决信用卡事务吞吐量 复制链接链接已复制到粘贴板!
本例演示了如何使用 Red Hat Process Automation Manager 创建使用 PMML 模型来解决信用卡事务吞吐量的 DMN 模型。当客户服务信用卡交易时,系统决定是否自动处理事务。
先决�件
Red Hat Process Automation Manager 可用,并在 Red Hat Process Automation Manager 安装中的
~/kie-server.war/WEB-INF/lib和~/business-central.war/WEB-INF/lib目录中添加了以下 JAR 文件:kie-dmn-jpmml-7.44.0.Final-redhat-00006.jar此文件包括在红帽客户门户网站的软件 下载页面中 的 Red Hat Decision Manager 7.9 Maven 存储库分发中(需要登录)。此文件的组 ID、工件 ID 和版本(GAV)标识符为
org.kie:kie-dmn-jpmml:7.44.0.Final-redhat-00006。如需更多信息,请参阅 Business Central 的 DMN 文件中的"Including PMML 模型"部分 使用 DMN 模型设计决策服务。- JPMML Evaluator 1.5.1 JAR 文件
JPMML Evaluator Extensions 1.5.1 JAR 文件
这些文件需要在 KIE 服务器和 Business Central 中启用 JPMML 评估。
重要红帽支持与 PMML (JPMML)的 Java Evaluator API 集成,用于 Red Hat Process Automation Manager 中的 PMML 执行。但是,红帽不支持 JPMML 库。如果您在 Red Hat Process Automation Manager 发行版中包含 JPMML 库,请参阅 JPMML 的 Openscoring.io 许可证条款。
�程
-
使用 第 89.2 节 “信用卡交易处理 PMML 文件” 中的 XML 示例的内容创建
dtree_risk_predictor.pmml文件。 在 Business Central 中,创建 Credit Card Dispute 项目:
-
导航到 Menu
Design Projects。 - 单击 Add Project。
-
在 Name 框中,输入
Credit Card Dispute并点 Add。
-
导航到 Menu
在 Credit Card Dispute 项目的 Assets 窗口中,将
dtree_risk_predictor.pmml文件导入到com软件包中:
- 点 Import Asset。
在 Create new Import Asset 对话框中,在 Name 框中输入
dtree_risk_predictor,从 Package 菜单中选择 com,选择dtree_risk_predictor.pmml文件,然后点 OK。dtree_risk_predictor.pmml文件的内容会出现在 Overview 窗口中。
在 com 软件包中创建 Dispute Transaction Check DMN 模型:
- 要返回项目窗口,请单击面栏中的 Credit Card Dispute。
- 点 Add Asset。
- 在资产库中点 DMN。
在 Create new DMN 对话框中,在 Name 框中输入
Dispute Transaction Check,从 Package 菜单中选择 com,然后单击 OK。DMN 编辑器会打开 Dispute Transaction Check DMN 模型。
创建 tTransaction 自定义数据类型:
- 点 Data Types 选项卡。
- 点 Add a custom Data Type。
-
在 Name 框中,输入
tTransaction。 - 从 Type 菜单中选择 Structure。
要创建数据类型,请点击检查标记。
tTransaction 自定义数据类型会出现一个变量行。
-
在变量行的 Name 字段中输入
transaction_amount,从 Type 菜单中选择 Number,然后点检查标记。 -
若要添加新变量行,请单击
transaction_amount行上的加号符号。此时会出现一个新行。 -
在 Name 字段中输入
cardholder_identifier,从 Type 菜单中选择 Number,然后点检查标记。
添加 风险 Predictor
dtree_risk_predictor.pmml模型:
- 在 DMN 编辑器的 Included Models 窗口中,单击 Include Model。
-
在 Include Model 对话框中,从 Models 菜单中选择
dtree_risk_predictor.pmml。 -
在
Provides a unique name 框中输入 risk Predictor,然后单击 OK。
使用 风险预测器和 DecisionTreeClassifier 模型创建 风险预测 商业知识库(BKM)节点:
在 DMN 编辑器的 Model 窗口中,将 BKM 节点拖到 DMN 编辑器 palette 中。
- 重命名节点 风险优先级。
点节点左侧的回收站图标下的编辑图标。
- 在 Risk Predictor 框中点 F,然后从 Select Function Kind 菜单中选择 PMML。F 对 P 的更改。
- 双击 First select PMML 文档 框,然后选择 risk Predictor。
- 双击 Second select PMML model 框,然后选择 DecisionTreeClassifier。
- 要返回 DMN 编辑器面板,请单击 Back to Dispute Transaction Check。
使用数据类型 t Transaction 创建事务输入数据节点:
在 DMN 编辑器的 Model 窗口中,将输入数据节点拖到 DMN 编辑器 palette 中。
- 重命名节点 事务。
- 选择节点,然后单击窗口右上角的属性铅笔图标。
-
在 Properties 面板中,选择 Information Item
Data type tTransaction,然后关闭面板。
创建 Transaction Dispute risk 决策节点,并为功能添加 Transaction 节点进行 数据输入和风险 Predictor 节点:
在 DMN 编辑器的 Model 窗口中,将决策数据节点拖到 DMN 编辑器 palette 中。
- 重命名节点 交易 Dispute risk。
- 选择 风险预测 节点,并将箭头从节点右上角拖到事务性风险 节点。
- 选择 Transaction 节点,并将箭头从节点右下角拖到事务性风险 节点。
在 Transaction Dispute risk 节点中,创建 风险预测 器调用功能:
- 选择 Transaction Dispute Risk 节点,然后点击节点左侧的编辑图标。
- 点 Select expression,然后从菜单中选择 Invocation。
- 在 Enter function 框中输入 risk Predictor。
- 单击 P1。
-
在 Edit Parameter 对话框中,在 Name 框中输入
amount,从 Data Type 菜单中选择 number,然后按 Enter 键。 - 点 Select expression,然后从菜单中选择 Literal 表达式。
-
在量旁边的框中输入
Transaction.transaction_ amount。 - 右键点击 1,并选择位于以下 的。这会打开 Edit Parameter 对话框。
- 在 Name 框中输入 holder_index,从 Data Type 菜单中选择 number,然后按 Enter 键。
- 点行 2 上的 Select expression,然后从菜单中选择 Literal 表达式。
-
在 大小 旁边的框中输入
Transaction.cardholder_identifier。
使用数据类型 号创建 风险 阈值输入数据节点 :
- 在 DMN 编辑器的 Model 窗口中,将输入数据节点拖到 DMN 编辑器 palette 中。
- 重命名节点 风险阈值。
- 选择节点,然后单击窗口右上角的属性铅笔图标。
-
在 Properties 面板中,选择 Information Item
Data type number,然后关闭面板。
创建 可以自动处理? 决策节点作为输入交易的 Dispute 风险 和风险 阈值 节点:
- 将决策节点拖到 DMN 编辑器面板,并重命名 它可以被自动处理?
- 选择节点,然后单击节点左上角的编辑图标。
- 点 Select expression,然后从菜单中选择 Literal 表达式。
-
在框中输入
Transaction Dispute Risk.predicted_dispute_risk < Risk Threshold。 - 选择 Transaction Dispute risk 节点,并将节点左上角的箭头拖到 可以自动处理的节点?
- 选择 risk Threshold 节点,并将节点左下角的箭头拖到 可以自动处理的节点?
保存模型并构建项目:
- 在 DMN 编辑器中,单击 Save。
- 如有必要,更正出现的任何错误。
- 要返回项目窗口,请单击面栏中的 Credit Card Dispute。
- 单击 Build。该项目应该成功构建。
添加并运行测试场景:
- 点 Add Asset。
- 选择 Test Scenario。
-
在 Create new Test Scenario 对话框中,输入名称
Test Dispute Transaction Check,从 Package 菜单中选择 com,然后选择 DMN。 - 从 Choose a DMN asset 菜单中选择 Dispute Transaction Check.dmn,然后点 OK。测试模板构建。
输入以下值并点 Save :
注意不要向 Transaction Dispute Risk 列中添加一个值。这个值由测试场景决定。
Expand 表 89.1. 测试场景参数 æ��è¿° 风险阈值 cardholder_identifier transaction_amount 可以自动处理? 风险阈值 5 自动处理
5
1234
1000
true
风险阈值 4,number = 1000,未处理
4
1234
1000
false
风险阈值 4,number = 180,自动处理
4
1234
180
true
风险阈值 1, amount = 1, 未处理
1
1234
1
false
- 要运行测试,请单击 Validate 右侧的 Play 按钮。结果会出现在屏幕右侧的 Test Report 面板中。