一种分布式垃圾短信识别方法与流程

文档序号:11138434阅读:441来源:国知局
一种分布式垃圾短信识别方法与制造工艺

本发明涉及一种分布式垃圾短信识别方法,属于智能短信识别技术领域。



背景技术:

随着信息时代通信服务业的高速发展,垃圾短信已日益成为困扰运营商和手机用户的难题,不仅侵害了电信客户的合法权益,破坏了和谐的电信消费环境,而且严重影响到人们正常生活、侵害到运营商的社会形象以及危害着社会稳定,垃圾短信的存在给用户与运营商均带来了不少的烦恼,因此,研究垃圾短信的识别与处理具有重要意义。

目前垃圾短信的识别过滤主要有以下几种技术:黑白名单识别技术、发送频率限制识别技术、关键词匹配识别技术、基于机器学习识别垃圾短信技术等。这些常用的垃圾短信识别技术均存在各自的局限性,比如黑白名单技术仅对已知的号码有效,发送频率限制识别技术的发送频率规则易被相对应的方法所规避,关键字匹配识别技术对关键字的选取难以界定而易导致误判,基于机器学习识别垃圾短信技术相对较复杂从而影响识别的效率。上述垃圾短信识别的研究成果的局限性较大地影响了垃圾短信的识别准确率和效率。垃圾短信识别技术已成为学术界和产业界的研究热点,同时随着如今信息化大数据的发展,需要识别处理的信息数据越来越多,传统的识别方法已跟不上数据时代的步伐,因此需要一个高效的识别垃圾短信的方法,同时具有网络化分布式计算与存储大量信息数据的方法来应对垃圾短信识别和处理问题。



技术实现要素:

本发明所要解决的技术问题是提供一种针对常规垃圾短信识别方法的低准确率的特点,具有高准确率、快速识别、智能反馈等特点的分布式垃圾短信识别方法。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种分布式垃圾短信识别方法,将待识别短信数据集合拆分成各个待识别短信子任务,各个待识别短信子任务分别包括至少一条待识别短信,各个待识别短信子任务分别发送至分布式系统中的各个节点进行处理,各个节点分别按如下步骤,根据预设检测器库中各个检测器内的各个垃圾短信关键词,针对所接收到的待识别短信子任务进行垃圾短信识别;

步骤000.根据预设垃圾关键词库,初始化检测器库中的各个检测器,然后进入步骤001;

步骤001.由待识别短信子任务队列中提取一条未处理的待识别短信,作为当前识别短信,获取当前识别短信中的各个关键词Gene1,Gene2,Gene3…Genei,进入步骤002;步骤002.将当前识别短信中的各个关键词Gene1,Gene2,Gene3…Genei通过HashMap<key,value>,获得所有包含有这些关键词的检测器Index的索引值的集合,进入步骤003;

步骤003.将得到的索引值集合通过m个HashSet,判断是否存在亲和力大于或等于预设匹配率阈值brake的检测器Index,是则判定当前识别短信为垃圾短信,将其加入垃圾短信库,并由AVL树中提取出利用该检测器Index,进入步骤004;否则说明检测器库中不存在能与当前识别短信匹配率达到预设匹配率阈值brake的检测器,则判定当前识别短信为正常短信,将其加入至正常短信库,进入步骤009;其中,m=Testlength*brake;

步骤004.由被判断为垃圾短信的当前识别短信中的各个关键词,构建若干新检测器,接着判断正常短信库中正常短信的条数是否大于或等于预设正常短信库比对条数阈值,是则进入步骤005;否则将各个新检测器加入到检测器库中,并进入步骤009;

步骤005.由正常短信库队列中提取一条未参与针对各个新检测器自检的正常短信,分别针对各个新检测器,将该正常短信中各个关键词与新检测器中各个垃圾短信关键词进行匹配,获得彼此匹配相同关键词的数量Count,并获得新检测器中垃圾短信关键词的数量N,再根据Count与N的比值,获得新检测器针对该正常短信的垃圾匹配率,进而分别获得各个新检测器针对该正常短信的垃圾匹配率,然后进入步骤006;

步骤006.分别针对各个新检测器,判断新检测器针对该正常短信的垃圾匹配率是否大于或等于预设垃圾匹配率阈值,是则说明新检测器把正常短信判断为垃圾短信,即新检测器为不合格检测器,删除该不合格的新检测器,否则不做进一步操作,然后进入步骤007;

