一种基于深度自学习的垃圾短信过滤方法及系统与流程

文档序号:11842385阅读:423来源:国知局
一种基于深度自学习的垃圾短信过滤方法及系统与流程

本发明涉及移动终端技术领域,尤其涉及一种基于深度自学习的垃圾短信过滤方法及系统。



背景技术:

自从短信在我国正式开通以来,手机短信业务得到了迅猛发展,用户数量直线上升。我国手机用户已达亿次,手机短信达亿条,平均每天亿条。不过快速发展的短信业务带来的经济利益越来越大,很多不法分子和电信运营商为了获取丰厚的利润,千方百计在利用垃圾短信获利。我国虽然为了规范电信运营活动、互联网信息服务和使用电信及互联网的行为,制订了《电信条例》和《互联网信息服务管理办法》,但是,由于这些行政法规制订之时,短信息通信尚处于发展的初期,所以,其内容还不能全部涉及目前信息迅速发展的需要。一些不法分子正是利用法律的滞后问题来钻短信的空子的,他们认为一旦出了问题很难对垃圾的制造者、传播者进行惩罚与处理,使不法分子有了可乘之机。对于移动用户来说,垃圾短信不仅严重干扰了其正常生活,而且危害到个人隐私非法广告短信以及恶意群发的一些违法短信,不仅是对用户的一种骚扰,通过抽奖等骗局诱导客户定制服务,更是造成了消费者对整体行业的不信任感。对于运营商来说,垃圾短信的泛滥造成了短信中心等基础设施投资的巨大浪费,并增加了网络遭到恶意攻击的危险。为此,有关方面正在加紧制定相关的法律法规,运营商也纷纷表示要用技术手段遏制垃圾短信,努力为短信业务的发展创造一个持续、有序、健康的发展环境。短信监控已经为电信运营商带来了增值服务的机会,部分电信运营商已经开始提供短信过滤服务。此外,由于垃圾短信的严重危害,部分高端手机终端已经设置部分过滤机制,而且内置过滤机制可能将是未来手机的必备功能之一。但是目前利用技术监控的话,只能识别信号的传输质量,而无法识别以及过滤信号的内容。靠人工倒是可以精确判断,但是每天面对如此巨大的短信息发送量,通信服务提供商是不可能也不会用人工监控来完成的。

因此,现有技术还有待于改进和发展。



技术实现要素:

鉴于现有技术的不足,本发明目的在于提供一种基于深度自学习的垃圾短信过滤方法及系统,旨在解决现有技术中短信过滤精度低,自动过滤效果差的缺陷。

本发明的技术方案如下:

一种基于深度自学习的垃圾短信过滤方法,其中,方法包括:

A、获取若干条样本短信,将短信内容进行预处理后生成对应的样本向量,对样本向量进行编码;

B、移动终端获取编码后的样本向量通过深度自学习编码器网络进行训练并测试,根据测试结果在样本向量中提取垃圾短信的特征;

C、移动终端对接收到的短信进行检测,若检测到存在垃圾短信的特征,则判定收到的短信为垃圾短信并进行过滤掉垃圾短信。

所述的基于深度自学习的垃圾短信过滤方法,其中,所述A具体包括:

A1、获取若干条样本短信,对样本短信进行分词,去掉停用词后,生成若干个样本词,将样本词进行编码生成样本向量。

所述的基于深度自学习的垃圾短信过滤方法,其中,所述B具体包括:

B1、移动终端获取编码后的样本向量中训练样本向量,通过训练样本向量训练度自学习编码器网络中的第一深度自学习编码器,获取训练后第一深度自学习编码器的参数;

B2、将第一深度自学习编码器的输出作为第二自学习编码器的输入并对第二自学习编码器的输入进行训练;

B3、训练第二自编码器后,将第一深度自学习编码器和第二深度自学习编码器的参数固定,并将第二深度自学习编码器叠加在第一深度自学习编码器上,并把第二深度自学习编码器的输出作为第三深度自学习编码器的输入,重复上述步骤,直到自学习编码器网络中所有深度自学习编码器训练完毕;

B4、在训练完毕后的深度自学习编码器中输入测试样本向量,提取垃圾短信的特征。

所述的基于深度自学习的垃圾短信过滤方法,其中,所述B3还包括:

B31、采用BP算法通过二分类的监督信号对自学习编码器网络的参数进行调节。

