本发明涉及一种自定义规则的多模型融合的不良呼叫识别方法,属于信息技术领域。
背景技术:
不良呼叫严重影响广大正常用户的日常生活,越来越多的犯罪分子通过不良呼叫进行诈骗骚扰,侵害普通人群的财产安全。为了能够实现对不良呼叫的识别提醒,传统的分析方案是在专家经验的基础上,利用码号规则、行为静态规则等特征,实现了强解释性的识别策略。但是随着犯罪分子行为的升级,这种方法存在着推荐目标单一、准确率下降的问题。而新兴的以隐形表征模型为主的推荐技术,虽然可以实现多视角、多维度、多尺度的不良呼叫识别,但是也存在可解释性差、对标注数据依赖验证的问题。
因此,如何将规则和隐性表征模型融合到不良呼叫识别技术中,从而既能保留专家经验和业务强解释性,还能充分利用多种表征模型提升模型整体效果,有效提升不良呼叫识别的可用性、准确性,已经成为技术人员普遍关注的技术问题。
技术实现要素:
有鉴于此,本发明的目的是提供一种动态融合规则到不良呼叫识别模型的方法,能将规则和隐性表征模型融合到不良呼叫识别技术中,从而既保留专家经验和业务强解释性,还充分利用多种表征模型提升模型整体效果,有效提升不良呼叫识别的可用性、准确性。
为了达到上述目的,本发明提供了一种自定义规则的多模型融合的不良呼叫识别方法,包括有:
步骤一、构建规则策略模型:设置若干条不良呼叫识别规则,并保存在规则表中,然后将规则表中的多条规则通过逻辑运算符连接构成策略,并设置每条策略的模型融合方式,由所有策略构成规则策略模型;
步骤二、分别构建识别不良呼叫的卷积神经网络和基于不良呼叫投诉的bert文本分类模型,其中,数据源包括呼叫信令、用户投诉的相关文本、公安反馈的不良呼叫文本信息、或其他渠道获取的文本标签;
步骤三、根据策略包含的所有规则的计算式,为规则策略模型中的每条策略生成相应的递归计算表达式,然后执行策略的递归计算表达式以获得每条策略的执行结果,同时,运行卷积神经网络和bert文本分类模型以获得各自的输出结果,最后根据每条策略的模型融合方式和执行结果、卷积神经网络和bert文本分类模型的输出结果,计算得到最终的不良呼叫识别结果。
与现有技术相比,本发明的有益效果是:本发明基于用户自定义规则,并采取多种融合方式,将规则策略模型的执行结果和卷积神经网络、bert文本分类模型这些表征模型的输出结果进行融合,从而不仅能保留专家经验和业务强解释性,还充分利用多种表征模型提升模型整体效果,有效提升不良呼叫识别的可用性、准确性。
附图说明
图1是本发明一种自定义规则的多模型融合的不良呼叫识别方法的流程图。
图2是图1步骤三中,根据策略包含的所有规则的计算式,为规则策略模型中的每条策略生成相应的递归计算表达式的具体步骤流程图。
图3是图1步骤三中,根据每条策略的模型融合方式和执行结果、卷积神经网络和bert文本分类模型的输出结果,计算得到最终的不良呼叫识别结果的具体步骤流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
如图1所示,本发明一种自定义规则的多模型融合的不良呼叫识别方法,包括有:
步骤一、构建规则策略模型:设置若干条不良呼叫识别规则,并保存在规则表中,然后将规则表中的多条规则通过逻辑运算符连接构成策略,并设置每条策略的模型融合方式,由所有策略构成规则策略模型;
步骤二、分别构建识别不良呼叫的卷积神经网络和bert文本分类模型,其中,数据源包括呼叫信令、用户投诉的相关文本、公安反馈的不良呼叫文本信息、或其他渠道获取的文本标签;
步骤三、根据策略包含的所有规则的计算式,为规则策略模型中的每条策略生成相应的递归计算表达式,然后执行策略的递归计算表达式以获得每条策略的执行结果,同时,运行卷积神经网络和bert文本分类模型以获得各自的输出结果,最后根据每条策略的模型融合方式和执行结果、卷积神经网络和bert文本分类模型的输出结果,计算得到最终的不良呼叫识别结果。
步骤一中,策略由多条规则通过逻辑运算符连接而形成,具体形式可以为:
步骤二中,可以基于不良呼叫的不同特征,构建卷积神经网络、bert文本分类模型等多个用于识别不良呼叫的表征模型,其中,卷积神经网络的输入可以是用户在不同时间周期下的通话特征指标向量,输出可以是标识用户是否是疑似不良呼叫号码的标签信息;bert文本分类模型的输入可以是投诉文本的词向量,输出可以是投诉文本属于不良呼叫的可疑度。本申请人分别在上述2个模型的基础上做了进一步的研究和创新,还同时提出了专利申请:一种基于时空图的诈骗号码识别方法、一种基于通话文本词向量的终端诈骗电话识别方法,由于对上述模型的创新技术方案不在本发明的保护范围内,所以不在此赘述。
如图2所示,图1步骤三中,根据策略包含的所有规则的计算式,为规则策略模型中的每条策略生成相应的递归计算表达式,可以进一步包括有:
步骤31、读取规则表中的每条规则,使用if-else语句生成相应的计算式;
步骤32、根据每条策略中包含的规则及规则之间的逻辑运算符,为每条策略构建对应的逻辑树,所述逻辑树上的每个叶子节点和策略中的每条规则相关联,叶子节点之间的每条边和策略中的每个逻辑运算符相对应;
步骤33、根据每条策略对应的逻辑树上的叶子节点相关联的规则的计算式,生成每条策略的递归计算表达式:先计算逻辑树上的每个叶子节点值,所述叶子节点值即是与叶子节点相关联的规则的计算式,然后根据节点之间的父子关系,利用前序遍历,遍历逻辑树,获取逻辑树上每一个节点与每一条边的取值,最终在根节点组成每条策略的规则组合取值,所述根节点值即是每条策略的递归计算表达式。
步骤32中,为每条策略构建对应的逻辑树,可以进一步包括有:
步骤321、设置z为1,根节点是当前节点;
步骤322、读取策略中的第z个字符,判断第z个字符是否是左括号“(”,如果是,则为当前节点增加一个子节点,新增子节点成为当前节点,然后继续步骤326;如果否,则继续下一步;
步骤323、判断第z个字符是否是1条规则,如果是,则将当前节点与所述规则相关联,然后继续步骤326;如果否,则继续下一步;
步骤324、判断第z个字符是否是逻辑运算符,如果是,则将当前节点与其父节点之间的边定义为所述逻辑运算符,并为当前节点新增一个兄弟节点,新增的兄弟节点成为当前节点,然后继续步骤326;如果否,则继续下一步;
步骤325、判断第z个字符是否是右括号“)”,如果是,则回到当前节点的父节点,父节点成为当前节点,然后继续步骤326;如果否,则本流程结束;
步骤326、将z加1,然后转向步骤322。
本发明可以为每条策略设置多个模型融合方式,也即是说,可以根据每条策略的模型融合方式type的值,将策略的执行结果和其他表征模型的输出结果采用不同的方式进行融合,并输出融合后的识别结果,从而有效提高识别准确度。如图3所示,图1步骤三中,根据每条策略的模型融合方式和执行结果、卷积神经网络和bert文本分类模型的输出结果,计算得到最终的不良呼叫识别结果,可以进一步包括有:
步骤a1、分别从策略、卷积神经网络和bert文本分类模型中提取各自的特征向量:策略的特征向量x0由其包含的所有规则构成,卷积神经网络提取最后一个隐藏层的隐状态作为其特征向量x1,bert文本分类模型提取投诉文本的词向量作为其特征向量x2,并为策略、卷积神经网络和bert文本分类模型设置对应的融合权重;
步骤a2、判断策略的模型融合方式type是否是0?如果是,则表示策略的执行结果和卷积神经网络、bert文本分类模型的输出结果不进行融合,输出策略的执行结果,本流程结束;如果否,则继续下一步;
步骤a3、判断type是否是1?如果是,则使用加权投票法,计算、并输出最终的不良呼叫识别结果:
步骤a4、判断type是否是2?如果是,则先将策略、卷积神经网络、bert文本分类模型的特征向量分别和各自的融合权重相乘,再将和融合权重相乘后得到的特征向量以按行拼接concat或者聚合aggregate的方式来进行融合,以获得融合后的特征向量:concat/aggregate(w0*x0,w1*x1,w2*x2),同时构建一个分类器,然后将融合后的特征向量输入分类器,分类器的输出值:
步骤a5、判断type是否是3?如果是,则将策略、卷积神经网络、bert文本分类模型的特征向量分别和各自的融合权重相乘,再将和融合权重相乘后得到的特征向量以两两拼接的方式来进行融合,以获得融合后的特征向量:x01、x02、x12,其中,x01、x02、x12分别表示将x0和x1、x0和x2、x1和x2拼接后获得的融合后的特征向量,同时为每个融合后的特征向量单独构建、并训练一个子分类器,将每个融合后的特征向量输入其对应的子分类器,然后将所有子分类器的分类结果、策略的执行结果、卷积神经网络和bert文本分类模型的输出结果进行拼接,将拼接后的向量继续输入至第二层分类器,第二层分类器的输出结果即是最终的不良呼叫识别结果,其中,为每个融合后的特征向量单独构建的子分类器可以采用logistic回归、决策树、线性核支持向量机等简单分类器,通过选择差异性较强的子分类器能取得较好的技术效果,第二层分类器可以采用随机森林或者神经网络,本流程结束。
步骤a1中,策略的融合权重w0可以根据实际业务需要而设置,卷积神经网络、bert文本分类模型的融合权重w1、w2可以采用线性拟合法计算获得,进一步包括有:
步骤a11、将相同样本分别输入至卷积神经网络、bert文本分类模型,并获得卷积神经网络、bert文本分类模型各自的auc(即感受性曲线下与坐标轴围成的面积)值:auc1、auc2;
步骤a12、对融合权重w1、w2进行多次调整,并根据调整后的融合权重计算卷积神经网络和bert文本分类模型的auc总值:
步骤a13、从保存的所有卷积神经网络和bert文本分类模型的auc总值中挑选最大值,所述最大值对应的融合权重
本发明还可以在实际运行过程中对运行效果进行实时监测,当运行效果没有达到预期时,w0保持不变,并通过多次迭代运算来重新调整w1、w2,以保证模型的整体运行效果,还包括有:
步骤b1、计算步骤三中得到的最终的不良呼叫识别结果对应的acu值,并判断所述acu值是否低于阈值?如果是,则继续下一步;如果否,则本流程结束;阈值可以根据实际业务需要而设置,例如设置为0.5;
步骤b2、为w1、w2分别设置初始值
步骤b3、计算策略、卷积神经网络和bert文本分类模型在第n次迭代时的auc总值:
步骤b4、计算
步骤b5、计算损失函数loss=auc-sum-totaln-auc-sum-totaln-1,并判断loss是否小于0.0001?如果是,则输出第n+1次迭代时的融合权重
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。