步骤007.判断是否存在新检测器,是则进入步骤008;否则进入步骤009;

步骤008.判断正常短信库中是否存在未参与针对该各个新检测器自检的正常短信,是则返回步骤005;否则判断新检测器为合格检测器,将合格检测器加入到检测器库中,并进入步骤009;

步骤009.判断待识别短信子任务中是否存在未处理的待识别短信,是则返回步骤001;否则针对该待识别短信子任务垃圾短信识别方法结束。

作为本发明的一种优选技术方案:所述步骤000具体包括:根据预设垃圾关键词库,初始化检测器库中的各个检测器,其中,使用AVL树的数据结构将检测器装入内存,并利用HashMap<key,value>存储每个基因所在检测器Index的集合,其中key为Gene,value为所有含有该Gene的检测器Index的链表集合,然后进入步骤001。

作为本发明的一种优选技术方案:还包括针对所述检测器库中原有各个检测器,以及新加入的各个检测器,均定义生命周期时长属性,并初始化生命周期时长检测值;所述各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,进行计时,并分别针对检测器库中的各个检测器,判断在生命周期时长检测值结束时,检测器是否检测出垃圾短信,是则将该检测器的生命周期时长设置为永久,否则将该检测器删除。

作为本发明的一种优选技术方案:所述各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,还包括按预设第一时长周期间隔,分别针对生命周期时长为永久的各个检测器,针对检测器中未与短信关键词成功匹配过的关键词,由预设垃圾关键词库中随机选择垃圾关键词进行替换。

作为本发明的一种优选技术方案:所述各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,还包括按预设第二时长周期间隔,针对所述检测器库中的检测器进行如下步骤操作:

步骤a01.分别获得检测器库中各个检测器的垃圾短信成功匹配率,按垃圾短信成功匹配率由高至低顺序,选择预设检测器总数百分比数量的检测器,作为各个高成功匹配率检测器,并获得高成功匹配率检测器的个数M,然后进入步骤a02;

步骤a02.分别针对各个高成功匹配率检测器,获得高成功匹配率检测器的垃圾短信成功匹配率与M的乘积,作为该高成功匹配率检测器的复制数量,由此分别获得各个高成功匹配率检测器的复制数量,并获得所有高成功匹配率检测器的复制总数K,然后进入步骤a03;

步骤a03.分别按各个高成功匹配率检测器的复制数量,针对各个高成功匹配率检测器分别进行复制,并提取所有复制检测器中的关键词,构成复制关键词集合,然后进入步骤a04;

步骤a04.将复制关键词集合中的所有关键词随机分配为K组,构成K个重组检测器,并进入步骤a05;

步骤a05.判断正常短信库中正常短信的条数是否大于或等于预设正常短信库比对条数阈值,是则进入步骤a06;否则将该K个重组检测器加入到检测器库中;

步骤a06.按所述步骤005至步骤008的方法,分别针对该K个重组检测器进行自检,删除不合格重组检测器,并将合格重组检测器加入到检测器库中。

作为本发明的一种优选技术方案:所述步骤a06中,分别针对该K个重组检测器,分别执行如下步骤进行重组检测器自检;

步骤b01.由正常短信库中随机提取一条未参与针对该重组检测器自检的正常短信,按所述步骤005的方法,获得该重组检测器针对该正常短信的垃圾匹配率,并判断该垃圾匹配率是否大于或等于预设垃圾匹配率阈值,是则判断该重组检测器为不合格检测器,删除该不合格检测器;否则进入步骤b02;

步骤b02.判断是否还存在重组检测器,以及正常短信库中是否存在未参与针对该重组检测器自检的正常短信,是则返回步骤b01;否则判断该重组检测器为合格检测器,将该合格检测器加入到检测器库中。

本发明所述一种分布式垃圾短信识别方法采用以上技术方案与现有技术相比,具有以下技术效果:本发明设计的分布式垃圾短信识别方法,提出具有智能计算、学习、并行式、记忆性、动态性等特点垃圾短信识别方法,极大提高了垃圾短信的识别准确率;其中,引入分布式节点,实现对海量垃圾短信进行分布式计算和快速识别;通过反馈环节,实现智能识别,并且具有广泛的推广性,诸如推广到垃圾邮件识别拦截,同时也可以推广到人人网、QQ空间、朋友圈、微博等,对广告或其他垃圾信息进行识别并屏蔽,具有广泛的应用范畴。

附图说明

