一种骚扰号码的识别方法与流程

文档序号:12479650阅读:5192来源:国知局
一种骚扰号码的识别方法与流程

本发明涉及一种骚扰号码的识别方法,属于网络通信技术领域。



背景技术:

骚扰电话以推广广告内容、诈骗信息为主,已经成为扰乱社会安定的非法职业。通过综合分析,骚扰电话普遍具有以下特点:

1、被叫分散,骚扰号码在单位时间内呼出多个号码,频率高,而且各被叫号码间的相关性较小;

2、骚扰电话与被叫间通常相关性较弱,即历史通话关系很少,而且骚扰号码通常作为主叫发起呼叫的数量远远大于其作为被叫的数量;

3、骚扰电话的通话时长通常较短,而且被叫挂机的概率较大;

4、骚扰电话通常具有呼叫频次高、且集中分布于某一时间段的特点。

专利申请CN200910079707.5(申请名称:一种骚扰电话的识别方法及装置,申请日:2009-03-06,申请人:中兴通讯股份有限公司)公开了一种骚扰电话的识别方法及装置,在移动电话中引入了对陌生电话号码的识别处理,通过对陌生来电号码的呼叫时间区间、呼叫持续的时间长度、以及呼入次数的统计,与用户的判断规则进行自动比较,识别出骚扰电话。该技术方案仅涉及到呼叫时间区间、呼叫持续的时间长度、以及呼入次数的统计来识别骚扰号码,判断方法非常简单,并未充分利用主、被叫号码的呼叫特征来从现网的海量话务数据中有效识别骚扰号码。

因此,如何充分利用主、被叫号码的呼叫特征,从现网的海量话务数据中有效识别骚扰号码,仍是一个值得深入研究的技术问题。



技术实现要素:

有鉴于此,本发明的目的是提供一种骚扰号码的识别方法,能充分利用主、被叫号码的呼叫特征,从现网的海量话务数据中有效识别骚扰号码。

为了达到上述目的,本发明提供了一种骚扰号码的识别方法,包括有:

步骤一、选取若干已确认的骚扰和非骚扰号码,计算所述骚扰和非骚扰号码在一段时间内的通信行为指标,然后将所述骚扰和非骚扰号码及其通信行为指标形成训练样本集来构建随机森林分类模型,所述随机森林分类模型的输入是每个用户号码的通信行为指标,输出是所有决策树判定其为骚扰号码和非骚扰号码的预测概率;

步骤二、将待识别号码在一段时间内的通信行为指标输入随机森林分类模型,并计算随机森林分类模型中所有决策树判定其为骚扰号码和非骚扰号码的预测概率,以据此来判定所述待识别号码是否是骚扰号码。

与现有技术相比,本发明的有益效果是:呼叫离散度、被叫关系圈、呼出呼入比、呼叫时间分布等通信行为指标可以有效地体现出骚扰号码的行为特点,本发明采用随机森林分类模型,以呼叫频次、被叫个数、通话时长、振铃时长、主动释放次数、被动释放次数、被叫离散度、同一主叫的被叫号码间相关系数、呼叫相同万号段最大频次、主叫占比、呼叫时间间隔标准差等多个通信行为指标作为输入,并根据所有决策树判定为骚扰号码和非骚扰号码的概率来识别骚扰号码,从而能利用主、被叫号码的呼叫特征,充分挖掘大量训练样本中的数据特征,从现网的海量话务数据中有效识别骚扰号码,并且通信行为指标还可以根据实际需要而灵活调整;由于骚扰电话具有呼叫频次高且集中分布于某一时间段的特点,本发明还进一步将全天的话单数据划分成以多个时间粒度为时长的通信时段,并基于不同时间粒度下的高频通信时段来计算用户号码的各种通信行为指标,从而能进一步提高骚扰号码识别的准实时和高效性;本发明还可以构建多个随机森林分类模型,并根据测试后获得的随机森林分类模型的识别率来从中选择一个最优的随机森林分类模型。

附图说明

图1是本发明一种骚扰号码的识别方法流程图。

图2是步骤A的具体操作流程图。

图3是步骤11中,对于第k棵决策树,k=1、2、...、K,其生成过程的具体操作流程图。

图4是图1步骤二的具体操作流程图。

图5是本发明构建一个测试样本集分别对多个随机森林分类模型进行测试,并根据测试结果从中选择一个最优的随机森林分类模型的具体操作流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

