全部产品
云市场

订单风险识别(PAI+风险识别产品)

更新时间:2020-03-06 17:33:05

背景概述

风控涉及到日常生活行为的各个方面,例如线上交易订单、注册账号、账号登录等行为都会涉及到风控的校验。而一个完整的风控校验除了要包含风控领域常见的模型或者数据、规则的匹配,也要符合用户自身的业务个性化特点。

举个例子,下图是一份打标好的用户订单数据,

在做订单风险识别的时候,既有基于邮箱格式的一些风控领域常规逻辑,比如会校验邮箱的格式或者命名是否是真实的、校验邮箱是否为空等。也要结合用户自己的行为逻辑去判断,比如f_1、f_2、f_3这些用户自己的业务逻辑数据如何应用到风控中,是否能基于这些数据定制化模型。

如果要完成以上的风控任务,既要兼顾风控领域的规则性,也要兼顾用户自身业务的灵活性,需要将阿里云风险识别产品和阿里云机器学习PAI联合应用。风险识别产品提供风险领域的业务判断逻辑,PAI提供基于用户自身的灵活定制化能力,本文将针对下单风险识别这个经典场景进行介绍。

阿里云风险识别产品:https://www.aliyun.com/product/saf

阿里云机器学习PAI:https://data.aliyun.com/product/learn

1.构建风险事件

1.进入风险识别产品,新建事件,下单行为可以看作是一种事件。

在创建事件的时间需要将数据中可能出现的字段全部添加进去,比如下单行为包含以下字段:eventCode,email,accountId,price,currency,amount,f_1,f_2,f_3,都需要添加到事件的输入字段中。

2.要在事件下新建一个策略,在策略中可以加入判断邮箱是否为空以及邮箱是否是真实邮箱等策略,这些策略都已经内置到了风险识别产品内。

接下来要做的一件事情是进入PAI,然后结合用户的业务数据新建一个风险识别模型加入到现在的策略中。

2.用户自定义模型创建

首先创建PAI-Studio项目,并将用户的数据添加到PAI-Studio的底层计算引擎MaxCompute。

进入项目,基于PAI-Studio的机器学习组件搭建实验,并且生成模型。本次下单案例,以用户的price、amount,还有f_1、f_2、f_3等行为数据为特征,以最后的label为目标值,基于逻辑回归算法生成一个二分类模型,这个模型可以基于用户的数据去按照风险程度做打分。

可以右键数据源查看数据:

可以在二分类评估组件处查看模型评估报告(演示数据,效果不保证):

最终生成的评估模型需要发布到PAI-EAS成为一个Restful-API服务,在实验上方点击“模型在线部署”即可,

这时候会跳到PAI-EAS,把模型部署成一个RestfulAPI,找到模型并且在“调用信息”中点击生成公网地址,

这个时候在PAI部分的建模工作就结束了,接下来就是如何将模型服务部署到风险识别产品中。

3.网关配置

现在已经把模型变成了API服务,如果想在风险识别产品中获取模型,还需要在阿里云API网关做配置。

进入API Gateway:https://www.aliyun.com/product/apigateway

找到PAI-EAS发布过来的API,并且要做3处编辑:

1.请求模式要设置为:入参映射(过滤未知参数)

2.把模型训练涉及的参数添加进去,要选择query类型

3.请求Body勾选上“非Form表单数据”

4.增加风险识别的策略变量

完成以上操作后,PAI生成的用户自定义模型已经可以被风险识别产品加载,

1.具体方法是进入“变量中心”选择“变量管理”。

2.选择自定义API

3.新建API变量并且选择API网关中配置好的服务

4.选择对应的事件中的每个参数和PAI中的模型的映射关系

5.配置输出

需要注意的是变量输出这个字段,需要跟PAI-EAS的输出结果对应上。在二分类场景下,EAS输出的是一个数组,分别由p_0和p_1两个类别(如下图)组成,所以在这里可以通过[0].p_1或者[0].p_0指定想要的输出结果。

6.配置完API变量后,回到风险识别产品刚才设置好的“策略管理”页面中,将刚才配置好的API变量加到策略中去,需要选择自定义变量的具体返回变量名称。

7.最后要设计计算逻辑,因为风险识别产品中包含多种邮箱相关的策略,这些策略和用户基于PAI自定义生成的模型之间的执行顺序需要做一个配置。

提交即完成了整个链路的配置。

5.订单风险控制服务测试

可以进入Open API的线上地址测试整个服务的效果,地址:https://api.aliyun.com/#/?product=saf&api=ExecuteRequest

Service填写”saf_de”,代表风险识别产品

ServiceParameters可以写服务调用的时候的请求信息,本案例为:

  1. {"eventCode":"de_atkpxx0397","email":"kepaeg@teleosaurs.xyz","price":"703","amount":"5","accountId":"11767964","currency":"CNY","f_1":"63","f_2":"100","f_3":"49"}

可以实时拿到请求结果,上图标明这个订单交易是有风险的。具体详细的信息,可以复制RequestID,然后进入风险识别产品的“策略实验室”中的“策略还原”,将RequestID复制进去可以看到这个订单是命中了哪种风险策略,

通过报表可以了解到,在这个订单判断中,满足了邮箱不为空,且邮箱为无效邮箱,且PAI生成的评分模型判别为高风险这3条风险判断策略。