具体实施方式
为了更好地理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
请参见图1,为本说明书实施例的业务决策处理应用场景示意图。其中,终端100位于用户侧,用于与网络侧的服务器200进行通信。所述终端100中的业务处理客户端101可以是基于互联网实现业务的APP或者网站,用于为用户提供业务处理界面并将业务数据提供给网络侧进行处理;所述服务器200中的业务决策处理装置201用于对所述业务处理客户端101产生的业务事件进行业务决策。所述终端100可以是智能手机、平板电脑、个人计算机以及台式计算机等设备;所述业务为任意可在网络上进行的业务,比如电子商务业务、金融业务、通信业务、风险控制业务、视频监控业务等,本说明书实施例对此不进行限定。
第一方面,本说明书实施例提供一种业务决策处理方法。图2是所述业务决策处理方法的流程图,所述业务决策处理方法包括步骤S201至步骤S204。
S201,接收待决策业务事件产生的业务数据。
所述待决策业务事件可以是指用户在业务系统中的一种或多种操作,例如用户在交易系统中的登录操作、注册操作、修改资料操作、发送信息操作等。所述业务数据是指与所述待决策业务事件相关的数据,以所述待决策业务事件为用户交易系统中的登录操作为例,所述业务数据可以包括用户信息、网络信息以及登录信息等,所述用户信息可以包括用户标识、用户名以及用户昵称等,所述网络信息包括IP地址以及MAC地址等,所述登录信息包括登录时间以及登录次数等。根据所述待决策业务事件的不同,所述业务数据也不相同,本说明书实施例对所述业务数据的具体内容不进行限定。
所述待决策业务事件通常是在业务系统中发生的,因而可以直接从业务系统接收所述待决策业务事件产生的业务数据。所述待决策业务事件虽然是在业务系统中发生,但是所述待决策业务事件产生的业务数据可能会被存储到数据库中,因而在一种可选实现方式中,也可以从数据库接收所述待决策业务事件产生的业务数据。进一步,出于某种或某些因素考虑,在业务系统中发生的待决策业务事件产生的业务数据可能需要先进行关键词过滤处理,在实际应用中可能会专门存在一个过滤系统用于进行关键词过滤处理,因而在一种可选实现方式中,还可以从用于进行关键词过滤处理的过滤系统接收所述待决策业务事件产生的业务数据。当然,还可以从其他系统或渠道接收所述待决策业务事件产生的业务数据,在此不再一一举例说明。需要说明的是,所述业务系统是指能够提供业务的系统,例如网络交易系统等。
S202,将所述待决策业务事件产生的业务数据输入规则条件预测模型,预测所述待决策业务事件对应的被执行的条件表达式的左变量。
将所述待决策业务事件产生的业务数据作为所述规则条件预测模型的输入,由所述规则条件预测模型自动进行关联规则挖掘,预测所述待决策业务事件对应的被执行的条件表达式的左变量。所述规则条件预测模型是预先生成的,用于表征业务数据与被执行的条件表达式的左变量之间的对应关系。本说明书实施例提供一种所述规则条件预测模型的生成方法,如图3所示,包括步骤S301至步骤S303。
S301,对每个样本事件进行业务决策处理。
所述样本事件为发生在预设时间段内的业务事件,所述预设时间段可以按照如下方式划分:由于时间属性为连续值,可以将时间离散化,即将时间进行分段。例如,按照天分段,所述预设时间段可以为一天或者几天;按照小时分段,所述预设时间段可以为一个小时或者几个小时。所述预设时间段的长短可以根据所述业务事件发生频率的高低进行设置,所述业务事件发生频率越高,则所述预设时间段可以设置得越短,只要保证在所述预设时间段内会发生足够多的业务事件作为样本事件即可。例如,在一个应用场景下,对一个小时内发生的每个业务事件进行业务决策处理,获得所述样本数据。
对所述每个样本事件进行业务决策处理可以采用规则引擎实现,本说明书实施例提供一种步骤S301的具体实现方法。图4是对所述每个样本事件进行业务决策处理的流程图,对所述每个样本事件进行业务决策处理包括步骤S401至步骤S404。
S401,接收所述样本事件产生的业务数据。
接收所述样本事件产生的业务数据,与接收所述待决策业务事件产生的业务数据类似,具体可参考对步骤S201的描述,在此不再赘述。
S402,根据所述样本事件产生的业务数据并行计算预设规则条件中每个条件表达式的左变量。
对某类业务事件进行业务决策,需要预先设置相应的业务规则。对于不同类型的业务事件,对应设置的业务规则也不相同,具体根据实际应用进行设置。预设业务规则通常包括多个预设规则条件和每个预设规则条件对应的目标动作,所述预设规则条件可以是单个条件表达式,也可以是多个条件表达式的逻辑组合,所述条件表达式由左变量、操作符以及右变量组成。例如,对于IF(A>5且B<10)THEN(action),该预设业务规则的预设规则条件为“A>5且B<10”,该预设业务规则的目标动作为“action”,预设规则条件包括条件表达式“A>5”和条件表达式“B<10”,条件表达式“A>5”的左变量为“A”,操作符为“>”,右变量为“5”。
变量分为两种类型:值和函数,其中,类型为值的变量例如可以为店铺ID、留言人ID、留言人登录名等,类型为函数的变量例如可以为异地登录用户数、恶意评价、处罚等。所述左变量通常是监控对象的单个属性,例如登录次数、发布商品、商品标题等,所述右变量为支持判断所需要的对比量,例如数字、时间范围、文本、黑名单、高危库、白名单、关键词库等。所述操作符是能够定义所述左变量和所述右变量关系的符号,一般是能对所述左变量判断的符号,例如大于号、小于号、等号、介于、包含、不包括、属于黑名单、属于高危库、属于白名单、IN、匹配关键字等。
所述条件表达式用于判断所述左变量与所述右变量之间的关系,其结果为真或假。假设所述左变量为“登录次数”,所述右变量为“三次”,所述操作符为“大于号”,如果“登录次数”为五次,则所述条件表达式的结果为真,否则为假。
所述规则条件可以是一个条件表达式,例如“登录次数大于三次”,也可以是多个表达式的逻辑组合,例如,“登录次数大于三次”且“交易次数小于十次”且“IP地址属于四川”。需要说明的是,所述规则条件也可以是多个层次等级的条件表达式的逻辑组合。
所述根据所述样本事件产生的业务数据并行计算预设规则条件中每个条件表达式的左变量,即根据所述样本事件产生的业务数据同时计算每个预设规则条件中每个条件表达式的左变量。以所述预设规则条件为“登录次数大于三次”且“交易次数小于十次”且“IP地址属于四川”为例,即根据所述样本事件产生的业务数据同时计算“登录次数”、“交易次数”以及“IP地址”。
S403,根据所述每个条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式,获得所述样本事件对应的被执行的条件表达式的左变量和所述样本事件触发的规则条件。
所述按照短路逻辑执行所述预设规则条件中每个条件表达式,即依次串行执行所述预设规则条件中每个条件表达式,若根据已被执行的条件表达式的结果就能确定所述预设规则条件是否与所述样本事件匹配,则不再执行后续的条件表达式。以所述预设规则条件为“登录次数大于三次”或“交易次数小于十次”或“IP地址属于四川”为例,按照短路逻辑执行所述预设规则条件中每个条件表达式的执行顺序为:首先执行条件表达式“登录次数大于三次”,再执行条件表达式“交易次数小于十次”,最后执行条件表达式“IP地址属于四川”。
若根据所述样本事件产生的业务数据计算出“登录次数”为五次、“交易次数”为十二次、“IP地址”为118.114.188.138,则执行条件表达式“登录次数大于三次”的结果为真,由于上述三个条件表达式的关系为“或”,根据条件表达式“登录次数大于三次”的结果就能确定所述预设规则条件“登录次数大于三次”或“交易次数小于十次”或“IP地址属于四川”与所述样本事件匹配,因而不再执行条件表达式“交易次数小于十次”和条件表达式“IP地址属于四川”。所述样本事件对应的被执行的条件表达式的左变量为“登录次数”为五次,所述样本事件触发的规则条件为“登录次数大于三次”或“交易次数小于十次”或“IP地址属于四川”。
S404,根据预设业务规则执行所述样本事件触发的规则条件对应的目标动作。
所述目标动作是指针对所述样本事件触发的规则条件采取的相应应对措施。例如,对于监控用户发布商品信息的样本事件,若所述样本事件触发的规则条件表征用户轻微违规,则所述目标动作可以为记录违规情况,并对用户打分;若所述样本事件触发的规则条件表征用户严重违规,则所述目标动作可以为将用户的登录信息列入黑名单,或者禁止用户以当前的登录信息再次登录网络交易系统。当然,所述目标动作可以由本领域技术人员根据实际需要而设计,本说明书实施例不再一一举例说明。
在步骤S402中,是提前并行计算预设规则条件中每个条件表达式的左变量,因而能够提高进行业务决策处理的效率。但由于按照短路逻辑执行所述预设规则条件中每个条件表达式,通常只会用到所述预设规则条件中部分条件表达式的左变量,因而在执行步骤S402时浪费了计算资源。基于此,本说明书实施例提供另一种步骤S301的具体实现方法。图5是对所述每个样本事件进行业务决策处理的流程图,对所述每个样本事件进行业务决策处理包括步骤S501至步骤S504。
S501,接收所述样本事件产生的业务数据。
S502,根据所述样本事件产生的业务数据串行计算预设规则条件中当前执行的条件表达式的左变量。
S503,根据所述当前执行的条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式,获得所述样本事件对应的被执行的条件表达式的左变量和所述样本事件触发的规则条件。
S504,根据预设业务规则执行所述样本事件触发的规则条件对应的目标动作。
步骤S501和步骤S504可参考前述对步骤S401和步骤S404的描述,在此不再赘述。与图4对应的实施例不同,图5对应的实施例是按照短路逻辑执行所述预设规则条件中每个条件表达式的过程中,计算当前执行的条件表达式的左变量。由于是串行计算预设规则条件中当前执行的条件表达式的左变量,没有执行的条件表达式的左变量就不会被计算,因而能够节省计算资源。
仍以所述预设规则条件为“登录次数大于三次”或“交易次数小于十次”或“IP地址属于四川”为例,首先根据所述样本事件产生的业务数据计算出“登录次数”;若“登录次数”为五次,执行条件表达式“登录次数大于三次”的结果为真,由于上述三个条件表达式的关系为“或”,根据条件表达式“登录次数大于三次”的结果就能确定所述预设规则条件“登录次数大于三次”或“交易次数小于十次”或“IP地址属于四川”与所述样本事件匹配,因而不再执行条件表达式“交易次数小于十次”和条件表达式“IP地址属于四川”,也不再根据所述样本事件产生的业务数据计算“交易次数”和“IP地址”。
S302,根据所述业务决策处理产生的数据,获得所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量。
所述业务决策处理是在线进行的,因而需要对所述业务决策处理产生的数据进行实时快照,即把线上数据log(记录)下来导入到数据仓库,获得实时快照数据。由于所述实时快照数据中除所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量外,还包括一些其他处理数据,因而不能直接将所述实时快照数据输入所述人工智能模型进行训练。在本说明书实施例中,对所述实时快照数据进行ETL(Extract Transform Load,提取转换加载)处理,获得所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量。ETL是将数据从来源端经过提取(extract)、转换(transform)、加载(load)至目的端的过程,本领域技术人员知晓如何对所述实时快照数据进行ETL处理,在此不再赘述。
S303,将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入人工智能模型进行训练,获得所述规则条件预测模型。
将所述每个样本事件产生的业务数据作为所述人工智能模型的自变量,将所述每个样本事件对应的被执行的条件表达式的左变量作为所述人工智能模型的因变量,对所述人工智能模型进行训练,获得所述人工智能模型的参数,确定参数后的人工智能模型即为所述规则条件预测模型,所述规则条件预测模型能够根据业务事件产生的业务数据,预测该业务事件对应的被执行的条件表达式的左变量。所述人工智能模型可以为卷积神经网络模型或者频繁模式树算法模型,即可以将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入卷积神经网络模型进行训练,也可以将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入频繁模式树算法模型进行训练。当然,所述人工智能模型并不限于上述提到的两种模型,本说明书实施例对此不进行限定。
在一种可选实现方式中,还可以定期对所述规则条件预测模型进行更新,即重复执行步骤S301至步骤S303。对所述规则条件预测模型进行更新的时间可根据实际应用进行设置,例如,每天对所述规则条件预测模型进行更新,或者每两天对所述规则条件预测模型进行更新。
S203,根据所述待决策业务事件对应的被执行的条件表达式的左变量按照短路逻辑执行预设规则条件中每个条件表达式,获得所述待决策业务事件触发的规则条件。
根据所述待决策业务事件对应的被执行的条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式的具体方法,与根据所述每个条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式的具体方法类似,具体可参考对步骤S403的描述,在此不再赘述。
S204,根据预设业务规则执行所述待决策业务事件触发的规则条件对应的目标动作。
根据所述预设业务规则执行所述待决策业务事件触发的规则条件对应的目标动作的具体方法,与根据预设业务规则执行所述样本事件触发的规则条件对应的目标动作的具体方法类似,具体可参考对步骤S404的描述,在此不再赘述。
本说明书实施例中,所述规则条件预测模型是将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入人工智能模型进行训练获得,因而所述规则条件预测模型能够根据待决策业务事件产生的业务数据输入规则条件预测模型,预测所述待决策业务事件对应的被执行的条件表达式的左变量。由于所述待决策业务事件对应的被执行的条件表达式的左变量是被提前预测出来的,在按照短路逻辑执行预设规则条件中每个条件表达式的过程中,不再需要串行计算所述预设规则条件中被执行的条件表达式的左变量,因而能够提高对业务事件进行决策处理的处理效率;又因为所述规则条件预测模型预测的是所述预设规则条件中会被执行的条件表达式的左变量,而不是每个条件表达式的左变量,因而不会浪费计算资源。
第二方面,基于同一发明构思,本说明书实施例提供一种业务决策处理装置,包括:
第一接收模块,用于接收待决策业务事件产生的业务数据;
变量预测模块,用于将所述待决策业务事件产生的业务数据输入规则条件预测模型,预测所述待决策业务事件对应的被执行的条件表达式的左变量;
第一执行模块,用于根据所述待决策业务事件对应的被执行的条件表达式的左变量按照短路逻辑执行预设规则条件中每个条件表达式,获得所述待决策业务事件触发的规则条件;
第二执行模块,用于根据预设业务规则执行所述待决策业务事件触发的规则条件对应的目标动作。
在一种可选实现方式中,所述业务决策处理装置还包括:
规则引擎模块,用于对每个样本事件进行业务决策处理,所述样本事件为发生在预设时间段内的业务事件;
获得模块,用于根据所述业务决策处理产生的数据,获得所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量;
模型训练模块,用于将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入人工智能模型进行训练,获得所述规则条件预测模型。
在一种可选实现方式中,所述规则引擎模块包括:
第二接收模块,用于接收所述样本事件产生的业务数据;
变量计算模块,用于根据所述样本事件产生的业务数据并行计算预设规则条件中每个条件表达式的左变量;
第三执行模块,用于根据所述每个条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式,获得所述样本事件对应的被执行的条件表达式的左变量和所述样本事件触发的规则条件;
第四执行模块,用于根据预设业务规则执行所述样本事件触发的规则条件对应的目标动作。
在一种可选实现方式中,所述规则引擎模块包括:
第二接收模块,用于接收所述样本事件产生的业务数据;
变量计算模块,用于根据所述样本事件产生的业务数据串行计算预设规则条件中当前执行的条件表达式的左变量;
第三执行模块,用于根据所述当前执行的条件表达式的左变量按照短路逻辑执行所述预设规则条件中每个条件表达式,获得所述样本事件对应的被执行的条件表达式的左变量和所述样本事件触发的规则条件;
第四执行模块,用于根据预设业务规则执行所述样本事件触发的规则条件对应的目标动作。
在一种可选实现方式中,所述获得模块包括:
快照模块,用于对所述业务决策处理产生的数据进行实时快照,获得实时快照数据;
数据处理模块,用于对所述实时快照数据进行ETL处理,获得所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量。
在一种可选实现方式中,所述模型训练模块用于将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入卷积神经网络模型进行训练;或
所述模型训练模块用于将所述每个样本事件产生的业务数据和所述每个样本事件对应的被执行的条件表达式的左变量输入频繁模式树算法模型进行训练。
第三方面,基于与前述实施例中业务决策处理方法同样的发明构思,本发明还提供一种服务器,如图6所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前述业务决策处理方法的任一方法的步骤。
其中,在图6中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口605在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
第四方面,基于与前述实施例中业务决策处理方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述业务决策处理方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。