如图1所示,本发明一种骚扰号码的识别方法,包括有:

步骤一、选取若干已确认的骚扰和非骚扰号码,计算所述骚扰和非骚扰号码在一段时间内的通信行为指标,然后将所述骚扰和非骚扰号码及其通信行为指标形成训练样本集来构建随机森林分类模型,所述随机森林分类模型的输入是每个用户号码的通信行为指标,输出是所有决策树判定其为骚扰号码和非骚扰号码的预测概率;

步骤二、将待识别号码在一段时间内的通信行为指标输入随机森林分类模型,并计算随机森林分类模型中所有决策树判定其为骚扰号码和非骚扰号码的预测概率,以据此来判定所述待识别号码是否是骚扰号码。

步骤一中,可以通过历史已经确认的骚扰号码(比如通过互联网公司获取、或通过运营商举报投诉系统标注的骚扰号码等)黑名单、和白名单操作手册来选取已确认的骚扰和非骚扰号码,然后通过信令采集的方式从信令监测系统或A口等设备来采集呼叫事件信令话单数据、或者从BOSS采集历史话单数据,从而获得上述选取号码在一段时间内的通信信息,并将其中关键字段数据格式有误或关键字段数据存在空缺值的通信记录进行剔除。

由于骚扰电话具有呼叫频次高且集中分布于某一时间段的特点,同时为了进一步提高骚扰号码识别的准实时和高效性,本发明还可以基于不同的时间粒度来分别计算用户号码的通信行为指标,所述时间粒度可以取值但不限于:1分钟、5分钟、15分钟、30分钟、60分钟、180分钟、360分钟、720分钟、1440分钟,这样,用户号码在一段时间内的通信行为指标可以包括有用户在每个时间粒度下的通信行为指标、用户号码和用户标识等,其中,用户标识用于标识用户号码是否是骚扰号码(例如将从黑名单中选取的号码标识为骚扰号码,从白名单中选取的号码标识为非骚扰号码)。本发明中,基于时间粒度来计算用户号码(包括骚扰和非骚扰号码、以及待识别号码)在一段时间内的通信行为指标,还可以进一步包括有:

步骤A、采集用户连续多天的历史话单数据,选取多个时间粒度,然后寻找用户在每个时间粒度下的高频通话时段,最后根据用户在每个时间粒度下的高频通话时段内的通信行为指标来计算用户在每个时间粒度下的通信行为指标。

如图2所示,步骤A还可以进一步包括有:

步骤A1、逐一提取用户每天的话单数据;

步骤A2、读取该天话单数据的起止时间,并计算所述起止时间所覆盖的最大时间粒度Tmax,即从选取的多个时间粒度中挑选出其值小于所述起止时间的对应时长的最大时间粒度;

如果采集的话单数据由于丢失或其他原因而存在缺失,例如只采集到12:00---24:00之间的历史话单数据,则本发明仅保留话单数据的起止时间内的最长时间粒度Tmax内的所有时间粒度;

步骤A3、逐一提取每个时间粒度,并判断所提取的时间粒度是否小于或等于Tmax,如果是,则将该天话单数据的起止时间的对应时长划分成多个连续的、并以所提取的时间粒度为时长的通信时段,然后计算用户在每个通信时段内的通话频次,所述用户在每个通信时段内的通话频次也即是所提取的时间粒度在该天的每个通信时段的通话频次,继续提取下一个时间粒度,直至提取完所有时间粒度;如果否,则继续提取下一个时间粒度,直至提取完所有时间粒度;

所提取的时间粒度须小于或等于Tmax,比如Tmax=30分钟时,则所提取的时间粒度分别为1分钟、5分钟、15分钟、30分钟,而大于Tmax的时间粒度则不再作进一步计算,当一天话单数据的起止时间为0:00--24:00,所提取的时间粒度T为30分钟时,所划分成的通信时段分别为:0:00--0:30、0:31--1:00、....、23:01--23:30、23:31--24:00,且按时间粒度划分的通信时段均从本通信时段的00秒开始,至下一通信时段的前1分钟第59秒结束;

步骤A4、判断是否提取完所有天的话单数据?如果是,则继续下一步;如果否,则继续提取用户下一天的话单数据,然后转向步骤A2;

步骤A5、从每个时间粒度在所有天的所有通信时段的通话频次中挑选最大值,所述最大值对应的通信时段即是用户在该时间粒度下的高频通信时段,也就是用户在连续多天内呼叫频次最高且集中的通信时段;

步骤A6、计算用户在每个时间粒度下的通信行为指标,也即是用户在每个时间粒度下的高频通话时段内的通信行为指标,所述通信行为指标可以包括但不限于:呼叫频次、被叫个数、通话时长、振铃时长、主动释放次数、被动释放次数、被叫离散度、同一主叫的被叫号码间相关系数、呼叫相同万号段最大频次、主叫占比(即呼出次数/呼出呼入总次数)、呼叫时间间隔标准差(计算该指标被叫号码需3个或3个以上)等。其中,同一主叫的被叫号码间相关系数是用户呼叫过的所有被叫号码相互之间存在有通话行为的个数和用户呼叫过的所有被叫号码总数的比值,例如,用户A在时间粒度T的高频通话时段内呼叫了100个被叫号码,被叫号码在指定时间段内(如在第1-5天的训练期内)有4个被叫号码B、C、D、E之间存在有通话行为(例如共存在5次有通话时长>=0的呼叫:B->C,D->E,C->B,C->D,D->C),则同一主叫(即用户A)的被叫号码间相关系数为:4/100;呼叫相同万号段最大频次是用户呼叫过的、且属于相同万号段的被叫号码最大数,万号段是被叫号码被去掉后4位之后的剩余号段,例如,用户呼叫的被叫号码的万号段有:1395193、1395193、1390123、1390438,相同万号段的被叫号码数量分别为2、1、1,则呼叫相同万号段最大频次为2。

步骤A6中,当用户在每个时间粒度下的通信行为指标个数为a,选取的时间粒度个数为b,则随机森林分类模型的训练样本集中每个用户的特征(即通信行为指标)数可以为:M=a*b+2。

随机森林分类模型具有能够处理高维属性数据、无需做特征选择、训练速度快、训练过程中可以检测到属性间的相互影响、可实现并行化、可输出属性重要程度以及分类概率和预测类别等优点,因此可以选取随机森林分类模型用于识别骚扰号码。

本发明中,随机森林分类模型的基本思想是:首先,利用有放回的随机抽样方法从原始训练集(N个样本M维属性)中抽取k组样本,且每组样本的样本容量都与原始训练集相同,均为N;其次,随机选取m维属性,m值小于等于总属性维数M;然后,每次对N个样本m维属性生成一棵决策树,共建立K个决策树模型,得到K种分类结果;最后,根据K种分类结果对每个记录进行投票表决,决定其最终分类。因此,随机森林分类模型的构建主要有两部分,一部分是决策树的构建,形成决策树森林,本发明中决策树可以采用Gini不纯度的方法,不纯度越小,属性越重要;另一部分是决策过程,采用投票表决方式输出最优分类结果。这样,步骤一中,将所述骚扰和非骚扰号码及其通信行为指标形成训练样本集来构建随机森林分类模型,还可以进一步包括有:

步骤11、采用随机森林分类模型,从训练样本集中每个训练样本的M个通信行为指标中随机选取m个通信行为指标来产生K个特征子集进行训练,从而生成K棵决策树,每棵决策树包含有自身对输入号码所属类别的预测概率。其中,决策树可以采用Gini不纯度的方法,不纯度越小,则特征越重要。

如图3所示,所述步骤11中,对于第k棵决策树,k=1、2、...、K,其生成过程还可以进一步包括有:

步骤111、采用bootstrap方法从训练样本集S中有放回的抽取N个样本来构成第k棵决策树的根节点的样本集s(k),并设定分支覆盖样本的最小个数为d,其中,N是训练样本集S的样本数,训练样本集S中每个训练样本的特征维数(即通信行为指标个数)为M;

每颗决策树的根节点的样本集s(k)和训练样本集S的样本数均相同;

步骤112、从M维特征中随机提取m维指标作为第k棵决策树的特征集,其中,m的计算公式可以是:

步骤113、从第k棵决策树的根节点开始,根据Gini不纯度最小原则,分别计算m维特征的Gini不纯度:其中,IG(jk)是第k棵决策树的第j维特征的Gini不纯度,Z1是根节点的样本集s(k)在j的特征条件下经最优二叉分隔后所产生的左节点的样本集,Z2是根节点的样本集s(k)在j的特征条件下经最优二叉分隔后所产生的右节点的样本集,N(Z1)、N(Z2)分别是Z1、Z2的样本量,Gini(Z1)、Gini(Z2)分别是Z1、Z2的Gini不纯度,且Gini(Z1)(I=1或2)的计算公式还可以进一步是:i=0或1,当i=0则表示非骚扰号码,当i=1则表示骚扰号码,是第k棵决策树中第j个特征条件下的Z1对应分支中,所识别的骚扰号码或非骚扰号码的概率;