所述的基于深度自学习的垃圾短信过滤方法,其中,所述深度自学习编码器网络中有N层的神经元组成,其中N为大于3的自然数。

一种基于深度自学习的垃圾短信过滤系统,其中,系统包括:

预处理模块,用于获取若干条样本短信,将短信内容进行预处理后生成对应的样本向量,对样本向量进行编码;

特征提取模块,用于移动终端获取编码后的样本向量通过深度自学习编码器网络进行训练并测试,根据测试结果在样本向量中提取垃圾短信的特征;

检测与过滤模块,用于移动终端对接收到的短信进行检测,若检测到存在垃圾短信的特征,则判定收到的短信为垃圾短信并进行过滤掉垃圾短信。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述预处理模块具体用于获取若干条样本短信,对样本短信进行分词,去掉停用词后,生成若干个样本词,将样本词进行编码生成样本向量。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述特征提取模块具体包括:

第一训练单元,用于移动终端获取编码后的样本向量中训练样本向量,通过训练样本向量训练度自学习编码器网络中的第一深度自学习编码器,获取训练后第一深度自学习编码器的参数;

第二训练单元,用于将第一深度自学习编码器的输出作为第二自学习编码器的输入并对第二自学习编码器的输入进行训练;

第一训练单元,用于训练第二自编码器后,将第一深度自学习编码器和第二深度自学习编码器的参数固定,并将第二深度自学习编码器叠加在第一深度自学习编码器上,并把第二深度自学习编码器的输出作为第三深度自学习编码器的输入,重复上述步骤,直到自学习编码器网络中所有深度自学习编码器训练完毕;

特征短信提取单元,用于在训练完毕后的深度自学习编码器中输入测试样本向量,提取垃圾短信的特征。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述特征提取模块还包括:

微调单元,用于采用BP算法通过二分类的监督信号对自学习编码器网络的参数进行调节。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述深度自学习编码器网络中有N层的神经元组成,其中N为大于3的自然数。

本发明提供了一种基于深度自学习的垃圾短信过滤方法及系统,本发明通过大量训练短信样本后,能够从内容里抽取出有利于分类的特征,当学习阶段结束后,可以利用该特征对短信进行有效的过滤,通过不断的短信样本训练方式,提高了垃圾短信过滤效率。

附图说明

图1为本发明的一种基于深度自学习的垃圾短信过滤方法的较佳实施例的流程图。

图2为本发明的一种基于深度自学习的垃圾短信过滤方法的具体应用实施例的深度自学习编码器网络示意图。

图3为本发明的一种基于深度自学习的垃圾短信过滤方法的较佳实施例的深度自学习编码器架构示意图。

图4为本发明的一种基于深度自学习的垃圾短信过滤方法的较佳实施例的深度自学习编码器网络训练示意图。

图5为本发明的一种基于深度自学习的垃圾短信过滤系统的较佳实施例的功能原理框图。

具体实施方式

为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供了一种基于深度自学习的垃圾短信过滤方法的较佳实施例的流程图,如图1所示,其中,方法包括:

步骤S100、获取若干条样本短信,将短信内容进行预处理后生成对应的样本向量,对样本向量进行编码;

步骤S200、移动终端获取编码后的样本向量通过深度自学习编码器网络进行训练并测试,根据测试结果在样本向量中提取垃圾短信的特征;

步骤S300、移动终端对接收到的短信进行检测,若检测到存在垃圾短信的特征,则判定收到的短信为垃圾短信并进行过滤掉垃圾短信。

具体实施时,步骤S100具体为预处理模块就是针对短信内容进行前期处理,包括分词,去掉停用词。分词指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们使用中科院的分词系统对短信内容进行分词。去停用词是指将文档中出现过于频繁而对分类及检索没有区分意义的词滤除,从而减少词的个数,降低存储空间以及运算复杂度。然后通过Work2Vec将词进行编码。

步骤S200中所述深度自学习编码器网络中有N层的神经元组成,其中N为大于3的自然数。与传统人工神经网络不同,深度自学习编码器网络简称深度网络,深度网络是有多层(大于3)神经元组成,如图2所示,中间层节点又叫做隐性神经元。他们的功能分别为接受输入和提取特征。自动编码器层与层之间在联合训练前是相对独立的,所以对整个网络的训练可以先对每层特征逐步训练,改层训练完之后固定参数,作为下一层的输入。

