第 93 章 信用卡欺诈用例
财务行业使用 pragmatic AI 在多个领域进行决策。个领域是信用卡的收费。当客户在信用卡中识别错误或未识别的收费时,客户可能会争取费用。在某些情况下,在某些情况下,需要人为信用卡欺诈的问题,但大多数报告的信用卡欺诈都是完全或部分被攻击的 AI 解析。
Tensorflow™ 和 R™ 等机器学习模型会产生预测模型。您可以在开放式标准(如 PMML)中保存这些预测模型,以便您可以在红帽决策管理器或其他支持 PMML 标准的产品中使用该模型。
93.1. 使用带有 DMN 模型的 PMML 模型来解决信用卡事务争端
本例演示了如何使用红帽决策管理器创建使用 PMML 模型解决信用卡事务争取的 DMN 模型。当客户争取信用卡交易时,系统会决定是否自动处理事务。
先决条件
Red Hat Decision Manager 可用,以下 JAR 文件已添加到
~/kie-server.war/WEB-INF/lib
和~/business-central.war/WEB-INF/lib
目录中:kie-dmn-jpmml-7.67.0.Final-redhat-00019.jar
此文件位于红帽客户门户网站的软件 下载页面中 的 Red Hat Decision Manager 7.13 Maven 存储库分发中(需要登录)。此文件的组 ID、工件 ID 和版本(GAV)标识符为
org.kie:kie-dmn-jpmml:7.67.0.Final-redhat-00019
。如需更多信息,请参阅 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 Decision Manager 中进行 PMML 执行。但是,红帽不支持 JPMML 库。如果您在 Red Hat Decision Manager 发行版本中包括 JPMML 库,请参阅 JPMML 的 Openscoring.io 许可条款。
流程
-
创建
dtree_risk_predictor.pmml
文件,其中包含 第 93.2 节 “信用卡事务事务练习 PMML 文件” 中 XML 示例的内容。 在 Business Central 中,创建 telemetry 卡 Dispute 项目:
-
导航到 Menu
Design Projects。 - 单击 Add Project。
-
在 Name 框中,输入
credit Card Dispute
并点 Add。
-
导航到 Menu
在转换 卡 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 编辑器的 已包含模型 窗口中,点 Include Model。
-
在 Include Model 对话框中,从 Models 菜单中选择
dtree_risk_predictor.pmml
。 -
在 Provide a unique name box 中输入
Risk Predictor
,然后单击 OK。
使用 风险预测器和 DecisionTreeClassifier 模型创建 风险预测 商业知识模型(BKM)节点:
在 DMN 编辑器的模型窗口中,将 BKM 节点拖到 DMN 编辑器面板。
- 重命名节点 风险预测。
点节点左侧的 trash can 图标下的编辑图标。
- 在 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 编辑器面板。
- 重命名节点 事务。
- 选择节点,然后单击窗口右上角的属性铅笔图标。
-
在 Properties 面板中,选择 Information Item
Data type tTransaction,然后关闭面板。
创建 事务风险 决策节点,并为该功能添加 事务 节点以进行数据输入 和风险预测 节点:
在 DMN 编辑器的模型窗口中,将决策数据节点拖到 DMN 编辑器面板。
- 重命名节点 事务 Dispute Risk。
- 选择 风险预测 节点,并将箭头从节点右上角拖到 Transaction Dispute risk 节点。
- 选择 事务 节点并将箭头从节点右边拖到 事务 Dispute risk 节点。
在 事务 Dispute Risk node 中,创建 风险预测器 调用功能:
- 选择 事务 Dispute Risk 节点,再单击节点左侧的编辑图标。
- 点 Select expression,再从菜单中选择 Invocation。
- 在 Enter 功能 框中输入风险预测器。
- 点 P1。
-
在 Edit Parameter 对话框中,在 Name 框中输入 数量,从 Data Type 菜单中选择数字,然后按 Enter 键。
- 单击 Select expression,再从菜单中选择 Literal 表达式。
-
在数量 旁边的复选框,输入
Transaction.transaction_ amount
。 - 右键单击 1,然后在下面选择" 插入"。这会打开 Edit Parameter 对话框。
- 在 Name 框中输入 holder_index,从 Data Type 菜单中选择 number,然后按 Enter 键。
- 单击行 2 上的 Select 表达式,再从菜单中选择 Literal 表达式。
-
在 数量 旁边的框中输入
Transaction.cardholder_identifier
。
使用数据类型 号 创建 Risk Threshold 输入数据节点:
- 在 DMN 编辑器的 Model 窗口中,将输入数据节点拖到 DMN 编辑器面板。
- 重命名节点 风险阈值。
- 选择节点,然后单击窗口右上角的属性铅笔图标。
-
在 Properties 面板中,选择 Information Item
Data type number,然后关闭面板。
创建可 自动处理? 决定节点作为输入 事务 Dispute 风险 和风险 阈值 节点:
- 将决策节点拖到 DMN 编辑器面板并将其重命名为 可自动处理?
- 选择该节点,然后单击节点左上角的编辑图标。
- 单击 Select expression,然后从菜单选择 Literal 表达式。
-
在方框中输入
Transaction Dispute Risk.predicted_dispute_ risk < Risk Threshold
。 - 选择 事务 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。 - 从选择 DMN 资产 菜单中选择 Dispute Transaction Check.dmn 并点 OK。测试模板构建。
输入以下值并点击 Save :
注意不要在 Transaction Dispute Risk 列中添加一个值。这个值由测试场景决定。
表 93.1. 测试场景参数 描述 risk Threshold cardholder_identifier transaction_amount 是否可以自动处理? 风险阈值 5,自动处理
5
1234
1000
true
风险阈值 4、数量 = 1000,没有处理
4
1234
1000
false
风险阈值 4、数量 = 180,自动处理
4
1234
180
true
风险阈值 1、数量 = 1,未处理
1
1234
1
false
- 要运行测试,请单击 Validate 右侧的 Play 按钮。结果会显示在屏幕右侧的 Test Report 面板中。