步骤114、从m维特征的Gini不纯度中选取最小值,并将最小值对应的特征作为根节点,再将该根节点分裂为左节点和右节点,然后以根节点作为限制条件,继续计算所述根节点的m维特征的Gini不纯度,并选择其中最小值对应的特征作为根节点继续生长,以此类推,从而形成决策树,如果其中有一分支覆盖样本的个数小于d时,则设置所述分支的当前节点为叶子节点,即该节点停止生长,继续训练其他节点,直到所有节点都训练过了或者被标记为叶子节点。

如图4所示,图1步骤二还可以进一步包括有:

步骤21、将待识别号码在一段时间内的通信行为指标输入随机森林分类模型,计算每棵决策树的每个叶子节点对待识别号码所属类别的预测概率:其中,i=0或1,当i=0则表示为非骚扰号码,当i=1则表示为骚扰号码,是第k棵决策树的第r个叶子节点对待识别号码属于第i个类别的预测概率,是第k棵决策树的第r个叶子节点中属于第i个类别的号码数,是第k棵决策树的第r个叶子节点包含的号码总数;

步骤22、计算每棵决策树判定待识别号码所属类别的预测概率:其中,Pk(i)是第k棵决策树判定待识别号码属于第i个类别的预测概率,Rk是第k棵决策树的叶子节点总数;

步骤23、计算所有决策树判定待识别号码所属类别的预测概率之和:其中,w(i)是所有决策树判定待识别号码属于第i个类别的预测概率之和,然后从中挑选最大值,待识别号码所属类别即是最大值对应的类别,即当w(0)>w(1)时,则待识别号码所属类别为0(即非骚扰号码),当w(0)<w(1)时,则待识别号码所属类别为1(即骚扰号码)。

随机森林分类模型随机生成K棵决策树,每颗决策树包含有多个叶子节点。对于每个输入的用户号码来说,通常其中有的叶子节点会判定用户号码为骚扰号码,有的叶子节点会判定用户号码为非骚扰号码,根据所有叶子节点对用户号码所属类别的预测概率,可以获得每棵决策树判定用户号码为骚扰号码和非骚扰号码的概率,且每棵决策树判定用户号码为骚扰号码和非骚扰号码的概率之和为1,例如,第1棵决策树判定用户号码为骚扰号码的概率为5/6,为非骚扰号码的概率则是1/6,第2课决策树判定用户号码为骚扰号码的概率为2/7,非骚扰号码的概率为5/7,.......,第K棵决策树判定用户号码为骚扰号码的概率为=3/5,非骚扰号码的概率为2/5,那么K棵决策树判定其为骚扰号码的概率之和(即5/6+2/7+...+3/5)、和判定其为非骚扰号码的概率之和(即1/6+5/7+...+2/5),如果其为骚扰号码的概率之和大于非骚扰号码的概率之和,则输入号码是骚扰号码,反之则是非骚扰号码。

在构建随机森林分类模型时,决策树个数、特征维数(即通信行为指标个数)以及决策树的深度等值的设置都会影响到随机森林分类模型的识别效果,为了进一步提升识别效果,本发明还可以构建多个随机森林分类模型(决策树个数、特征维数以及决策树的深度的取值不同),同时还构建一个测试样本集分别对多个随机森林分类模型进行测试,并根据测试结果从中选择一个最优的随机森林分类模型。如图5所示,本发明还可以包括有:

步骤B1、从测试样本集中逐一提取每个测试样本的通信行为指标,并将提取出的所有通信行为指标输入到每个随机森林分类模型中,从而获得每个随机森林分类模型对测试样本是否是骚扰号码的判定结果;

步骤B2、将每个随机森林分类模型识别出的骚扰号码与已确认的骚扰号码(例如互联网公司标识的骚扰号码、运营商举报投诉系统标注的骚扰号码等)进行匹配,分别计算每个随机森林分类模型的准确率和召回率;

步骤B3、根据准确率和召回率,计算每个随机森林分类模型的识别率:其中Precision是准确率,Recall是召回率,并从所有随机森林分类模型的识别率中挑选F最大值,所述最大值对应的随机森林分类模型即是最优随机森林分类模型。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1