图1是本发明所设计分布式垃圾短信识别方法的流程图;

图2是检测器在AVL树分布示意图;

图3是关键词Gene与Index之间的查找示意图;

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明为了解决上述问题采用以下技术方案:基于文本识别和垃圾短信的特征,本发明首先提出具有智能计算、深度学习、分布式识别等特点的垃圾短信识别方法,利用该方法可以实现较高的垃圾短信识别准确率;同时部署分布式平台,把海量的待测短信数据的识别处理任务利用分块方法拆分成多个垃圾短信识别子任务,并把这些子任务发送到分布式模式的若干个节点上去计算识别,每个计算识别的节点均采用本发明提出的垃圾短信方法,然后对每一个子任务的识别结果进行汇总,实现分布式处理识别垃圾短信;同时本发明做出了一个基于智能计算、深度学习的垃圾短信识别方法和分布式模型之上的多功能可视化系统,对垃圾短信识别的输入数据及输出结果进行显示,并可以对短信进行反馈等智能化相关性操作。

如图1所示,本发明设计了一种分布式垃圾短信识别方法,实际应用过程当中,将待识别短信数据集合拆分成各个待识别短信子任务,各个待识别短信子任务分别包括至少一条待识别短信,各个待识别短信子任务分别发送至分布式系统中的各个节点进行处理,各个节点分别具体按如下步骤,根据预设检测器库中各个检测器内的各个垃圾短信关键词,针对所接收到的待识别短信子任务进行垃圾短信识别;

步骤000.根据预设垃圾关键词库,初始化检测器库中的各个检测器,然后进入步骤001;具体具体包括:根据预设垃圾关键词库,初始化检测器库中的各个检测器,其中,使用AVL树的数据结构将检测器装入内存,AVL示意图如图2所示,并利用HashMap<key,value>存储每个基因所在检测器Index的集合,其中key为Gene,value为所有含有该Gene的检测器Index的链表集合,关键词Gene与Index之间的查找示意图,如图3所示,然后进入步骤001。

步骤001.由待识别短信子任务队列中提取一条未处理的待识别短信,作为当前识别短信,利用开源IK-Analyzer-2012FF分词器针对当前识别短信进行分词,获取当前识别短信中的各个关键词Gene1,Gene2,Gene3…Genei,进入步骤002。步骤002.将当前识别短信中的各个关键词Gene1,Gene2,Gene3…Genei通过HashMap<key,value>,获得所有包含有这些关键词的检测器Index的索引值的集合,进入步骤003。

步骤003.将得到的索引值集合通过m个HashSet,判断是否存在亲和力大于或等于预设匹配率阈值brake的检测器Index,是则判定当前识别短信为垃圾短信,将其加入垃圾短信库,并由AVL树中提取出利用该检测器Index,进入步骤004;否则说明检测器库中不存在能与当前识别短信匹配率达到预设匹配率阈值brake的检测器,则判定当前识别短信为正常短信,将其加入至正常短信库,进入步骤009;其中,m=Testlength*brake。

步骤004.由被判断为垃圾短信的当前识别短信中的各个关键词,构建若干新检测器,接着判断正常短信库中正常短信的条数是否大于或等于预设正常短信库比对条数阈值,是则进入步骤005;否则将各个新检测器加入到检测器库中,并进入步骤009。

步骤005.由正常短信库队列中提取一条未参与针对各个新检测器自检的正常短信,分别针对各个新检测器,将该正常短信中各个关键词与新检测器中各个垃圾短信关键词进行匹配,获得彼此匹配相同关键词的数量Count,并获得新检测器中垃圾短信关键词的数量N,再根据Count与N的比值,获得新检测器针对该正常短信的垃圾匹配率,进而分别获得各个新检测器针对该正常短信的垃圾匹配率,然后进入步骤006。

步骤006.分别针对各个新检测器,判断新检测器针对该正常短信的垃圾匹配率是否大于或等于预设垃圾匹配率阈值,是则说明新检测器把正常短信判断为垃圾短信,即新检测器为不合格检测器,删除该不合格的新检测器,否则不做进一步操作,然后进入步骤007。

步骤007.判断是否存在新检测器,是则进入步骤008;否则进入步骤009。

步骤008.判断正常短信库中是否存在未参与针对该各个新检测器自检的正常短信,是则返回步骤005;否则判断新检测器为合格检测器,将合格检测器加入到检测器库中,并进入步骤009。

