CN117151868B - 一种基于ai的分布式智能分案引擎的实现方法 - Google Patents
一种基于ai的分布式智能分案引擎的实现方法 Download PDFInfo
- Publication number
- CN117151868B CN117151868B CN202311385740.7A CN202311385740A CN117151868B CN 117151868 B CN117151868 B CN 117151868B CN 202311385740 A CN202311385740 A CN 202311385740A CN 117151868 B CN117151868 B CN 117151868B
- Authority
- CN
- China
- Prior art keywords
- division
- case
- node
- rule
- expression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000005192 partition Methods 0.000 claims description 42
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000012163 sequencing technique Methods 0.000 claims description 19
- 238000010586 diagram Methods 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 7
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Artificial Intelligence (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
发明涉及数据处理技术领域,提供了一种基于AI的分布式智能分案引擎的实现方法。其主旨在于解决基于简单的规则逻辑,在面对海量分案时,因处理数据量大而无法实时返回分案结果的问题。主要方案包括分案DAG图,由起始节点导入Excel分案数据,每个结点作为案件池,结点和结点之间的边配置了规则分案、策略分案、智能分案中的任一种规则,满足条件的案件会流向箭头指向的结点,每个结点配置了处置手段,采用配置的处置手段进处置。
Description
技术领域
本发明涉及数据处理技术领域,提供了一种基于AI的分布式智能分案引擎的实现方法。
背景技术
目前在金融领域经常需要对用户的逾期案件进行分案,以达到利用最合理的处置手段获取最好的成功率。关于案件的分案目前业界使用的方法主要是基于代码的方式或者基于简单的规则配置,基于属于硬编码实现案件分案,分案逻辑并不能实时动态调整。逾期案件的处置手段也越来越多,有机器人处置、人工处置、诉前调解、法诉、债务重组等手段,不同处置手段处理的案件难度不同,同时逾期案件越来越多,也亟需一种智能化、实时化的分案引擎。
现有的分案引擎存在以下问题:
1、分案处理的案件量较少,基于简单的规则逻辑,无法处理海量案件数据,也无法实时返回分案结果。
2、分案无法进行规则分案、策略分案和智能分案并存,分案逻辑不支持复杂逻辑,分案无法自定义,只能使用已有的分案逻辑。
3、不支持多种处置手段分案,无法实现从原始案件分案到各种处置手段上,如:机器人处置、人工处置、诉前调解、法诉、债务重组等。
发明内容
本发明的目的在于解决在处理海量案件时,因数据量大,基于简单的规则逻辑,无法实时返回分案结果的问题。
为了实现上述目的本发明采用以下技术手段:
本发明提了一种基于AI的分布式智能分案引擎的实现方法,包括分案DAG图,由起始结点导入Excel分案数据,每个结点作为案件池,结点和结点之间的边配置了分案规则,所述分案规则为规则分案、策略分案、智能分案中的任一种规则,满足条件的案件会流向箭头指向的结点,每个结点配置了处置手段,采用配置的处置手段进行处置。
上述计算方案中,规则分案,通过以下步骤实现:
步骤1、将开始结点对应的边所指向的第一层级结点都放入队列Q,对队列Q执行步骤2;
步骤2、从队列Q取出第一个结点判断该结点的前置结点是否已经经过计算,如果是,则取出该结点和前置结点的边上配置的分案规则,进行分案规则过滤;
步骤3、循环对队列Q中其他结点执行上述步骤2,同时每执行一个结点,则将该结点对应的下游结点依次接入队列Q的末尾,直到所有结点都执行完成。
上述计算方案中,规则分案实现包括以下步骤:
对Spark RDD数据设置partition,以分钟级分案为目标,将25M的Spark RDD数据设置一个分区,在每个分区内,用Spark RDD对应的filter/mapAPI算子进行分案规则过滤,在filter/map API算子内,首先利用DSL对分案规则进行编译,将自然语言表达的公式解析成计算机代码能识别的表达式,其次对Spark RDD分区中的每一条数据根据表达式需要的变量送入解析后的表达式完成计算。
上述计算方案中,DSL的定义使用Antlr、Scala的解析组合子实现,实现方式为:
步骤a1、定义自然语言的表达式规则,表达式规则包括表达式=表达式“与|或”表达式,表达式=“字符串|数字|整数|浮点数”;
步骤a2、使用Antlr、Scala语言实现表达式规则的语法,将自然语言的描述转成计算机可以理解的语言;
步骤a3、对表达式规则实现编译和计算功能。
上述计算方案中,策略分案实现包括以下步骤:
依据用户配置,如果用户配置只有金额均分,则执行金额均分算法,如果用户配置只有案件均分,则执行案件的均分算法,如果用户配置案件的均分和金额的均分则先执行案件的均分算法,接着金额均分算法。
上述计算方案中,案件的均分算法包括以下步骤:
利用Spark new Hadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,则每个办案员分配M/N的数量的案件。
上述计算方案中,案件的金额均分算法包括以下步骤:
利用Spark new Hadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,对M个逾期客户按照金额从大到小排序;
对M个逾期客户按照金额从大到小排序具体实现包括以下步骤:
步骤b1、排序时使用Spark RDD中的Map算子,对SparkRDD数据进行partition分区提升排序效率,在partition分区内使用map算子,使用堆排序算法,对P个partition分区分别排序,最后再排序,从而完成整体排序;
步骤b2、完成整体排序后,如果逾期客户个数M小于办案员的个数N,则随机将M个逾期客户分配到N个办案员中完成金额分案,否则转步骤b3;
步骤b3、从按照金额排序后的M个逾期客户中取出TopN个依次分给N个办案员,转步骤b4,其中TopN的含义是,排序最前的N个;
TopN的获取方法为:基于完成整体排序后的partition分区,分别在每个partition分区内取出TopN,将每个partition分区的TopN结果汇聚到master结点,在master结点完成最终的TopN计算;
步骤b4、对分配后的当前每个办案员的总金额进行从小到大排序,按照M个逾期客户的金额从大到小依次分给办案员,继续步骤b3,直到M个逾期客户分配结束,至此完成了初步的金额分配,进入步骤b5处理;
步骤b5、进行金额均衡动态规划,对每个办案员对应的总金额从大到小排序,如果排序的列表中的最大总金额的办案员和最小总金额的办案员的金额差值小于阈值T,则分案结束,否则转步骤b6,阈值T为金额差值的最小值,取500;
步骤b6、取出排序后最大总金额的办案员和最小总金额的办案员进行对换指定金额,对换指定金额的规则为:最大金额的办案员里的逾期客户中最大金额客户和最小总金额的办案员里的逾期客户中的最小金额客户进行对调,对调次数超过阈值P则分案结束,否则对调后继续循环进行步骤b6,阈值P取值10。
上述计算方案中,智能分案实现包括以下步骤:
步骤c1、对办案员和案件进行打分,将案件和办案员的评分分别放入案件队列和办案员列表;
步骤c2、案件的打分和办案员的打分根据规则评分卡来实现;
步骤c3、对案件和办案员都打分后,则开始进行案件智能分配,对案件按照分数从高到低排序,对办案员按照分数从高到低排序,遍历案件列表,在案件的特征矩阵中依次寻找办案员,将分数高的案件先给分数高的办案员;
步骤c4、倘若所有的案件都得到匹配,则算法结束,否则继续匹配。
上述计算方案中,步骤c3中办案员分数越高分得案件量越少。
上述计算方案中,将分案DAG图可视化,在页面设置有定义了不同处置手段的功能块,用户通过拖动将功能块加入分案DAG图,加入分案DAG图的功能块将作为新的结点,用户通过边将新的结点与分案DAG图的原有结点连接,并在边上配置规则分案、策略分案、智能分案中的任一种规则。
因为本发明采用上述技术手段,因此具备以下有益效果:
本发明提出了一种新颖的分布式智能分案算法,支持规则分案、策略分案和智能分案,利用DSL,Spark、评分规则、案件均衡等算法实现了案件的分布式实时和智能分案,百万级案件可分钟级返回分案结果,大大提升了海量案件的分案效率,同时支持规则分案、策略分案和智能分案。该方案解决了现有分案无法处理海量案件的问题,提升了案件到办案员的匹配度,提高了案件均分的精度。
附图说明
图1为一种实施例的分案逻辑图的示例简图;
图2为一种实施例的分布式分案的示例简图;
图3为一种实施例的金额均分中的排序的示例简图;
图4为一种实施例的智能分案的示例简图。
具体实施方式
以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员将理解,没有这些具体细节,本发明同样可以实施。
以下将对本发明的实施例给出详细的说明。尽管本发明将结合一些具体实施方式进行阐述和说明,但需要注意的是本发明并不仅仅只局限于这些实施方式。相反,对本发明进行的修改或者等同替换,均应涵盖在本发明的权利要求范围当中。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员将理解,没有这些具体细节,本发明同样可以实施。
本发明提出了一种基于AI的分布式智能分案引擎的实现方法,支持规则分案、策略分案和智能分案的随机组合,支持对海量数据进行实时分案,支持对案件进行智能分案,分案逻辑图如下图1所示。
本发明提供了一种基于AI的分布式智能分案引擎的实现方法,包括分案DAG图,由起始结点导入Excel分案数据,每个结点作为案件池,结点和结点之间的边配置了规则分案、策略分案、智能分案中的任一种规则,满足条件的案件会流向箭头指向的结点,每个结点配置了处置手段,采用配置的处置手段进行处置。
参见图1所示,处置手段包括但不限于图中所示的短信、机器人、自办、邮件、委外、法院起诉、重组、核销、外访等。
进一步的作为实施例,可将分案DAG图可视化,在页面设置有定义了不同处置手段的功能块,用户通过拖动将功能块加入分案DAG图,加入分案DAG图的功能块将作为新的结点,用户通过边将新的结点与分案DAG图的原有结点连接,并在边上配置规则分案、策略分案、智能分案中的任一种规则。
作为一个实施例在页面配置分案规则,分案规则可以自定义,作为实施例可以把所有规则写到一个分案结点,作为另一种实施例也可以拆分成多个分案结点,在分案结点上可以选择处置手段,处置手段可以有机器人处置、人工处置、法诉、诉前调解、核销等手段,可以对不同案件划分不同的机构,甚至办案员等。因此案件到处置手段是一个多层级、多依赖的案件过滤器,图里的每个结点是具体的处置手段和案件池,结点和结点之间的边决定了案件的分流规则逻辑,满足条件的会流向箭头指向的案件池,从而实现案件根据自定义规则的多层级过滤。案件从初始案件池(起始结点)根据自定义过滤规则(自定义规则)流向下游的逻辑会形成一个DAG图,图里的结点表示子案件池,边是上游案件池到下游案件池的条件,即分案规则。根据配置的分案DAG图,从图的开始结点开始,使用Spark newHadoop API读取Excel分案数据,转成Spark RDD。
其详细的实现流程如下:
海量数据分布式实时规则分案:
目前市面上并没有针对海量数据的实时分案,通常在分案时,分案管理员导入一批案件,需要快速的出结果,这样他可以验证分案逻辑是否合理,不合理就需要继续调整规则重新分案,所以对分案的时效性要求很高,特别是当遇到上百万的案件时,往往都无法处理,针对这种情况,本发明提出基于Spark RDD结合自定义DSL规则解析的海量数据实时分案引擎,可实现百万数据分案的分钟级近实时处理。分布式分案如图2所示,具体实现方案如下:
步骤1、将开始结点对应的边所指向的第一层级结点都放入队列Q;
步骤2、对队列Q取出第一个结点判断该结点的前置结点是否已经经过计算,如说是,则取出该结点和前置结点的边上配置的分案规则。为了快速分案,使用分布式计算的思想,对Spark RDD设置partition分区,同时对每个分区进行处理,以分钟级分案为目标,将25M的数据设置一个分区,在每个分区内,用Spark RDD对应的filter/map API算子进行规则过滤,在filter/map API算子内,首先利用DSL对规则进行编译,将自然语言表达的公式转移成解析成计算机代码可以识别的表达式,其次对Spark RDD分区中的每一条数据根据表达式需要的变量送入解析后的表达式完成计算。假设用户配置了这样的规则:逾期天数>3 and 逾期金额<1000,在计算时对“逾期天数>3 and 逾期金额<1000”规则进行编译,使用DSL对规则进行编译,将其编译成:less(逾期天数,3) and great(逾期金额,1000),然后在计算时把逾期天数和逾期金额传入编译后的表达式便可完成规则计算。
DSL的定义可以使用Antlr、Scala的解析组合子实现,实现方式为:
1)首先定义一种自然语言的表达式规则。如表达式=表达式“与|或”表达式,表达式=”字符串|数字|整数|浮点数”等等,表达式还包括加减乘除,与或非,大于小于、最大值、最小值等等。
2)其次使用Antlr、Scala等语言实现这种自然语言定义的表达式语法,将自然语言的描述转成计算机可以理解的语言。
3)对表达式语言实现编译和计算功能,如A>B在计算机内如何实现,需要实现获取到变量A和B后,以及获取到运算符>后,如何写代码实现A>B的计算,其余+,-,*,“%”,sqrt,abs等运算符同理。
步骤5、循环对队列Q中其他结点执行上述步骤4,同时每执行一个结点,则将该结点对应的下游结点依次接入队列Q的末尾,直到所有结点都执行完成。
海量数据策略分案:
目前市面上针对分案大都是基于策略的平均分和按照比例分,均分有按照案件个数的均分、按照金额的均分,比例分即是按照比例多少划分,只是目前按照金额和案件个数均分时无法达到尽可能的均衡,同时均分方案在处理海量数据时也无法分钟级返回,耗时较长。本发明可实现分钟级策略分案,也可实现将案件均分和金额均分最可能的均衡和最优。在均分时因为要考虑到金额的均分和案件均分的共同问题,是一个双目标优化问题,需要将其进行转化才可求出最优解。具体实现方案如下:
依据用户配置,如果用户配置只有金额均分,则执行金额均分算法,如果用户配置案件和金额的均分则先执行案件的均分算法,接着金额均分算法。
案件的均分算法包括以下步骤:
利用Spark newHadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,则每个办案员分配M/N的数量的案件。
案件的金额均分算法包括以下步骤:
利用Spark new Hadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,对M个逾期客户按照金额从大到小排序;
对M个逾期客户按照金额从大到小排序具体实现包括以下步骤:
步骤b1、排序时使用Spark RDD中的Map算子,对SparkRDD数据进行partition分区提升排序效率,在partition分区内使用map算子,使用堆排序算法,对P个partition分区分别排序,最后再排序,从而完成整体排序;
作为一个实施例“最后再排序”可以不仅仅限于采用如下方式实现:
步骤b1.1、将排序后的P个partition分区按照2个一组,分为Q组,当P为偶数时Q=P/2,当P为奇数时,Q=(P-1)/2+1,然后执行步骤b1.2;
步骤b1.2、每组中根据金额大小由一个分区向另一个分区中进行数据插入,得到Q个排序后的partition分区,当Q=1时完成整体排序,否则将Q作为P继续执行步骤b1.1;参见图3,各组的排序可以同时处理,大大增加了处理的速度。
步骤b2、完成整体排序后,如果逾期客户个数M小于办案员的个数N,则随机将M个逾期客户分配到N个办案员中完成金额分案,否则转步骤b3;
步骤b3、从按照金额排序后的M个逾期客户中取出TopN个依次分给N个办案员,转步骤b4,其中TopN的含义是,排序最前的N个;
TopN的获取方法为:基于完成整体排序后的partition分区,分别在每个partition分区内取出TopN,将每个partition分区的TopN结果汇聚到master结点,在master结点完成最终的TopN计算;
步骤b4、对分配后的当前每个办案员的总金额进行从小到大排序,按照M个逾期客户的金额从大到小依次分给办案员,继续步骤b3,直到M个逾期客户分配结束,至此完成了初步的金额分配,进入步骤b5处理;
步骤b5、进行金额均衡动态规划,对每个办案员对应的总金额从大到小排序,如果排序的列表中的最大总金额的办案员和最小总金额的办案员的金额差值小于阈值T,则分案结束,否则转步骤b6,阈值T为金额差值的最小值,取500;
步骤b6、取出排序后最大总金额的办案员和最小总金额的办案员进行对换指定金额,对换指定金额的规则为:最大金额的办案员里的逾期客户中最大金额客户和最小总金额的办案员里的逾期客户中的最小金额客户进行对调,对调次数超过阈值P则分案结束,否则对调后继续循环进行步骤b6,阈值P取值10。
智能分案:
目前市面上并没有针对案件和办案员的智能分案,分案往往依赖规则分案或者策略分案完成,并没有算法分案,对于有的案件无法使用规则配置,或者使用规则配置很复杂,这时我们考虑使用算法模型分案进行智能分案。智能分案的目标是:“提升办案员资源的利用率和服务水平,将合适的案件分配到合适的技能组上或者合适的办案员身上”。传统模式下,分配就是将案件分配到技能组,技能组之间按照领取任务的方式完成办案任务。这种公平分配方式考虑维度单一,未能在全局层面上掌握和合理化的分配案件。案件到技能组或者到办案员问题本质是二部图匹配问题,在某一时刻,我们可以得到某技能组下未分配的案件以及具备剩余服务能力的办案员,如果能知道每个任务与每个办案员之间的匹配概率,那就可以通过算法找到最佳匹配。智能分案如图4所示,实现过程如下:
1、对办案员和案件进行打分,某一个案件适合某个办案员办理,将案件和办案员的评分分别放入办案员队列和案件队列。
2、案件的打分和办案员的打分可根据规则评分卡来实现,对于案件的打分,主要考虑案件的处理次数、委律次数、逾期天数、逾期金额、是否有财产等,基于业务经验形成案件评分卡,案件的评分从0-900分,每个维度特征的评分不同,分数越高越不容易办理。对于办案员的打分,主要考虑办案员的成功率、工作时长、是否有投诉、是否擅长多方方言等,办案员的评分也是0-900分,根据经验确定办案员画像的特征得分,分数越高表示该办案员对于处理不容易办理的案件越有经验和能力。
3、对案件和办案员都打分后,则开始进行案件智能分配。对案件按照分数从高到低排序,对办案员按照分数从高到低排序。遍历案件列表,在案件的特征矩阵中依次寻找办案员,将分数高的案件先给分数高的办案员,在分配时考虑到分数越高的案件越不好办理以及考虑案件的均衡,所以按照一定的递增逻辑将案件和办案员进行匹配。
4、倘若所有的案件都得到匹配,则算法结束,否则继续匹配。
上述分布式规则分案方案,可以用分布式微服务或者Flink实现,不过实现后的性能没有Spark高。上述策略分案针对案件和金额等指标的均分也可以换一个算法逻辑,不过分案后的平均性精度会比较低。
综上所述本发明支持规则分案,策略分案和智能分案,不管那种分案都能实现百万级案件分钟级返回,同时提出了基于Spark+DSL的分布式实时规则计算方案,提出了基于Spark的快速排序并完成金额、案件等多层级指标均分的实现方案,提出了基于案件打分和办案员打分的智能分案方案。该套解决方案实现了分案的智能化、实时化、配置化和自动化,提升了分案效率,降低了业务人员分案门槛。
Claims (4)
1.一种基于AI的分布式智能分案引擎的实现方法,其特征在于,包括分案DAG图,由起始结点导入Excel分案数据,每个结点作为案件池,结点和结点之间的边配置了分案规则,所述分案规则为规则分案、策略分案、智能分案中的任一种规则,满足条件的案件会流向箭头指向的结点,每个结点配置了处置手段,采用配置的处置手段进行处置;
规则分案,通过以下步骤实现:
步骤1、将开始结点对应的边所指向的第一层级结点都放入队列Q,对队列Q执行步骤2;
步骤2、从队列Q取出第一个结点判断该结点的前置结点是否已经经过计算,如果是,则取出该结点和前置结点的边上配置的分案规则,进行分案规则过滤;
步骤3、循环对队列Q中其他结点执行上述步骤2,同时每执行一个结点,则将该结点对应的下游结点依次接入队列Q的末尾,直到所有结点都执行完成;
规则分案实现包括以下步骤:
对Spark RDD数据设置partition,以分钟级分案为目标,将25M的Spark RDD数据设置一个分区,在每个分区内,用Spark RDD对应的filter/map API算子进行分案规则过滤,在filter/map API算子内,首先利用DSL对分案规则进行编译,将自然语言表达的公式解析成计算机代码能识别的表达式,其次对Spark RDD分区中的每一条数据根据表达式需要的变量送入解析后的表达式完成计算;
策略分案实现包括以下步骤:
依据用户配置,如果用户配置只有金额均分,则执行金额均分算法,如果用户配置只有案件均分,则执行案件的均分算法;
案件的均分算法包括以下步骤:
利用Spark new Hadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,则每个办案员分配M/N的数量的案件;
案件的金额均分算法包括以下步骤:
利用Spark new Hadoop API读取Excel数据,将数据组织成Spark RDD数据,有M个逾期客户,N个办案员,对M个逾期客户按照金额从大到小排序;
对M个逾期客户按照金额从大到小排序具体实现包括以下步骤:
步骤b1、排序时使用Spark RDD中的Map算子,对Spark RDD数据进行partition分区提升排序效率,在partition分区内使用map算子,使用堆排序算法,对P个partition分区分别排序,最后再排序,从而完成整体排序;
步骤b2、完成整体排序后,如果逾期客户个数M小于办案员的个数N,则随机将M个逾期客户分配到N个办案员中完成金额分案,否则转步骤b3;
步骤b3、从按照金额排序后的M个逾期客户中取出TopN个依次分给N个办案员,转步骤b4,其中TopN的含义是,排序最前的N个;
TopN的获取方法为:基于完成整体排序后的partition分区,分别在每个partition分区内取出TopN,将每个partition分区的TopN结果汇聚到master结点,在master结点完成最终的TopN计算;
步骤b4、对分配后的当前每个办案员的总金额进行从小到大排序,按照M个逾期客户的金额从大到小依次分给办案员,继续步骤b3,直到M个逾期客户分配结束,至此完成了初步的金额分配,进入步骤b5处理;
步骤b5、进行金额均衡动态规划,对每个办案员对应的总金额从大到小排序,如果排序的列表中的最大总金额的办案员和最小总金额的办案员的金额差值小于阈值T,则分案结束,否则转步骤b6,阈值T为金额差值的最小值,取500;
步骤b6、取出排序后最大总金额的办案员和最小总金额的办案员进行对换指定金额,对换指定金额的规则为:最大总金额的办案员里的逾期客户中最大金额客户和最小总金额的办案员里的逾期客户中的最小金额客户进行对调,对调次数超过阈值P则分案结束,否则对调后继续循环进行步骤b6,阈值P取值10;
智能分案实现包括以下步骤:
步骤c1、对办案员和案件进行打分,将案件和办案员的评分分别放入案件队列和办案员列表;
步骤c2、案件的打分和办案员的打分根据规则评分卡来实现;
步骤c3、对案件和办案员都打分后,则开始进行案件智能分配,对案件按照分数从高到低排序,对办案员按照分数从高到低排序,遍历案件列表,在案件的特征矩阵中依次寻找办案员,将分数高的案件先给分数高的办案员;
步骤c4、倘若所有的案件都得到匹配,则算法结束,否则继续匹配。
2.根据权利要求1所述的一种基于AI的分布式智能分案引擎的实现方法,其特征在于,DSL的定义使用Antlr、Scala的解析组合子实现,实现方式为:
步骤a1、定义自然语言的表达式规则,表达式规则包括表达式=表达式“与|或”表达式,表达式=“字符串|数字|整数|浮点数”;
步骤a2、使用Antlr、Scala语言实现表达式规则的语法,将自然语言的描述转成计算机能够理解的语言;
步骤a3、对表达式规则实现编译和计算功能。
3.根据权利要求1所述的一种基于AI的分布式智能分案引擎的实现方法,其特征在于,步骤c3中办案员分数越高分得案件量越少。
4.根据权利要求1所述的一种基于AI的分布式智能分案引擎的实现方法,其特征在于,将分案DAG图可视化,在页面设置有定义了不同处置手段的功能块,用户通过拖动将功能块加入分案DAG图,加入分案DAG图的功能块将作为新的结点,用户通过边将新的结点与分案DAG图的原有结点连接,并在边上配置规则分案、策略分案、智能分案中的任一种规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311385740.7A CN117151868B (zh) | 2023-10-25 | 2023-10-25 | 一种基于ai的分布式智能分案引擎的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311385740.7A CN117151868B (zh) | 2023-10-25 | 2023-10-25 | 一种基于ai的分布式智能分案引擎的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117151868A CN117151868A (zh) | 2023-12-01 |
CN117151868B true CN117151868B (zh) | 2024-01-26 |
Family
ID=88884405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311385740.7A Active CN117151868B (zh) | 2023-10-25 | 2023-10-25 | 一种基于ai的分布式智能分案引擎的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117151868B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222917A (zh) * | 2019-04-16 | 2019-09-10 | 杭州全视软件有限公司 | 一种基于有向无环图的责任管理方法 |
CN112200484A (zh) * | 2020-10-26 | 2021-01-08 | 东北大学 | 一种基于策略定义的智能分案系统及方法 |
CN112256444A (zh) * | 2019-07-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 基于dag的业务处理方法、装置、服务器及存储介质 |
CN112417226A (zh) * | 2020-12-02 | 2021-02-26 | 江苏赛融科技股份有限公司 | 基于dag变换的大数据处理方法 |
CN113032528A (zh) * | 2021-04-09 | 2021-06-25 | 平安国际智慧城市科技股份有限公司 | 案件分析方法、装置、设备及存储介质 |
CN113220444A (zh) * | 2020-01-21 | 2021-08-06 | 赫克斯冈技术中心 | Os优化的工作流分配 |
CN113706295A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于数据分析的催收案件分配方法、装置、设备及介质 |
CN114281549A (zh) * | 2021-12-28 | 2022-04-05 | 中国建设银行股份有限公司 | 数据的处理方法及装置 |
CN114741173A (zh) * | 2022-04-12 | 2022-07-12 | 武汉紫阑信息技术有限公司 | Dag任务编排的方法、装置、电子设备和存储介质 |
CN115756769A (zh) * | 2022-10-18 | 2023-03-07 | 中国农业银行股份有限公司 | 任务执行方法、装置和电子设备 |
-
2023
- 2023-10-25 CN CN202311385740.7A patent/CN117151868B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222917A (zh) * | 2019-04-16 | 2019-09-10 | 杭州全视软件有限公司 | 一种基于有向无环图的责任管理方法 |
CN112256444A (zh) * | 2019-07-22 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 基于dag的业务处理方法、装置、服务器及存储介质 |
CN113220444A (zh) * | 2020-01-21 | 2021-08-06 | 赫克斯冈技术中心 | Os优化的工作流分配 |
CN112200484A (zh) * | 2020-10-26 | 2021-01-08 | 东北大学 | 一种基于策略定义的智能分案系统及方法 |
CN112417226A (zh) * | 2020-12-02 | 2021-02-26 | 江苏赛融科技股份有限公司 | 基于dag变换的大数据处理方法 |
CN113032528A (zh) * | 2021-04-09 | 2021-06-25 | 平安国际智慧城市科技股份有限公司 | 案件分析方法、装置、设备及存储介质 |
CN113706295A (zh) * | 2021-08-31 | 2021-11-26 | 平安普惠企业管理有限公司 | 基于数据分析的催收案件分配方法、装置、设备及介质 |
CN114281549A (zh) * | 2021-12-28 | 2022-04-05 | 中国建设银行股份有限公司 | 数据的处理方法及装置 |
CN114741173A (zh) * | 2022-04-12 | 2022-07-12 | 武汉紫阑信息技术有限公司 | Dag任务编排的方法、装置、电子设备和存储介质 |
CN115756769A (zh) * | 2022-10-18 | 2023-03-07 | 中国农业银行股份有限公司 | 任务执行方法、装置和电子设备 |
Non-Patent Citations (5)
Title |
---|
Efficient shuffle management for DAG computing frameworks based on the FRQ model;Rui Ren等;《Journal of Parallel and Distributed Computing》;第163-173页,全文 * |
云中多媒体应用中基于混合DAG的最优任务调度研究;郭雅琼等;《计算机科学》;第42卷(第11A期);第413-416页,全文 * |
基于异构多核的多类型DAG任务的响应时间分析;常爽爽等;《计算机学报》;第43卷(第6期);第1052-1066页,全文 * |
基于约简任务资源分配图的网格依赖任务静态调度;郝宪文等;《东北大学学报(自然科学版)》;第29卷(第07期);第948-951页,全文 * |
面向外汇市场监测的分布式计算框架设计;程文亮等;《计算机应用》;第40卷(第1期);第173-179页,全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117151868A (zh) | 2023-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106203893A (zh) | 一种众包环境下的基于遗传算法的任务分配方法 | |
US8296182B2 (en) | Computer-implemented marketing optimization systems and methods | |
CN102591917A (zh) | 一种数据处理方法、系统及相关装置 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
Devanur et al. | Envy freedom and prior-free mechanism design | |
CN106910091A (zh) | 数据处理方法及装置 | |
CN110069502A (zh) | 基于Spark架构的数据均衡分区方法及计算机存储介质 | |
CN107729423A (zh) | 一种大数据处理方法及装置 | |
CN107908796A (zh) | 电子政务查重方法、装置以及计算机可读存储介质 | |
CN103577455A (zh) | 用于数据库聚集操作的数据处理方法和系统 | |
CN109271421A (zh) | 一种基于MapReduce的大型数据集聚类方法 | |
CN107888660A (zh) | 云服务资源调配方法、介质、装置和计算设备 | |
Levin et al. | Stratified-sampling over social networks using mapreduce | |
Blumrosen et al. | Welfare maximization in congestion games | |
CN117151868B (zh) | 一种基于ai的分布式智能分案引擎的实现方法 | |
CN107066328A (zh) | 大规模数据处理平台的构建方法 | |
Ezra et al. | Prophets and secretaries with overbooking | |
CN111475158A (zh) | 子领域划分方法、装置、电子设备和计算机可读存储介质 | |
CN107193940A (zh) | 大数据优化分析方法 | |
US20140324861A1 (en) | Block Partitioning For Efficient Record Processing In Parallel Computing Environment | |
CN108509610A (zh) | 一种活动与同伴的检索方法及系统 | |
CN108256694A (zh) | 基于重复遗传算法的模糊时间序列预测系统、方法及装置 | |
CN107943982A (zh) | 内置约束规则的k‑means文本聚类方法及装置 | |
CN107103095A (zh) | 基于高性能网络架构的数据计算方法 | |
Phua et al. | Predicting near-future churners and win-backs in the telecommunications industry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |