[垃圾短信过滤器的研究与实现] vivo手机怎么拦截短信
摘要 目前手机垃圾短信的过滤主要通过两种方式实现,一种是通过服务器端的通过对短信信息库的过滤来实现的,如朗讯科技推出的ASA系统。另一种是通过客户端的垃圾短信过滤。ASA 系统和目前的手机垃圾短信过滤软件都是通过关键词匹配实现的,关键词匹配的方法简单实用,但是有其致命的缺陷,如关键词库不能持续更新,需要手动添加的方式更新关键词库。本文主要讨论的是基于黑白名单[1],关键词库,朴素贝叶斯的相结合的方法来实现垃圾短信过滤,与传统方法相比较,不但可以动态更新关键词库,还有自学习能力,在过滤效率和准确率方面获得大幅度提升。
关键词 ASA;黑白名单;朴素贝叶斯
中图分类号TN918 文献标识码A 文章编号 1674-6708(2011)34-0203-02
0 引言
自从2000年中国移动和中国联通正式推出短信息业务,经过短短10年时间的发展,短信业务量持续上升。短信已成为人们传递信息不可或缺的一种方式,特别是对年轻一代,短信显的更加重要。随着短信业务的扩大,短信领域也呈现了诸多问题。由于缺乏相关的法律法规,短信已成为传播欺诈、色情、反党反国家等不良信息的一种途径。像垃圾邮件一样,手机短信用户日益受大量垃圾短信的困扰。据统计,中国每个手机用户平均每周收到垃圾短信8.29个[2]。垃圾短息已经成为公众关注和投诉的焦点之一。另外随着3G网络和智能手机的发展,手机上网,手机下载已越来越容易化,特别是对于初高中生,由于手机普遍化,而他们缺少相关的防范意识,不能抵制相关诱惑,而针对手机目前又没有相关的法律防范措施也没有相关的网络保护措施,这样的情况下,初高中生容易上当受骗,进入非法网站,浏览不健康的网页,这极大的影响了他们的身心健康。本文提出了基于客户端的实时垃圾信息过滤系统的设计与实现。
1 朴素贝叶斯算法
1.1 向量空间模型
由于短信采用文本形式表示信息,因此必须对短信文本进行预处理,将文本信息表示成计算机能够识别的形式。本文采用向量空间模型(VSM),使用向量(w1,w2,-,wn)来表示短信,其中,wi为第i个特征项的权重;n表示特征项的维数。将短信表示成为VSM的过程需要3个步骤:1)短信预处理;2)特征降维;3)权重计算。短信预处理要将短信文本按内容分词,并将如“的”、“关于”、“而且”等一些对分类无实际意义的单词剔除。笔者借用中国科学院计算技术研究所设计的汉语词法分析系统――ICTCLAS。该系统具有高达98%以上的分词准确率。预处理之后的短信会被分成很多的词语,当训练集使用的短信数量很大时,其向量空间维数仍然是相当巨大,必须对其进行特征降维。特征降维有2种方法:1)特征选择,不改变原始特征空间的性质,只是从原始特征空间中选择了一部分重要的特征,组成一个新的低维空间;2)特征抽取,存储和计算量大,不适合对手机短信的处理。因此,本文采用特征选择的方法进行降维。本系统在特征选择算法上采用信息增益(IG)。进行特征选取之后,由特征词作为向量的维数来表示短信,减少了向量空间的维数。对这些特征进行权霞计算后,原本以文本信息为形式的短信就转换成了可供分类器进行分类的向量空间模型。针对朴素贝叶斯分类器,特征权重计算方法只有布尔权重函数和词频权重函数,即多变量贝努里事件模型和多项式事件模型。
1.2 朴素贝叶斯算法介绍[3-5]
首先将每一个数据样本用一个n维特征向量X={x1,x2,…,xn},假设用C1,C2代表正常短信和垃圾短信。给定一个未知的数据样本X(即没有类标号),分类法将预测X属于具有最高后验概率(条件X下)的类。即朴素贝叶斯分类将未知的样本分配给类Ci,当且仅当:
P(Ci|X)>P(Cj|X);1≤j≤2,j≠i (1)
这样,最大化P(Ci|X)。其中P(Ci|X)最大的类称为最大后验假定。根据贝叶斯定理有:
P(Ci|X)= (2)
由于P(X)对于所有类为常数,只需要P(X|Ci)P(Ci)最大即可。如果类的先验概率未知,则通常假定这些类是等概率的,即P(C1)=P(C2),并据此只对P(Ci|X)最大化;否则,最大化P(X|Ci)P(Ci)。类的先验概率可以用P(Ci)=Si/s计算,其中si是类Ci中的训练样本数,而s是训练样本总数。
给定具有许多属性的数据集,计算P(X|Ci)的开销可能非常大。为了降低计算P(X|Ci)的开销,可以做类条件独立的朴素假定。给定样本的类标号,假定属性值相互条件独,即属性间不存在依赖关系。这样:
P(X|Ci)= (3)
概率P(x1|Ci),P(x2|Ci)可由训练样本估计。
为了对未知样本X分类对每个类Ci,计算P(X|Ci)P(Ci)。样本X被指派到Ci,当且仅当:
P(X|Ci)P(Ci)>P(X|Cj)P(Cj),1≤j≤2,j≠i
换言之,X被指派到P(X|Ci)P(Ci)最大的类Ci。
1.3 贝叶斯反馈式学习
垃圾短信过滤中过滤的对象是动态信息流,反馈学习是垃圾短信过滤系统的重要组成部分。随着时间的推移,垃圾短信的形式、内容以及用户的个性化需求都是不断变化的,短信过滤系统需要根据新的变化和需求更新分类器。在解决反馈学习的问题上,通常采用两种手段:重新学习和增量式学习。对贝叶斯增量式学习而言,需要更新各种相关的中间统计量,重新计算先验概率和特征的类条件概率,特征重构使问题变得更加复杂。而且用户对垃圾短信的判断准则随着时间的发展是有变化的。因此,过去的垃圾短信集合并不一定就是当前垃圾短信集合的子集。重新学习则可以由用户任意指定待学习的短信集合,完成特征空间的重构和分类器的重新学习。相对于其他分类算法,贝叶斯的学习过程又比较简单,重新学习对用户来说也很容易接受。因此,该系统采用重新学习来完成系统的反馈学。
2 垃圾短信过滤器实现模型
本文主要采用黑白名单,关键词库和朴素贝叶斯相结合的方法实现垃圾短信过滤主要流程如图1:
3 实验结果
目前,对垃圾短信的方面的研究不是太多,并且短信都涉及个人隐私问题。所以本人自己设定了5 000条短信(其中包括:色情,广告,诈骗,谣言,危害公共安全的等方面的短信)作为训练样本初始化关键词列表。然后再自己设定4 000条短信,经人工标定垃圾短信为400条(色情类:5,广告类:300,诈骗类:50,谣言类:30,危害公共安全类:15),正常短信3 600条。运行结果如表1:
召回率(Recall):R=A/(A+C)=395/400=98.75%。
正确率(Precision):P=A/(A+B)=395/415=95.18%。正确率表示了过滤系统找对垃圾短信的能力,正确率越大,将非垃圾短信误误判为垃圾短信的数量越少。
错误率(Error):E=(B+C)/N=25/4000=0.61%。
上面结果表明,本系统在对手机垃圾短信过滤中表现出色,召回率和正确率都达到了95%以上,结果比较理想。
4 结论
本文结合以往垃圾短信过滤器的不足,采取了黑白名单,动态关键词库和朴素贝叶斯相结合的多层过滤模型对短信进行过滤。随着3G网络的发展,通过手机上网已经是很普遍的事情了,短信也不是以纯文本的形式存在,而是以声音,图片等多种形式结合的彩信形式存在。如何有效的过滤垃圾彩信将是我们下一步研究的重点。
参考文献
[1]Hoglund G The Definition of a Rootkit[DB/OL].(2006-02-05).http://www.省略/blog.php?newsid=440.
[2]郑淑荣.整治垃圾短信.数字通信世界,2006 (5):24-26.
[3]Sahami M,Dumais S,Heckerman D,et al.A Bayesian approach to filtering junk e-mail[C]//Proceedings of AAAI Workshop on Learning for Text Categorization.Madison:[s.n.],1998:55-62.
[4]王金森,赵东范.文本分类算法在垃圾邮件过滤中的研究与应用[D].吉林:吉林大学,2006.
[5]鲁明羽.Bayes文本分类器的改进方法研究[J].计算机工程,2006,32(17):63-65.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