步骤009.判断待识别短信子任务中是否存在未处理的待识别短信,是则返回步骤001;否则针对该待识别短信子任务垃圾短信识别方法结束。

上述实际应用的同时,还包括针对所述检测器库中原有各个检测器,以及新加入的各个检测器,均定义生命周期时长属性,并初始化生命周期时长检测值;所述各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,进行计时,并分别针对检测器库中的各个检测器,判断在生命周期时长检测值结束时,检测器是否检测出垃圾短信,是则将该检测器的生命周期时长设置为永久,否则将该检测器删除。并且各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,还包括按预设第一时长周期间隔,分别针对生命周期时长为永久的各个检测器,针对检测器中未与短信关键词成功匹配过的关键词,由预设垃圾关键词库中随机选择垃圾关键词进行替换。与此同时,各个节点分别按所述步骤001至步骤009,针对所接收到待识别短信子任务执行垃圾短信识别的同时,还包括按预设第二时长周期间隔,针对所述检测器库中的检测器进行如下步骤操作:

步骤a01.分别获得检测器库中各个检测器的垃圾短信成功匹配率,按垃圾短信成功匹配率由高至低顺序,选择预设检测器总数百分比数量的检测器,作为各个高成功匹配率检测器,并获得高成功匹配率检测器的个数M,然后进入步骤a02。

步骤a02.分别针对各个高成功匹配率检测器,获得高成功匹配率检测器的垃圾短信成功匹配率与M的乘积,作为该高成功匹配率检测器的复制数量,由此分别获得各个高成功匹配率检测器的复制数量,并获得所有高成功匹配率检测器的复制总数K,然后进入步骤a03。

步骤a03.分别按各个高成功匹配率检测器的复制数量,针对各个高成功匹配率检测器分别进行复制,并提取所有复制检测器中的关键词,构成复制关键词集合,然后进入步骤a04。

步骤a04.将复制关键词集合中的所有关键词随机分配为K组,构成K个重组检测器,并进入步骤a05。

步骤a05.判断正常短信库中正常短信的条数是否大于或等于预设正常短信库比对条数阈值,是则进入步骤a06;否则将该K个重组检测器加入到检测器库中。

步骤a06.按所述步骤005至步骤008的方法,分别针对该K个重组检测器进行自检,删除不合格重组检测器,并将合格重组检测器加入到检测器库中。

上述步骤a06中,分别针对该K个重组检测器,分别执行如下步骤进行重组检测器自检;

步骤b01.由正常短信库中随机提取一条未参与针对该重组检测器自检的正常短信,按所述步骤005的方法,获得该重组检测器针对该正常短信的垃圾匹配率,并判断该垃圾匹配率是否大于或等于预设垃圾匹配率阈值,是则判断该重组检测器为不合格检测器,删除该不合格检测器;否则进入步骤b02。

步骤b02.判断是否还存在重组检测器,以及正常短信库中是否存在未参与针对该重组检测器自检的正常短信,是则返回步骤b01;否则判断该重组检测器为合格检测器,将该合格检测器加入到检测器库中。

上述设计分布式垃圾短信识别方法在实际应用中,在垃圾短信识别算法层和分布式服务层之上,还引入可视化软件层,我们用JavaSwing实现系统的可视化界面,其中包括如下一些功能:

(1)可视化显示信息:显示识别出的垃圾短息的文本内容和正常短信的文本内容和识别正常短信和垃圾短信统计的数目,以及显示检测器及其每个关键词的匹配情况;

(2)基本功能按键:开始检测、停止检测、统计检测短信相关数目;

(3)智能功能按键:加入正常短信、加入垃圾短信。基于算法层的反馈环节和垃圾短信的两层定义,本发明把正常的短信添加到垃圾短信库,也可以把垃圾短信添加到正常短信中,实现智能化、人性化垃圾短信的识别。

上述技术方案所设计分布式垃圾短信识别方法,实际应用中,提出具有智能计算、学习、并行式、记忆性、动态性等特点垃圾短信识别方法,极大提高了垃圾短信的识别准确率;其中,引入分布式节点,实现对海量垃圾短信进行分布式计算和快速识别;通过反馈环节,实现智能识别,并且具有广泛的推广性,诸如推广到垃圾邮件识别拦截,同时也可以推广到人人网、QQ空间、朋友圈、微博等,对广告或其他垃圾信息进行识别并屏蔽,具有广泛的应用范畴。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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