垃圾短信过滤实际上是一个二分类问题,在用神经网络处理此类问题时,输出层神经元一般代表类别的个数,设置最后输出层包含两个神经元,输入层的神经元个数为预处理后得到的词汇表的大小。最开始的时候,通过一个非监督贪婪逐层方法去预训练每层获得模型的预训练参数。在这个训练阶段,输入层将特征输入给隐藏层,并逐步传递下去。在逐层训练过程中,首先将输入层特征通过权重W传到隐藏层,然后根据隐藏层的结果对输入层进行重构;并根据重构的误差来微调权重,使得权重改变来达到隐藏层能充分重构输入层的效果。

我们通过自表示机制实现无监督学习,使得原始的特征映射到新的特征空间,更有利于对短信内容进行分类。自表示的目标函数如下所示:

L(X;W)=||Wh-X||2+γ∑j||hj||,其中W为学习的参数,h为隐藏节点的输出,hj则表示第j个隐藏节点,γ为平衡系数,X表示输入的原始特征。

通过使用分类目标函数,对逐层已训练好的参数进行统一调整训练,使得整个网络适用于对短信内容的分类,最终的分类目标函数如下所示:

其中q表示模型参数,1{x}表示当x为真时,为1,m表示样本个数,k表示类别个数,y(i)表示第i个样本的类别,T为矩阵转置。

另外对每一个短信,都用上述方法进行特征向量来描述,然后将数据集通过留一法分成互不交叉的训练集和测试集,这样可以保证数据集之间的独立性。通过自动编码器模型利用了短信的所有内容,避免了某些词对最终分类结果的干扰。整个深度学习训练阶段可以使用GPU进行加速。

步骤S300中移动终端或后台存储训练好的深度自学习编码器网络的参数,将接收到的短信进行预处理,处理成样本向量的格式后,输入网络,获取特征词,并判断提取的特征是否存在垃圾短信的特征,若存在,则判定为垃圾短信,直接过滤,若不存在,则为正常保留并显示在移动终端上。其中移动终端包括但不限于手机、PDA。

进一步的实施例中,步骤S100中具体包括:

步骤S101、获取若干条样本短信,对样本短信进行分词,去掉停用词后,生成若干个样本词,将样本词进行编码生成样本向量。

具体实施时,对样本进行分词,提取出所有的词。根据生成的所有词,使用Word2Vec,将词向量化。Word2Vec的主要原理是设某语句依次由一系列关键词w1,w2,…,wt组成,其中任意关键词向量化的过程可用三层的神经网络表示。关键词序列前面的n-1个词可预测下一个词出现的概率。用C(w)表示词w所对应的词向量,网络第一层输入是将C(wt-n+1)、…、C(wt-2)、C(wt-1)这n-1个向量首尾相连接,构成一个(n-1)×m维向量对生成的向量进行归一化。然后将这些数据传入给自动编码器中。

进一步的,步骤S200具体包括:

步骤S201、移动终端获取编码后的样本向量中训练样本向量,通过训练样本向量训练度自学习编码器网络中的第一深度自学习编码器,获取训练后第一深度自学习编码器的参数;

步骤S202、将第一深度自学习编码器的输出作为第二自学习编码器的输入并对第二自学习编码器的输入进行训练;

步骤S203、训练第二自编码器后,将第一深度自学习编码器和第二深度自学习编码器的参数固定,并将第二深度自学习编码器叠加在第一深度自学习编码器上,并把第二深度自学习编码器的输出作为第三深度自学习编码器的输入,重复上述步骤,直到自学习编码器网络中所有深度自学习编码器训练完毕;

步骤S204、在训练完毕后的深度自学习编码器中输入测试样本向量,提取垃圾短信的特征。

具体实施时,本发明首先会训练每层的自动编码器,自动编码器如图3所示。自编码神经网络尝试学习一个输出尽可能等于输入的函数。换句话说,它尝试逼近一个恒等函数,从而使得输出接近于输入。

接下来就是训练整个深度网络过程,先依次训练单层神经网络,再训练整体神经网络。训练过程是使用非监督贪婪逐层训练。训练过程如下:

(1)首先充分训练第一个自动编码器;

(2)固定第一个自动编码器的参数,将它的输出作为第二个自动编码器的输入并对其训练;

(3)充分训练第二个自编码器后,将第一个自编码器和第二个自编码器的参数固定,并将第二个叠加在一上,并把二的输出作为第三个自动编码器的输入,重复上述步骤。

