CN113382117A - 一种基于机器学习的预测式外呼方法 - Google Patents
一种基于机器学习的预测式外呼方法 Download PDFInfo
- Publication number
- CN113382117A CN113382117A CN202110625367.2A CN202110625367A CN113382117A CN 113382117 A CN113382117 A CN 113382117A CN 202110625367 A CN202110625367 A CN 202110625367A CN 113382117 A CN113382117 A CN 113382117A
- Authority
- CN
- China
- Prior art keywords
- outbound
- predicted
- seat
- current
- coe
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5232—Call distribution algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/5175—Call or contact centers supervision arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/51—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
- H04M3/523—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
- H04M3/5238—Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing with waiting time or load prediction arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明涉及一种基于机器学习的预测式外呼方法,包括:活动服务端向算法服务端发起获取外呼量的请求;算法服务端向监控服务端请求获取当前实时数据;算法服务端判断当前启动阶段状态,若为启动阶段,则从数据库中获取历史数据、从实时和历史数据中提取特征值,若为非启动阶段,则从实时数据中提取特征值;算法服务端通过包括忙转空闲模型和coe模型的机器学习算法模型以及控制模型对特征值进行分析计算,得到预测外呼量,若在预测过程中发生监控指标异常,则重新训练机器学习算法模型;根据预测外呼量,活动服务端从数据库中捞取相应数量的名单进行外呼。与现有技术相比,本发明能有效提高外呼精准性、提高座席效率,同时能自适应不同业务场景。
Description
技术领域
本发明涉及智能外呼技术领域,尤其是涉及一种基于机器学习的预测式外呼方法。
背景技术
在智能外呼技术领域,预测式外呼能够自动过滤未接通的客户,并将接通的客户转接至座席队列,座席队列再根据路由规则进行座席分配,使座席与客户建立通话,从而方便开展相关业务沟通。传统的预测外呼主要通过监控所有座席的实时状态,再借助预测算法预测几分钟之后将会有多少座席将要空闲,以动态调整外呼频率,使外呼接通无限接近空闲座席数量,但这种预测外呼方式容易受预测算法准确性以及接通率波动性等因素影响,导致在外呼过程中无法有效地进行实时精准调节,传统预测算法大多根据当前的动态统计结果计算出下一轮的外呼量,其算法效率较低,无法对多种业务场景进行自适应、扩展性较差;此外,传统预测外呼的外呼量抖动性较大,座席人数多则输出量较大、座席人数少则输出量较小,导致座席结束通话后等待时间较长,不利于用户体验、也降低了座席效率。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于机器学习的预测式外呼方法,以提高外呼预测的精准性、降低外呼抖动性、提高座席效率。
本发明的目的可以通过以下技术方案来实现:一种基于机器学习的预测式外呼方法,包括以下步骤:
S1、活动服务端定时触发外呼任务,按照预设时间间隔向算法服务端发起获取外呼量的请求;
S2、算法服务端接收获取外呼量的请求后,向监控服务端请求获取当前实时话务数据和实时座席状态数据;
S3、监控服务端通过redis缓存和数据库查询得到实时话务数据,并向座席服务端请求查询得到实时座席状态数据,之后将实时话务数据和实时座席状态数据返回给算法服务端;
S4、算法服务端判断当前启动阶段状态,若为启动阶段,则从数据库中获取历史数据,之后执行步骤S5,若为非启动阶段,则执行步骤S6;
S5、算法服务端从实时话务数据、实时座席状态数据和历史数据中提取特征值,之后执行步骤S7;
S6、算法服务端从实时话务数据和实时座席状态数据中提取特征值,之后执行步骤S7;
S7、算法服务端通过机器学习算法模型以及控制模型对特征值进行分析计算,得到预测外呼量,其中,机器学习算法模型包括忙转空闲模型和coe(coefficient ofdetermination,决定系数)模型,若在分析计算过程中发生监控指标异常,则需进行机器学习算法模型的重新训练;
S8、根据预测外呼量,活动服务端从数据库中捞取相应数量的名单进行外呼。
进一步地,所述S4具体包括以下步骤:
S41、判断当前获取外呼量请求与上一次获取外呼量请求之间的时间间隔是否超过第一阈值,若判断为是,则设置启动阶段标志为true,表明当前为启动阶段,之后执行步骤S43,否则执行步骤S42;
S42、判断当前启动阶段标识是否为true,若判断为是,则表明为启动阶段,之后执行步骤S43;否则表明为非启动阶段,之后执行步骤S6;
S43、从数据库中获取历史数据,之后执行步骤S5。
进一步地,所述历史数据包括历史平均coe值以及历史话务数据。
进一步地,所述忙转空闲模型和coe模型均采用GBDT(Gradient BoostingDecision Tree,梯度提升决策树)算法。
进一步地,所述步骤S7具体包括以下步骤:
S71、忙转空闲模型接收相应的特征值,以对应输出忙转空闲人数预测值Q,其中,忙转空闲模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值;
S72、控制模型根据实时话务数据和实时座席状态数据,以对应计算得到第一预测外呼量P1;
S73、coe模型接收相应的特征值,以对应输出预测coe值,并根据当前活动所属阶段以及座席效率误差值,判断是否需对预测coe值进行修正,若判断为是,则对预测coe值进行修正,否则无需对预测coe值进行修正,其中,若当前活动是启动阶段的第一次外呼活动,则直接以历史平均coe值作为此次的预测coe值,此外,coe模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、空闲座席数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值;
S74、根据记录的coe修正次数、接通率变化值、总座席人数变化值、平均振铃时长变化值、平均通话时长变化值或平均话后处理时长变化值,判断是否需重新训练模型,若判断为是,则设置重训练标志为true,否则无需进行处理;
S75、结合步骤S73最终确定的预测coe值以及步骤S71中的忙转空闲人数预测值,计算得到对应的第二预测外呼量P2;
S76、对第一预测外呼量和第二预测外呼量进行调和平均处理,得到预测外呼量:
P2=coe*(N+Q)
其中,P为预测外呼量,coe为步骤S73最终确定的预测coe值,N为当前空闲座席;
S77、对预测外呼量进行末端修正,得到最终的预测外呼量,并判断当前重训练标志是否为true,若判断为是,则对机器学习模型进行迭代训练、将训练后的机器学习模型替换原先的模型。
进一步地,所述步骤S72具体包括以下步骤:
S721、控制模型从实时话务数据和实时座席状态数据中提取出各个座席通话时长为αi、各个电话振铃时长为βj、各个座席话后处理时长为γi、平均振铃时长λ、平均通话时长为ω、平均话后处理时长为μ、接通率为cr、当前空闲座席N、总座席人数M以及目标座席效率T,并根据当前座席效率数值,设定外呼速率s,之后分别计算得到释放人力预测值和接起人力预测值:
其中,n为座席的总数量,m为当前振铃电话的总数量,H为10秒内释放人力预测值,K为10秒内接起人力预测值;
S722、根据释放人力预测值和接起人力预测值,计算得到第一预测外呼量:
其中,P1为控制模型输出的第一预测外呼量。
进一步地,所述步骤S721中外呼速率s的设定过程具体为:若当前座席效率为20%以下,s固定为0.5;
若当前座席效率为20%-80%,s每3秒钟增加0.01;
若当前座席效率为80%-90%,此阶段为目标座席效率,s保持不变;
若当前座席效率为90%-95%,座席效率较高,外呼速率需降低,s每3秒钟减少0.01;
若当前座席效率为95%-100%,此阶段容易出现呼损,外呼速率需快速降低,s每3秒钟减少0.02。
进一步地,所述步骤S73中判断是否需对预测coe值进行修正以及对预测coe值进行修正的具体过程为:
若当前活动属于启动阶段之后,则计算当前座席效率误差:
其中,err为当前座席效率误差,ur为当前座席效率;
若err≠0,则需对预测coe值进行修正,修正公式为:
coe=coe+err*lr
其中,Ir为不同业务场景下学习系数对应的学习率,所述学习系数分别设置为1、2、3、4、5,则对应的学习率分别对应为0.0001、0.001、0.01、0.05、0.25。
进一步地,所述步骤S77中对预测外呼量进行末端修正的具体过程为:
若P>FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数,则将预测外呼量修正为P=FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数;
若P>最大并发数,则将预测外呼量修正为P=最大并发数。
进一步地,所述步骤S8具体包括以下步骤:
S81、活动服务端根据预测外呼量从数据库中捞取同等数量的名单;
S82、通过Elastic-Job分片将外呼名单进行并行外呼、推送名单至FreeSwitch;
S83、FreeSwitch向客户发起呼叫;
S84、判断客户是否接通,若接通则转接至座席队列,座席队列根据预设的路由规则将合适的座席与客户建立通话;
若未接通则将呼叫结果通过消息队列回传至活动服务端,以更新名单状态。
与现有技术相比,本发明具有以下优点:
一、本发明通过在算法服务端构建包括忙换空闲模型和coe模型的机器学习模型,并结合控制模型,以利用实时数据和历史数据,即可对应输出忙转空闲人数预测值、coe预测值以及由控制模型输出第一预测外呼量,再结合这三个模型的输出预测值,进一步通过调和平均以及末端修正的方式,以得到最终的预测外呼量,如此能够有效保证预测外呼量的精准性,从而提高座席效率。
二、本发明中的控制模型根据当前座席效率数值,以设定相应的外呼速率,并据此计算第一预测外呼量,同时coe模型通过计算座席效率误差,以判断是否触发coe修正,结合设置对应于不同业务场景的学习率,以得到符合不同业务场景的coe预测值,综上能够保证整个机器学习模型的输出量稳定,使得座席效率波动性大大降低,减少拨打过程中座席等待时长。
三、本发明的算法服务端通过机器学习模型进行外呼量预测,并结合coe修正次数、接通率变化值、总座席人数变化值、平均振铃时长变化值、平均通话时长变化值或平均话后处理时长变化值,以判断是否需进行模型重训练,从而实现模型持续训练、自适应话务情况变化的目的,以进一步保证座席效率,此外,本发明通过设置对应于不同业务场景的学习系数,结合coe修正过程,使得机器学习模型能够对多种业务场景进行自适应,每一种业务场景接入都会自动生成一套新模型,而无需进行算法逻辑的调整,因而扩展性更好。
附图说明
图1为本发明的方法流程示意图;
图2为实施例的工作流程示意图;
图3为实施例的应用过程示意图;
图4为实施例的具体流程示意。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
相关术语解释——
呼损:客户电话接通时无空闲座席,此时客户挂断电话,导致名单浪费,造成呼损。
话务数据:包括振铃、通话、话后处理等与通话相关的各项指标。
座席状态数据:包括座席的就绪、通话、话后处理、小休等与座席状态相关的各项指标。
FreeSwitch:开源软电话平台。
Elastic-Job:开源分布式任务调度框架。
Quartz:开源定时任务框架。
如图1所示,一种基于机器学习的预测式外呼方法,包括以下步骤:
S1、活动服务端定时触发外呼任务,按照预设时间间隔向算法服务端发起获取外呼量的请求;
S2、算法服务端接收获取外呼量的请求后,向监控服务端请求获取当前实时话务数据和实时座席状态数据;
S3、监控服务端通过redis缓存和数据库查询得到实时话务数据,并向座席服务端请求查询得到实时座席状态数据,之后将实时话务数据和实时座席状态数据返回给算法服务端;
S4、算法服务端判断当前启动阶段状态,若为启动阶段,则从数据库中获取历史数据,之后执行步骤S5,若为非启动阶段,则执行步骤S6,具体的:
S41、判断当前获取外呼量请求与上一次获取外呼量请求之间的时间间隔是否超过第一阈值,若判断为是,则设置启动阶段标志为true,表明当前为启动阶段,之后执行步骤S43,否则执行步骤S42;
S42、判断当前启动阶段标识是否为true,若判断为是,则表明为启动阶段,之后执行步骤S43;否则表明为非启动阶段,之后执行步骤S6;
S43、从数据库中获取历史数据,之后执行步骤S5,其中,历史数据包括历史平均coe值以及历史话务数据;
S5、算法服务端从实时话务数据、实时座席状态数据和历史数据中提取特征值,之后执行步骤S7;
S6、算法服务端从实时话务数据和实时座席状态数据中提取特征值,之后执行步骤S7;
S7、算法服务端通过机器学习算法模型和控制模型对特征值进行分析计算,得到预测外呼量,其中,机器学习算法模型包括忙转空闲模型和coe模型,忙转空闲模型和coe模型均采用GBDT算法,若在分析计算过程中发生监控指标异常,则需进行机器学习算法模型的重新训练,具体的:
S71、忙转空闲模型接收相应的特征值,以对应输出忙转空闲人数预测值Q,其中,忙转空闲模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值;
S72、控制模型根据实时话务数据和实时座席状态数据,以对应计算得到第一预测外呼量P1:首先控制模型从实时话务数据和实时座席状态数据中提取出各个座席通话时长为αi、各个电话振铃时长为βj、各个座席话后处理时长为γi、平均振铃时长λ、平均通话时长为ω、平均话后处理时长为μ、接通率为cr、当前空闲座席N、总座席人数M以及目标座席效率T,并根据当前座席效率数值,设定外呼速率s:
若当前座席效率为20%以下,s固定为0.5;
若当前座席效率为20%-80%,s每3秒钟增加0.01;
若当前座席效率为80%-90%,此阶段为目标座席效率,s保持不变;
若当前座席效率为90%-95%,座席效率较高,外呼速率需降低,s每3秒钟减少0.01;
若当前座席效率为95%-100%,此阶段容易出现呼损,外呼速率需快速降低,s每3秒钟减少0.02;
之后分别计算得到释放人力预测值和接起人力预测值:
其中,n为座席的总数量,m为当前振铃电话的总数量,H为10秒内释放人力预测值,K为10秒内接起人力预测值;
再根据释放人力预测值和接起人力预测值,计算得到第一预测外呼量:
其中,P1为控制模型输出的第一预测外呼量;
S73、coe模型接收相应的特征值,以对应输出预测coe值,并根据当前活动所属阶段以及座席效率误差值,判断是否需对预测coe值进行修正,若判断为是,则对预测coe值进行修正,否则无需对预测coe值进行修正,其中,若当前活动是启动阶段的第一次外呼活动,则直接以历史平均coe值作为此次的预测coe值,此外,coe模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、空闲座席数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值,在判断是否需对预测coe值进行修正以及对预测coe值进行修正时,首先确定当前活动是否属于启动阶段之后,若当前活动属于启动阶段之后,则计算当前座席效率误差:
式中,err为当前座席效率误差,ur为当前座席效率;
若err≠0,则需对预测coe值进行修正,修正公式为:
coe=coe+err*lr
式中,Ir为不同业务场景下学习系数对应的学习率,学习系数分别设置为1、2、3、4、5,则对应的学习率分别对应为0.0001、0.001、0.01、0.05、0.25;
S74、根据记录的coe修正次数、接通率变化值、总座席人数变化值、平均振铃时长变化值、平均通话时长变化值或平均话后处理时长变化值,判断是否需重新训练模型,若判断为是,则设置重训练标志为true,否则无需进行处理;
S75、结合步骤S73最终确定的预测coe值以及步骤S71中的忙转空闲人数预测值,计算得到对应的第二预测外呼量P2;
S76、对第一预测外呼量和第二预测外呼量进行调和平均处理,得到预测外呼量:
P2=coe*(N+Q)
其中,P为预测外呼量,coe为步骤S73最终确定的预测coe值,N为当前空闲座席;
S77、对预测外呼量进行末端修正,得到最终的预测外呼量,并判断当前重训练标志是否为true,若判断为是,则对机器学习模型进行迭代训练、将训练后的机器学习模型替换原先的模型,其中,对预测外呼量进行末端修正的具体过程为:
若P>FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数,则将预测外呼量修正为P=FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数;
若P>最大并发数,则将预测外呼量修正为P=最大并发数;
S8、根据预测外呼量,活动服务端从数据库中捞取相应数量的名单进行外呼,具体的:
S81、活动服务端根据预测外呼量从数据库中捞取同等数量的名单;
S82、通过Elastic-Job分片将外呼名单进行并行外呼、推送名单至FreeSwitch;
S83、FreeSwitch向客户发起呼叫;
S84、判断客户是否接通,若接通则转接至座席队列,座席队列根据预设的路由规则将合适的座席与客户建立通话;
若未接通则将呼叫结果通过消息队列回传至活动服务端,以更新名单状态。
本发明将自动外呼过程视为一个马尔科夫过程,既可解释为下个周期的状态集合,呼损率、坐席利用率、排队人数都是由上个周期的状态集合和对应行动,既外拨量所决定的,因而考虑基于强化学习理论,构建关于状态s和行动a的模型M(s,a),在t周期,基于当前状态s输出行为a,在t+1周期的状态s`既为t周期行为的反馈,以lr为学习速率,按lr*(M(s`,a`)–M(s,a))的形式记录这个反馈,并将该反馈加入到t+1轮的输出行为a`上,作为t+1的最终输出,那么t+2的状态s``即为t+1时行为a`的反馈,无限周期的进行以此类推,以期输出和反馈在期望的范围内,实现动态平衡。
如图2和图3所示,本实施例中,算法服务端提供标准http接口,以供外呼服务调用,外呼服务在自动外呼过程中,每隔n秒调用一次算法服务,获取外呼量,即活动服务设置定时任务时间间隔,通过Quartz定时请求算法服务获取外呼量。
算法服务实时数据模块接收到http请求,再调用监控服务获取实时数据,将实时话务数据和座席数据进行记录,从中提取模型特征值写入redis缓存待训练,预测阶段共有三个模型(即忙转空闲模型、coe模型和控制模型)对外呼量进行预测:
控制模型根据当前座席效率所处的数值范围阶段,以设定相应的各阶段外呼速率s,阶段一为20%以下,s固定为0.5;阶段二为20%-80%,s每3秒钟增加0.01;阶段三为80%-90%,此阶段为目标效率,s保持不变;阶段四为90%-95%,效率较高,外呼速率需降低,s每3秒钟减少0.01;阶段五为95%-100%,此阶段容易出现呼损,外呼速率需快速降低,s每3秒钟减少0.02;
之后控制模型提取redis中的实时数据,各个座席通话时长为αi,各个电话振铃时长为βj,各个座席话后处理时长为γi,平均振铃时长λ,平均通话时长为ω,平均话后处理时长为μ,接通率为cr,当前空闲座席N,总座席人数M,目标座席效率T,外呼速率为s,则预测10秒内释放的人力H为:
预测10秒内接起的人力K为:
coe(决定系数)模型和忙转空闲模型均采用GDBT(梯度提升树)算法,coe(决定系数)模型特征值为平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、空闲座席数、通话座席数、总座席数、接通率、接通率变化值、座席效率、座席效率变化值,预测值为coe(决定系数)。忙转空闲模型特征值为平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、通话座席数、总座席数、接通率、接通率变化值、座席效率、座席效率变化值,预测值为座席忙转空闲人数Q,由此得到第二预测外呼量P2=coe*(N+Q)。
在整个预测过程中,需要对Δcr,ΔM,Δλ,Δω,Δμ这五个变化值指标进行判断,若其中一个变化值指标波动较大,即超过设定的对应阈值范围,则需要将重训练标志置为true,以触发模型重训练,进行模型的迭代更新。
最终外呼量取调和平均:
对外呼量P进行末端修正,以确保不超过FreeSwitch通道限制以及网关最大并发数限制。
最后将末端修正后的外呼量返回至活动服务,活动服务根据外呼量捞取数据库中等量的名单,进行外呼:通过Elastic-Job分片将外呼名单进行并行外呼,提升外呼效率;FreeSwitch向客户发起呼叫;判断客户是否接通,若接通则转接至座席队列,座席队列通过一定的路由规则将合适的座席与客户建立通话;若未接通则将呼叫结果通过消息队列回传至活动服务进行名单状态更新。
此外,还会将redis缓存数据写入数据库,对重训练标志进行判断,若为true,则对模型进行迭代训练,并将训练后的模型替换原模型。
本实施例应用上述方法,其具体的预测式外呼过程如图4所示:
1:在活动服务中创建外呼活动,并设置外呼任务时间间隔为10秒,周期内最大外呼数1000,FreeSwitch通道数2400等参数。
2:活动启动,定时触发外呼任务,每隔10秒钟请求一次算法服务获取外呼量。
3:算法服务接收外呼量请求,则请求监控服务获取当前实时数据,包括实时话务数据和实时座席状态数据。
4:判断当前外呼量请求与上一次外呼量请求是否超过60秒,若超过则认为是新一轮外呼,将启动标志置为true,若启动标志为true,把该活动对应的redis缓存数据清空,从数据库中查询最近5天平均coe(决定系数),并查询最近5天话务数据中的平均振铃时长λ,平均通话时长为ω,平均话后处理时长为μ作为特征值。
5:忙转空闲模型采用GDBT(梯度提升树)算法,特征值为平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、通话座席数、总座席数、接通率、接通率变化值、座席效率、座席效率变化值,预测值为座席忙转空闲人数。从实时数据中将特征值提取,作为忙转空闲模型的入参,预测忙转空闲人数Q。
6:将实时数据记录至redis缓存中。
7:判断当前座席效率所处范围阶段,各阶段控制模型外呼速率s不同,阶段一为20%以下,s固定为0.5;阶段二为20%-80%,s每3秒钟增加0.01;阶段三为80%-90%,此阶段为目标效率,s保持不变;阶段四为90%-95%,效率较高,外呼速率需降低,s每3秒钟减少0.01;阶段五为95%-100%,此阶段容易出现呼损,外呼速率需快速降低,s每3秒钟减少0.02。
8:控制模型提取redis中的实时数据,各个座席通话时长为αi,各个电话振铃时长为βj,各个座席话后处理时长为γi,平均振铃时长λ,平均通话时长为ω,平均话后处理时长为μ,接通率为cr,当前空闲座席N,总座席人数M,目标座席效率T,外呼速率为s,则预测10秒内释放的人力H为:
预测10秒内接起的人力K为:
9:coe(决定系数)模型同样采用GDBT(梯度提升树)算法,特征值为平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、空闲座席数、通话座席数、总座席数、接通率、接通率变化值、座席效率、座席效率变化值,预测值为coe(决定系数),需注意的是,如果当前活动为新一轮外呼的第一次拨打,则预测coe值即为历史最近5天平均coe。
10:学习系数可设置为1、2、3、4、5,对应学习率lr为0.0001、0.001、0.01、0.05、0.25,以催收场景为例,学习系数设置为2,对应学习率lr为0.001,此参数通过多轮测试调参得出。
11:目标座席效率设置为85%,以效率范围80%-90%为合理范围,在启动阶段之后(本实施例设定若发起获取外呼量请求的次数大于或等于9,则认为在启动阶段之后,否则认为在非启动阶段),若座席效率不在该范围内,则认为存在误差。当座席效率ur<80%,座席效率误差值err=0.8-ur,当座席效率ur>90%,座席效率误差值err=0.9-ur。
12:当err≠0,则触发coe修正,当修正次数达12次,将模型重训练标志置为true。若误差值err>0,则强化coe,若误差值err<0,则削弱coe。修正公式为:
coe=coe+err*lr
13:在线模型预测外呼量P2=coe*(N+Q),对控制模型和在线模型预测外呼量取调和平均,得出外呼量P:
14:对外呼量进行末端修正,若P>FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数,则P=FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数。若P>最大并发数,则P=最大并发数。返回外呼量至活动服务。
15:判断重训练标志是否为true,若为true,则对数据库历史数据进行再训练,重新生成模型,快速适应环境变化。
16:活动服务获取外呼量,从数据库捞取相等数量的名单,如P=200,捞取200条名单。
17:根据当前活动设定的分片量,如10个分片,则每个分片分配到的名单数为20个,在10秒钟的周期内,每秒钟外呼2个,保证周期内外呼为匀速外呼,有利于控制座席的作业节奏,不会在短时间内全部繁忙或全部空闲。
18:FreeSwitch呼叫客户号码。
19:FreeSwitch根据客户的接通情况,若客户接通则转接至座席队列,最后挂断电话进行结果回传,若未接通则直接将结果状态通过消息队列更新至名单中,以备重拨名单。
综上所述,本发明提出一种基于机器学习的预测式外呼方法,其中算法服务端中的机器学习模型能够提供更精准的外呼预测,大大提高座席效率,降低客户骚扰现象;
模型输出量稳定,让座席效率保持在较小的范围内波动,拨打过程中无等待时长超过30秒的座席;
模型可对拨打的数据样本进行持续的训练,自适应话务情况的变化,并在持续的训练中逐渐提升座席效率;
模型可对多种业务场景进行自适应,每一种业务场景接入都会自动生成一套新模型,无需进行算法逻辑的调整,扩展性更好。
Claims (10)
1.一种基于机器学习的预测式外呼方法,其特征在于,包括以下步骤:
S1、活动服务端定时触发外呼任务,按照预设时间间隔向算法服务端发起获取外呼量的请求;
S2、算法服务端接收获取外呼量的请求后,向监控服务端请求获取当前实时话务数据和实时座席状态数据;
S3、监控服务端通过redis缓存和数据库查询得到实时话务数据,并向座席服务端请求查询得到实时座席状态数据,之后将实时话务数据和实时座席状态数据返回给算法服务端;
S4、算法服务端判断当前启动阶段状态,若为启动阶段,则从数据库中获取历史数据,之后执行步骤S5,若为非启动阶段,则执行步骤S6;
S5、算法服务端从实时话务数据、实时座席状态数据和历史数据中提取特征值,之后执行步骤S7;
S6、算法服务端从实时话务数据和实时座席状态数据中提取特征值,之后执行步骤S7;
S7、算法服务端通过机器学习算法模型和控制模型对特征值进行分析计算,得到预测外呼量,其中,机器学习算法模型包括忙转空闲模型和coe模型,若在分析计算过程中发生监控指标异常,则需进行机器学习算法模型的重新训练;
S8、根据预测外呼量,活动服务端从数据库中捞取相应数量的名单进行外呼。
2.根据权利要求1所述的一种基于机器学习的预测式外呼方法,其特征在于,所述S4具体包括以下步骤:
S41、判断当前获取外呼量请求与上一次获取外呼量请求之间的时间间隔是否超过第一阈值,若判断为是,则设置启动阶段标志为true,表明当前为启动阶段,之后执行步骤S43,否则执行步骤S42;
S42、判断当前启动阶段标识是否为true,若判断为是,则表明为启动阶段,之后执行步骤S43;否则表明为非启动阶段,之后执行步骤S6;
S43、从数据库中获取历史数据,之后执行步骤S5。
3.根据权利要求2所述的一种基于机器学习的预测式外呼方法,其特征在于,所述历史数据包括历史平均coe值以及历史话务数据。
4.根据权利要求1~3任一所述的一种基于机器学习的预测式外呼方法,其特征在于,所述忙转空闲模型和coe模型均采用GBDT算法。
5.根据权利要求4所述的一种基于机器学习的预测式外呼方法,其特征在于,所述步骤S7具体包括以下步骤:
S71、忙转空闲模型接收相应的特征值,以对应输出忙转空闲人数预测值Q,其中,忙转空闲模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值;
S72、控制模型根据实时话务数据和实时座席状态数据,以对应计算得到第一预测外呼量Ρ1;
S73、coe模型接收相应的特征值,以对应输出预测coe值,并根据当前活动所属阶段以及座席效率误差值,判断是否需对预测coe值进行修正,若判断为是,则对预测coe值进行修正,否则无需对预测coe值进行修正,其中,若当前活动是启动阶段的第一次外呼活动,则直接以历史平均coe值作为此次的预测coe值,此外,coe模型对应的特征值包括平均振铃时长、平均通话时长、平均话后处理时长、上轮接通数、上轮振铃数、空闲座席数、通话座席数、总座席数、接通率、接通率变化值、座席效率和座席效率变化值;
S74、根据记录的coe修正次数、接通率变化值、总座席人数变化值、平均振铃时长变化值、平均通话时长变化值或平均话后处理时长变化值,判断是否需重新训练模型,若判断为是,则设置重训练标志为true,否则无需进行处理;
S75、结合步骤S73最终确定的预测coe值以及步骤S71中的忙转空闲人数预测值,计算得到对应的第二预测外呼量Ρ2;
S76、对第一预测外呼量和第二预测外呼量进行调和平均处理,得到预测外呼量:
Ρ2=coe*(N+Q)
其中,P为预测外呼量,coe为步骤S73最终确定的预测coe值,N为当前空闲座席;
S77、对预测外呼量进行末端修正,得到最终的预测外呼量,并判断当前重训练标志是否为true,若判断为是,则对机器学习模型进行迭代训练、将训练后的机器学习模型替换原先的模型。
6.根据权利要求5所述的一种基于机器学习的预测式外呼方法,其特征在于,所述步骤S72具体包括以下步骤:
S721、控制模型从实时话务数据和实时座席状态数据中提取出各个座席通话时长为αi、各个电话振铃时长为βj、各个座席话后处理时长为γi、平均振铃时长λ、平均通话时长为ω、平均话后处理时长为μ、接通率为cr、当前空闲座席N、总座席人数M以及目标座席效率T,并根据当前座席效率数值,设定外呼速率s,之后分别计算得到释放人力预测值和接起人力预测值:
其中,n为座席的总数量,m为当前振铃电话的总数量,H为10秒内释放人力预测值,K为10秒内接起人力预测值;
S722、根据释放人力预测值和接起人力预测值,计算得到第一预测外呼量:
其中,Ρ1为控制模型输出的第一预测外呼量。
7.根据权利要求6所述的一种基于机器学习的预测式外呼方法,其特征在于,所述步骤S721中外呼速率s的设定过程具体为:若当前座席效率为20%以下,s固定为0.5;
若当前座席效率为20%-80%,s每3秒钟增加0.01;
若当前座席效率为80%-90%,此阶段为目标座席效率,s保持不变;
若当前座席效率为90%-95%,座席效率较高,外呼速率需降低,s每3秒钟减少0.01;
若当前座席效率为95%-100%,此阶段容易出现呼损,外呼速率需快速降低,s每3秒钟减少0.02。
9.根据权利要求5所述的一种基于机器学习的预测式外呼方法,其特征在于,所述步骤S77中对预测外呼量进行末端修正的具体过程为:
若Ρ>FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数,则将预测外呼量修正为P=FreeSwitch通道数﹣当前振铃数﹣当前通话人数﹣当前排队人数;
若Ρ>最大并发数,则将预测外呼量修正为Ρ=最大并发数。
10.根据权利要求1所述的一种基于机器学习的预测式外呼方法,其特征在于,所述步骤S8具体包括以下步骤:
S81、活动服务端根据预测外呼量从数据库中捞取同等数量的名单;
S82、通过Elastic-Job分片将外呼名单进行并行外呼、推送名单至FreeSwitch;
S83、FreeSwitch向客户发起呼叫;
S84、判断客户是否接通,若接通则转接至座席队列,座席队列根据预设的路由规则将合适的座席与客户建立通话;
若未接通则将呼叫结果通过消息队列回传至活动服务端,以更新名单状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625367.2A CN113382117B (zh) | 2021-06-04 | 2021-06-04 | 一种基于机器学习的预测式外呼方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625367.2A CN113382117B (zh) | 2021-06-04 | 2021-06-04 | 一种基于机器学习的预测式外呼方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113382117A true CN113382117A (zh) | 2021-09-10 |
CN113382117B CN113382117B (zh) | 2022-08-12 |
Family
ID=77575825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110625367.2A Active CN113382117B (zh) | 2021-06-04 | 2021-06-04 | 一种基于机器学习的预测式外呼方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113382117B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704335A (zh) * | 2016-03-02 | 2016-06-22 | 重庆大学 | 基于动态统计过程的预测式外呼算法、交换机拨打方法及装置 |
CN106657693A (zh) * | 2017-01-13 | 2017-05-10 | 深圳市彬讯科技有限公司 | 一种呼叫系统预测式外呼方法及系统 |
WO2017088593A1 (zh) * | 2015-11-24 | 2017-06-01 | 华为技术有限公司 | 一种选择服务座席的方法、装置及系统 |
CN108156331A (zh) * | 2017-11-10 | 2018-06-12 | 大连金慧融智科技股份有限公司 | 一种智能自动拨号外呼系统及方法 |
CN108650426A (zh) * | 2018-02-08 | 2018-10-12 | 中移在线服务有限公司 | 一种呼叫中心预测外呼方法及系统 |
CN110166641A (zh) * | 2019-05-21 | 2019-08-23 | 深圳市中讯网联科技有限公司 | 动态的预测式智能自动外呼系统算法 |
CN110166632A (zh) * | 2019-04-15 | 2019-08-23 | 中国平安人寿保险股份有限公司 | 智能外呼处理方法、装置、计算机设备及存储介质 |
CN111246029A (zh) * | 2020-01-19 | 2020-06-05 | 中电智恒信息科技服务有限公司 | 一种动态调整呼叫频率的外呼算法 |
-
2021
- 2021-06-04 CN CN202110625367.2A patent/CN113382117B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017088593A1 (zh) * | 2015-11-24 | 2017-06-01 | 华为技术有限公司 | 一种选择服务座席的方法、装置及系统 |
CN105704335A (zh) * | 2016-03-02 | 2016-06-22 | 重庆大学 | 基于动态统计过程的预测式外呼算法、交换机拨打方法及装置 |
CN106657693A (zh) * | 2017-01-13 | 2017-05-10 | 深圳市彬讯科技有限公司 | 一种呼叫系统预测式外呼方法及系统 |
CN108156331A (zh) * | 2017-11-10 | 2018-06-12 | 大连金慧融智科技股份有限公司 | 一种智能自动拨号外呼系统及方法 |
CN108650426A (zh) * | 2018-02-08 | 2018-10-12 | 中移在线服务有限公司 | 一种呼叫中心预测外呼方法及系统 |
CN110166632A (zh) * | 2019-04-15 | 2019-08-23 | 中国平安人寿保险股份有限公司 | 智能外呼处理方法、装置、计算机设备及存储介质 |
CN110166641A (zh) * | 2019-05-21 | 2019-08-23 | 深圳市中讯网联科技有限公司 | 动态的预测式智能自动外呼系统算法 |
CN111246029A (zh) * | 2020-01-19 | 2020-06-05 | 中电智恒信息科技服务有限公司 | 一种动态调整呼叫频率的外呼算法 |
Non-Patent Citations (2)
Title |
---|
李刚等: "基于动态统计的预测式外呼算法的设计与实现", 《计算机科学与探索》 * |
马丽等: "基于统计分析优化的预测外呼算法", 《计算机应用》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113382117B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156331B (zh) | 一种智能自动拨号外呼方法 | |
US9088650B2 (en) | Predictive dialing based on simulation | |
RU2507704C2 (ru) | Способ и устройство для маршрутизации очереди | |
CN108650426B (zh) | 一种呼叫中心预测外呼方法及系统 | |
CN105704335B (zh) | 基于动态统计过程的预测式外呼算法、交换机拨打方法及装置 | |
CN109040477B (zh) | 一种预测外呼算法的优化方法及外呼调度系统 | |
US9781263B2 (en) | Context-based dynamic adjustment to pacing algorithm | |
ZA200503428B (en) | Predictive dialling by monitoring progress of agent script | |
CN111385420B (zh) | 用户的识别方法、装置、存储介质及电子装置 | |
US7852784B2 (en) | Estimating endpoint performance in unified communication systems | |
CN111866290B (zh) | 外呼电话数量的确定方法、自动外呼方法及设备 | |
WO2020164333A1 (zh) | 基于强化学习模型的业务用户分流方法和装置 | |
Zou et al. | Trading off computation with transmission in status update systems | |
WO2021164670A1 (zh) | 视频编码方法、装置、设备及存储介质 | |
CN116888951A (zh) | 用于具有放弃的多技能联络中心中的稳健等待时间估计的方法和系统 | |
US8681955B1 (en) | Feedback control of a predictive dialer using telemarketing call abandonment rates | |
CN113438376B (zh) | 电话外呼方法及装置 | |
EP2525555A1 (en) | Method and system for realizing real-time feedback function of queuing in ngcc | |
CN113382117B (zh) | 一种基于机器学习的预测式外呼方法 | |
CN111246029A (zh) | 一种动态调整呼叫频率的外呼算法 | |
WO2012126213A1 (zh) | 来电原因的判定方法及装置 | |
CN113746990B (zh) | 一种ai人机交互后转人人交互的外呼预测系统及方法 | |
CN112416602A (zh) | 一种分布式数据流资源弹性伸缩增强插件及增强方法 | |
CN103118208B (zh) | 一种基于动态决策树的话务峰涌呼叫优化方法 | |
CN116149848A (zh) | 负载预测方法、装置、电子设备及存储介质 |
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 |