业务规则生成方法及装置
技术领域
本公开通常涉及计算机技术领域,更具体地,涉及用于生成业务规则的方法及装置。
背景技术
随着互联网的发展,业务应用场景越来越多,比如,反套现场景、反欺诈场景等等。在每种业务应用场景下,为了更好地进行业务预测,需要构建业务预测模型,并且所构建的业务预测模型需要根据业务的变化而不断更新。
为了满足监管需求以及开发便利,所构建的业务预测模型需要具有可解释性。由于规则天然具有可解释性,从而使得基于业务规则来构建业务预测模型成为趋势。然而,所使用的业务规则通常是由业务人员根据经验或者历史业务数据归纳出的,并且所归纳出的业务规则需要符合约束条件。此外,一旦业务发生变化或者约束条件发生变化,业务规则就需要相应地修改。如何根据业务要求高效地生成符合约束条件的业务规则,成为亟待解决的问题。
发明内容
鉴于上述,本公开提供了一种业务规则生成方法及装置。利用该业务规则生成方法及装置,能够高效地生成符合约束条件的业务规则。
根据本公开的一个方面,提供了一种业务规则生成方法,包括:使用模型参数和业务样本数据集来训练出树模型,所述树模型的各个叶子结点具有唯一结点分值,所述业务样本数据集中的业务样本数据具有业务标记;计算各个结点分值所对应的业务指标;将具有第一结点分值的叶子结点确定为目标叶子结点,所述第一结点分值所对应的业务指标满足业务指标要求;以及基于所述树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。
可选地,在上述方面的一个示例中,计算各个结点分值所对应的业务指标可以包括:统计各个结点分值所对应的业务样本数据数;以及基于所统计的各个结点分值的业务样本数据数,计算各个结点分值作为阈值时的业务指标。
可选地,在上述方面的一个示例中,在所述第一结点分值包括至少两个第一结点分值时,将具有第一结点分值的叶子结点确定为目标叶子结点可以包括:从所述至少两个第一结点分值中选出所对应的业务指标最佳的第一结点分值;以及将所选出的第一结点分值所对应的叶子节点,确定为目标叶子结点。
可选地,在上述方面的一个示例中,所述树模型是使用迭代过程训练出的,每次迭代过程中所使用的模型参数是基于前一迭代过程的模型参数和前一迭代过程中所确定出的目标叶子结点所对应的业务指标确定出。
可选地,在上述方面的一个示例中,每次迭代过程中所使用的模型参数是使用AutoML模型训练出。
根据本公开的另一方面,提供一种业务规则生成装置,包括:模型训练单元,被配置为使用模型参数和业务样本数据集来训练出树模型,所述树模型的各个叶子结点具有唯一结点分值,所述业务样本数据集中的业务样本数据具有业务标记;业务指标计算单元,被配置为计算各个结点分值所对应的业务指标;目标叶子结点确定单元,被配置为将具有第一结点分值的叶子结点确定为目标叶子结点,所述第一结点分值所对应的业务指标满足业务指标要求;以及业务规则生成单元,被配置为基于所述树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。
可选地,在上述方面的一个示例中,所述业务指标计算单元可以包括:统计模块,被配置为统计各个结点分值所对应的业务样本数据数;以及业务指标计算模块,被配置为基于所统计的各个结点分值的业务样本数据数,计算各个结点分值作为阈值时的业务指标。
可选地,在上述方面的一个示例中,在所述第一结点分值包括至少两个第一结点分值时,所述目标叶子结点确定单元可以包括:最佳结点分值选择模块,被配置为从所述至少两个第一结点分值中选出所对应的业务指标最佳的第一结点分值;以及目标叶子结点确定模块,被配置为将所选出的第一结点分值所对应的叶子节点,确定为目标叶子结点。
可选地,在上述方面的一个示例中,所述模型训练单元被配置为使用迭代过程训练所述树模型,每次迭代过程中所使用的模型参数是基于前一迭代过程的模型参数和前一迭代过程中所确定出的目标叶子结点所对应的业务指标确定出。
根据本公开的另一方面,提供了一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的业务规则生成方法。
根据本公开的另一方面,提供了一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的业务规则生成方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。
图1示出了根据本公开的实施例的业务规则生成方法的流程图;
图2示出了根据本公开的实施例的树模型的一个示例的示意图;
图3示出了根据本公开的实施例的业务指标计算过程的一个示例的流程图;
图4示出了根据本公开的另一实施例的业务规则生成方法的流程图;
图5示出了根据本公开的实施例的模型参数优化过程的示意图;
图6示出了根据本公开的实施例的业务规则生成装置的方框图;
图7示出了根据本公开的实施例的业务指标计算单元的一个示例的方框图;
图8示出了根据本公开的实施例的目标叶子结点确定单元的一个示例的方框图;
图9示出了根据本公开的实施例的用于业务规则生成的计算设备的方框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
下面将结合附图来详细描述根据本公开的实施例的用于生成业务规则的方法及装置。
图1示出了根据本公开的实施例的业务规则生成方法的流程图。
如图1所示,在块110,使用模型参数和业务样本数据集来训练出树模型。这里,业务样本数据集中的业务样本数据是用于模型训练的样本数据,每个业务样本数据具有业务特征值和业务标记值。模型参数可以是预先设定的模型参数,例如,从模型参数范围内选择的模型参数。表1示出了模型参数的示例。在本公开的其它示例中,也可以采用其它合适的模型参数。
表1
在本公开中,业务样本数据可以是在业务应用场景下收集的业务数据,所述业务应用场景例如可以是泛套现业务场景,比如,O2O反套现业务场景、收钱码反套现场景等。所述树模型可以使用本领域中的各种树模型,比如,C4.5模型,C5模型,只包含一棵树的GBDT模型等。在完成树模型训练后,所训练出的树模型的各个叶子结点具有唯一结点分值,每个结点分值是使用树模型来对业务数据进行预测后得到的预测值,用于指示落到该叶子结点的样本属于该样本集所定义的正样本的倾向。
图2示出了根据本公开的实施例的树模型的一个示例的示意图。如图2所示,树模型由结点A、B、C、D、E、F和G构成。在树模型中,结点A、B和C是树模型的分裂结点,也可以称为非叶子结点,其中,结点A是树模型的根结点。结点D、E、F和G是叶子结点。每个分裂结点根据结点分裂特征分裂到各自的子结点。如图2中所示,结点A可以根据分裂特征a1分裂到结点B,以及根据分裂特征a2分裂到结点C。结点B可以根据分裂特征b1分裂到结点D,以及根据分裂特征b2分裂到结点E。结点C可以根据分裂特征c1分裂到结点F,以及根据分裂特征c2分裂到结点F。叶子结点D、E、F和G不可进一步分裂。在本公开中,分裂特征也可以称为分裂条件。
例如,在用于进行年龄预测的树模型,该模型的训练样本集中包含4个样本,分裂特征a1和a2分别为“购物金额不大于1K”和“购物金额大于1K”,分裂特征b1和b2分别为“上网时长不超过1.1h”和“上网时长超过1.1h”,以及分裂特征c1和c2分别为“全天上网”和“晚上上网”。叶子结点D、E、F和G所对应的结点分值分别为“0.1”、“0.4”、“0.6”和“0.7”。在针对树模型完成上述训练后,在使用树模型进行业务预测时,所得到的预测值是结点分值“0.1”、“0.4”、“0.6”和“0.7”中的一种。例如,如果得到的预测值是“0.4”,则对应树结点中的叶子结点E。
在如上训练出树模型后,在块120,计算各个结点分值所对应的业务指标。
图3示出了根据本公开的实施例的业务指标计算过程的一个示例的流程图。如图3所示,在进行业务指标计算时,首先,在块121,统计各个结点分值所对应的业务样本数据数。即,使用树模型来对用于训练的业务样本数据集进行预测后,预测值分别为各个结点分值的业务样本数。接着,在块123,基于所统计的各个结点分值的业务样本数据数,计算各个结点分值作为阈值时的业务指标。这里,所述业务指标例如可以是打扰率、准确率和/或召回率等。具体使用哪种业务指标,取决于具体应用场景的需求。例如,假设业务指标为打扰率,这里,打扰率的计算公式为超过该阈值的业务样本数与业务样本总数的比值。如果设定业务样本数据集的业务样本总数为100,结点分值“0.1”、“0.4”、“0.6”和“0.7”所对应的业务样本数分别为20,30,40和10,则对于结点分值“0.1”作为阈值,打扰率为100/100=100%,对于结点分值“0.4”作为阈值,打扰率为80/100=80%,对于结点分值“0.6”作为阈值,打扰率为50/100=50%,以及对于结点分值“0.7”作为阈值,打扰率为10/100=10%。
在如上计算出各个结点分值所对应的业务指标后,在块130,将具有第一结点分值的叶子结点确定为目标叶子结点,所述第一结点分值所对应的业务指标满足业务指标要求。例如,假设业务指标要求为“打扰率不高于10%”,则结点分值“0.7”作为阈值时满足业务指标要求。由此,结点分值“0.7”为第一结点分值,所对应的叶子结点G为目标叶子结点。假设业务指标要求为“打扰率不高于50%”,则结点分值“0.6”和“0.7”作为阈值时满足业务指标要求。由此,结点分值“0.6”和“0.7”为第一结点分值,所对应的叶子结点F和G为目标叶子结点。
在确定出目标叶子结点后,在块140,基于所述树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。例如,在图2中示出的用于进行年龄预测的树模型中,在将业务指标要求设定为“打扰率不高于10%”的情况下,所得到的业务规则为“购物金额<=1k&&上网时长>1.1h”。在将业务指标要求设定为“打扰率不高于50%”的情况下,所得到的业务规则为“(购物金额<=1k&&上网时长>1.1h)||(购物金额>1k&&晚上上网)”。
此外,在本公开的一个可选示例中,在第一结点分值包括至少两个第一结点分值时,将具有第一结点分值的叶子结点确定为目标叶子结点还可以包括:从所述至少两个第一结点分值中选出所对应的业务指标最佳的第一结点分值;以及将所选出的第一结点分值所对应的叶子节点,确定为目标叶子结点。
例如,假设业务指标要求为“打扰率不高于50%”,则结点分值“0.6”和“0.7”作为阈值时满足业务指标要求。由此,结点分值“0.6”和“0.7”为第一结点分值。在这种情况下,由于结点分值“0.7”所对应的打扰率为10%,结点分值“0.6”所对应的打扰率为50%,结点分值“0.7”的打扰率优于结点分值“0.6”的打扰率,从而选择结点分值“0.7”作为第一结点分值,并且将结点分值“0.7”所对应的叶子结点G确定为目标叶子结点。
在图1到图3中示出的业务规则生成方法中,可以利用模型参数和业务样本数据集来训练出树模型,然后基于树模型的叶子结点所对应的业务样本数来计算各个结点分值作为阈值时的业务指标,随后基于所设定的业务指标要求来确定出目标叶子结点。在确定出目标叶子结点后,可以基于树模型中的针对目标叶子结点的路由路径,使用该路由路径上所包含的分裂特征来自动生成业务规则,从而使得业务规则生成过程更加简便和高效。此外,由于树模型是通过训练出来的,所得到的分裂特征更加准确,从而提高了所生成的业务规则的准确率。
图4示出了根据本公开的另一实施例的业务规则生成方法的流程图。在图4中示出的业务规则生成方法中,所述树模型是使用迭代过程训练出的,每次迭代过程中所使用的模型参数是基于前一迭代过程的模型参数和前一迭代过程中所确定出的目标叶子结点所对应的业务指标确定出。
如图4所示,在块410,初始化树模型的模型参数,作为第一次迭代过程的当前模型参数。
接着,循环执行块420到460的操作,直到满足迭代结束条件。在本公开中,迭代结束条件可以是达到预定迭代次数。
具体地,在块420,使用当前模型参数和业务样本数据集来训练出当前树模型。接着,在块430,计算各个结点分值所对应的业务指标。然后,在块440,确定第一结点分值,并且将第一结点分子所对应的业务指标作为当前业务结果。在确定出第一结点分值后,在块450,判断是否满足迭代结束条件。
如果不满足迭代结束条件,则在块460,使用当前迭代过程的模型参数和当前迭代过程中所确定出的当前业务结果确定出下一迭代过程所使用的模型参数。在本公开的一个示例中,下一迭代过程中所使用的模型参数是使用AutoML模型训练出的。图5示出了根据本公开的实施例的模型参数优化过程的示意图。
如果满足迭代结束条件,则在块470,将所确定出的第一结点分值所对应的叶子结点确定为目标叶子结点。
在确定出目标叶子结点后,在块480,基于树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。
在图4中示出的业务规则生成方法中,通过基于迭代过程训练出最佳树模型,并且使用最佳树模型来确定出业务规则,从而进一步提高了所生成的业务规则的准确率。
图6示出了根据本公开的实施例的业务规则生成装置600的方框图。如图6所示,业务规则生成装置600包括模型训练单元610、业务指标计算单元620、目标叶子结点确定单元630和业务规则生成单元640。
模型训练单元610被配置为使用模型参数和业务样本数据集来训练出树模型,所述树模型的各个叶子结点具有唯一结点分值,所述业务样本数据集中的业务样本数据具有业务标记。模型训练单元610的操作可以参考上面参照图1描述的块110的操作。
业务指标计算单元620被配置为计算各个结点分值所对应的业务指标。业务指标计算单元620的操作可以参考上面参照图1描述的块120的操作。
目标叶子结点确定单元630被配置为将具有第一结点分值的叶子结点确定为目标叶子结点,所述第一结点分值所对应的业务指标满足业务指标要求。目标叶子结点确定单元630的操作可以参考上面参照图1描述的块130的操作。
业务规则生成单元640被配置为基于所述树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。业务规则生成单元640的操作可以参考上面参照图1描述的块140的操作。
图7示出了根据本公开的实施例的业务指标计算单元620的一个示例的方框图。如图7所示,业务指标计算单元630包括统计模块621和业务指标计算模块623。
统计模块621被配置为统计各个结点分值所对应的业务样本数据数。在统计出各个结点分值所对应的业务样本数据数后,业务指标计算模块623被配置为基于所统计的各个结点分值的业务样本数据数,计算各个结点分值作为阈值时的业务指标。
图8示出了根据本公开的实施例的目标叶子结点确定单元630的一个示例的方框图。如图8所示,目标叶子结点确定单元630包括最佳结点分值选择模块631和目标叶子结点确定模块633。
最佳结点分值选择模块631被配置为在所述第一结点分值包括至少两个第一结点分值时,从所述至少两个第一结点分值中选出所对应的业务指标最佳的第一结点分值。
目标叶子结点确定模块633被配置为将所选出的第一结点分值所对应的叶子节点,确定为目标叶子结点。
此外,在本公开的另一示例中,模型训练单元610可以被配置为使用迭代过程训练树模型,每次迭代过程中所使用的模型参数是基于前一迭代过程的模型参数和前一迭代过程中所确定出的目标叶子结点所对应的业务指标确定出。此外,可选地,每次迭代过程中所使用的模型参数可以是使用AutoML模型训练出的。
如上参照图1到图8,对根据本公开的用于生成业务规则的方法及装置的实施例进行了描述。上面的业务规则生成装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图9示出了根据本公开的实施例的用于业务规则生成的计算设备900的硬件结构图。如图9所示,计算设备900可以包括至少一个处理器910、存储器920、内存930和通信接口940,并且至少一个处理器910、存储器920、内存930和通信接口940经由总线960连接在一起。至少一个处理器910执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器910:使用模型参数和业务样本数据集来训练出树模型,所述树模型的各个叶子结点具有唯一结点分值,所述业务样本数据集中的业务样本数据具有业务标记;计算各个结点分值所对应的业务指标;将具有第一结点分值的叶子结点确定为目标叶子结点,所述第一结点分值所对应的业务指标满足业务指标要求;以及基于所述树模型中针对所确定出的目标叶子结点的路由路径上的各个结点分裂特征,生成业务规则。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器910进行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。
在本公开中,计算设备900可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-8描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。