(4)深度网络训练好后如图4所示。

进一步地,步骤S203还包括:

步骤S231、采用BP算法通过二分类的监督信号对自学习编码器网络的参数进行调节。

具体实施时,对逐层无监督的训练用有监督信号重新进行微调,使得网络能够适用于分类任务。将短信分成正常短信和垃圾短信,并用Softmax目标函数对其进行分类,根据不断的减少分类误差来起到整个网络训练的效果。Softmax是多分类函数,就是如果某一个zj大过其他z,那这个映射的分量就逼近于1,其他就逼近于0,主要应用就是多分类。

BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用梯度下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

在预训练后,整个网络可以通过利用带标签数据用BP算法通过二分类的监督信号对整个网络参数进行微调。由于多个隐藏层的缘故,原始特征被不断映射到更加具有区分性的特征空间,使得分类的性能比原始特征的分类性能要好,当然也比传统人工神经网络的性能要好。

本发明提出一种基于深度自学习的垃圾短信过滤方法,通过深度网络模拟人脑工作机理,类似于人脑将信息不断的抽象化,高级化,深度网络也将原始特征不断的映射到更加抽象的空间中。另外,由于网络层数变多,深度网络的学习能力也比传统神经网络更强,当出现新的垃圾短信变种时,只需要再次将新的垃圾短信训练即可,而不需要对整个网络重新训练,从而节省了更新时间。

本发明还提供了一种基于深度自学习的垃圾短信过滤系统的较佳实施例的功能原理框图,如图5所示,系统包括:

预处理模块100,用于获取若干条样本短信,将短信内容进行预处理后生成对应的样本向量,对样本向量进行编码;具体如方法实施例所述。

特征提取模块200,用于移动终端获取编码后的样本向量通过深度自学习编码器网络进行训练并测试,根据测试结果在样本向量中提取垃圾短信的特征;具体如方法实施例所述。

检测与过滤模块300,用于移动终端对接收到的短信进行检测,若检测到存在垃圾短信的特征,则判定收到的短信为垃圾短信并进行过滤掉垃圾短信;具体如方法实施例所述。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述预处理模块具体用于获取若干条样本短信,对样本短信进行分词,去掉停用词后,生成若干个样本词,将样本词进行编码生成样本向量;具体如方法实施例所述。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述特征提取模块具体包括:

第一训练单元,用于移动终端获取编码后的样本向量中训练样本向量,通过训练样本向量训练度自学习编码器网络中的第一深度自学习编码器,获取训练后第一深度自学习编码器的参数;具体如方法实施例所述。

第二训练单元,用于将第一深度自学习编码器的输出作为第二自学习编码器的输入并对第二自学习编码器的输入进行训练;具体如方法实施例所述。

第一训练单元,用于训练第二自编码器后,将第一深度自学习编码器和第二深度自学习编码器的参数固定,并将第二深度自学习编码器叠加在第一深度自学习编码器上,并把第二深度自学习编码器的输出作为第三深度自学习编码器的输入,重复上述步骤,直到自学习编码器网络中所有深度自学习编码器训练完毕;具体如方法实施例所述。

特征短信提取单元,用于在训练完毕后的深度自学习编码器中输入测试样本向量,提取垃圾短信的特征;具体如方法实施例所述。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述特征提取模块还包括:

微调单元,用于采用BP算法通过二分类的监督信号对自学习编码器网络的参数进行调节;具体如方法实施例所述。

所述的基于深度自学习的垃圾短信过滤系统,其中,所述深度自学习编码器网络中有N层的神经元组成,其中N为大于3的自然数;具体如方法实施例所述。

综上所述,本发明提供了一种基于深度自学习的垃圾短信过滤方法及系统,方法包括:获取若干条样本短信,将短信内容进行预处理后生成对应的样本向量,对样本向量进行编码;移动终端获取编码后的样本向量通过深度自学习编码器网络进行训练并测试,根据测试结果在样本向量中提取垃圾短信的特征;移动终端对接收到的短信进行检测,若检测到存在垃圾短信的特征,则判定收到的短信为垃圾短信并进行过滤掉垃圾短信。本发明通过大量训练短信样本后,能够从内容里抽取出有利于分类的特征,当学习阶段结束后,可以利用该特征对短信进行有效的过滤,通过不断的短信样本训练方式,提高了垃圾短信过滤效率。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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