2024年4月13日发(作者:)

\ 开发案例 

\ 

手机垃圾短信过滤系统的设计和实现 

袁瑞芬 

(东莞理工学院计算机学院,东莞523808) 

摘要:针对目前手机垃圾短信过滤的几种方法,分析与比较这些方法的优缺点,在此基础上,介绍 

贝叶斯过滤方法的原理.讨论基于贝叶斯推理方法的过滤技术在手机垃圾短信过滤中的优 

点和适用性,重点介绍贝叶斯推理方法在手机短信过滤中的应用。实验结果显示该系统具 

有较好的过滤效果。 

关键词:垃圾短信;贝叶斯过滤模型;贝叶斯推理;黑名单;白名单 

0 引言 

字符长度,也就是70个中文字符。短文本提供的可用 

手机的普及给人们的交流带来了很大的方便.手 

文字信息更少.需要其他的可用特征来补充 

机已经成为人们日常生活中非常重要的通信工具.但 

(3)邮件的地址是可以方便伪造的.但是短信的号 

是手机短信与邮件一样存在着令人苦恼的垃圾短信问 

码是很难伪造的.因此。黑白名单方法在短信系统中是 

题.来自不同渠道的各种垃圾短信充斥手机短信.给用 

很有效的 

户带来了很多的烦恼 垃圾短信的常见内容包括广告 

(4)短信相对于互联网来说,需要精确计费,因此 

信息、色情信息、假中奖信息、欺诈信息、恶作剧等。目 

发送和接收可以集中处理.可以很方便地在短信中心 

前在国内外.垃圾短信和垃圾邮件一样.都逐渐成了倍 

阻止黑名单用户 

受关注的问题【1_。本文主要利用贝叶斯方法对垃圾短信 

(5)垃圾短信的内容都很近似.某段时间内不会做 

进行过滤,贝叶斯法过滤的大致思想是:利用已知的正 

修改或都做很小的修改 

常短信息和垃圾短信息.建立垃圾短信息和非垃圾短 

(6)发送频率比较高,即单位时间内发送的数量大 

信息单词和贝叶斯概率模型.然后利用该模型判断短 

(7)一般每条短信发送给不同的人。 

信息是否为垃圾短信息 贝叶斯过滤的优点是准确率 

(8)发送没有时间特征,即任何等长时间段发送短 

比较高、方法简单,有较好的健壮性和容错性。 

信的数目相同 

1 手机垃圾短信的特点 

2 手机垃圾过滤的几种方法 

手机垃圾短信是指未经请求或允许而收到的手机 

目前.根据手机垃圾短信的特点.对垃圾短信的处 

短信.和垃圾邮件过滤比较.短信过滤有以下的特点: 

理有两种技术:一种是在发送的服务器中心SMSC(Short 

(1)短信只包含内容和发送者的号码,没有其他的 Message Service Center.短信服务中心)进行处理,另一 

信息,例如附件、图片、链接。这将大大减少可以利用的 

种方法是直接在手机上用编制的内嵌程序实现 

规则的数量 ’ 在SMSC环节.对短信内容的监控主要通过抽检 

(2)短信息的长度是有限制的,一般为140个英文 

实现。例如发现某SP流量突然增大.频率增高,则可以 

收稿日期:2010—01—05 修稿日期:2011一O1—2O 

作者简介:袁瑞芬(1981一),女,广东东莞人,本科,助理工程师,研究方向为计算机网络,软件工程 

@ 现代计算机2031.02 

对其短信进行抽检.一旦发现违法内容.即可采用封 已经收到了垃圾短信的骚扰了.再者,垃圾短信息的发 

信人如果是使用那些自动发送短信的电脑软件.注册 

新的软件就可以得到新的号码.这样使用白名单和黑 

名单技术又很难进行垃圾短信的屏蔽.所以白名单和 

堵。实时检测是在短信发送时就进行检测,对所有的短 

信进行检测可行性不强.一方面要投人大量的人力、设 

备和成本.另一个方面违反短信便捷的特点.影响时 

效.同时也侵犯了用户的隐私权和通信.在法律上得不 

到支持。 

因为每个人对垃圾短信的定义都有所不同 在 

黑名单技术在针对某一特定已知的发信人号码的时候 

才比较有效.在针对陌生的群发垃圾短信息其实效果 

不大:对于关键词的匹配算法.明显地带有以偏概全的 

SMSC环节对群信息进行堵截一刀切的模式进行过滤 

的方法很容易将某些用户认为不是垃圾短信息的短信 

堵截。如果在用户的手机端进行垃圾短信息的过滤就 

不会出现这个问题 

(1)可以根据用户个人的具体情况设置白名单和 

黑名单实现对特定号码信息的过滤 

(2)可以让用户自己根据对垃圾短信的定义,选定 

过滤法则.使得垃圾信息的过滤变得个性化 

(3)用户可以对收到的某些短信息指定为垃圾短 

信息.进行再次学习.及时扩展过滤的能力。 

总之.在手机端用编制的内嵌程序实现垃圾短信 

息的过滤可以使得对垃圾短信息的过滤变得个性化和 

符合用户个人的需要 

利用垃圾邮件过滤的原理.我们可以设计垃圾短 

信过滤的一些方法: 

从技术上来分析.垃圾短信息的过滤方法可以采 

用以下几种方法:白名单和黑名单技术、关键词语的匹 

配法.还有本文将要介绍的贝叶斯推理过滤方法等 

白名单和黑名单技术将要接收的发信息人的号码 

列入白名单.将要拒绝的发信息人的号码列入黑名单. 

这样就可以对发来的短信息进行过滤 

关键词的匹配算法主要是搜集某些在垃圾短信息 

中常见的出现频率很高的词语作为垃圾短信息的关键 

词,对接收到的短信息内容进行扫描.如果在该短信息 

出现了垃圾短信息的关键词.则将该短信息判别为垃 

圾短信进行堵截.否则接收 

贝叶斯推理的过滤方法是通过搜集大量的垃圾短 

信息和非垃圾短信息进行训练.形成垃圾短信息和非 

垃圾短信息关键词语的概率模型,然后利用贝叶斯推 

理方法对接收到的信息进行判别分类。 

对于白名单和黑名单技术.是在收到短信之后,才 

能确定是否需要将该号码放进黑名单.很明显这时候 

错误。下面将要介绍的贝叶斯过滤方法则通过训练大 

量短信息形成的概率模型来作为判别分类的基础.判 

别的准确率比较高.而且健壮性也比较好[21。 

3 贝叶斯过滤方法介绍 

贝叶斯法推理过滤方法的大致思想是:利用已知的 

正常短信息和垃圾短信息[31.建立垃圾短信息和非垃圾 

短信息单词的贝叶斯概率模型.然后利用该模型判断 

接收到的短信息是否为垃圾短信息 。也就是说。贝叶 

斯法过滤可以从已知的短信息中自动生成过滤器.而 

不需要用户人为制订规则 

贝叶斯过滤算法的基本步骤如下: 

①收集大量的垃圾短信息和非垃圾短信息,建立 

垃圾短信息和非垃圾短信息集 

②提取短信息主题和短信息体中的独立字串例如 

ABC32、Y234等作为TOKEN串并统计提取出的TO. 

KEN串出现的次数即字频 按照上述的方法分别处理 

垃圾短信息集和非垃圾短信息集中的短信息。 

每一个短信息集对应一个哈希表.hashtable good 

对应非垃圾短信息集而hashtable bad对应垃圾短信息 

集。表中存储TOKEN串到字频的映射关系 

③计算每个哈希表中TOKEN串出现的概率P= 

(某TOKEN串的字频)/(对应哈希表的长度)。 

综合考虑hashtable go0d和hashtable bad,推断出 

当新来的短信息中出现某个TOKEN串时.该新短信息 

为垃圾短信息的概率。数学表达式为: 

A事件一短信息为垃圾短信息 t t2,…,t 代表 

TOKEN串,则P(AIti)表示在短信息中出现TOKEN串t; 

时。该短信息为垃圾短信息的概率。设: 

Pl(t )=(ti在hashtable good中的值) 

P2(ti):(t。在hashtable bad中的值) 

贝U P(AIti)=P1(ti),【P。(t。)+P2(ti)】; 

现代计算机2011.02 0 

\ 

\ 

开发案例 

④建立新的哈希表hashtable_probability存储T0. 

KEN串ti到P(AIt;)的映射 

号.所以要有专门的分词模块 

Sqlite数据库:开源的微型数据库系统.利用此数 

据库系统来管理学习到贝叶斯概率模型 

手机自带短信息接收/发送模块:这是手机自带的 

短信息发送和接收模块.提供了调用的接口可以对短 

信进行操作 

我们对于贝叶斯过滤算法的实现包括了两个阶 

至此.垃圾短信息集和非垃圾短信息集的学习过 

程结束。根据建立的哈希表hashtable

probability可以 

_

估计一条新到的短信息为垃圾短信息的可能性 

当新到一条短信息时.按照步骤②生成TOKEN 

串。查询hashtableprobability得到该TOKEN串的键 

_

值。 

假设由该短信息共得到N个TOKEN串,tl,t2,…,t , 

hashtable

_

probability中对应的值为P1,P2,…,PN,P(AItl, 

t2,t3,…,to)表示在短信息中同时出现多个TOKEN串tl, 

t ,…,t 时,该短信息为垃圾信息的概率。 

由复合概率公式可得: 

P(AItl,t2,t3,…,t )=(Pl木P2,…,PN)/[P1木P2,…,PN+(1一 

P1) (1-P2) 一 (1--PN)】 

当P(AIt ,t:,t 一,t )超过预定阈值时,就可以判断 

短信息为垃圾短信息 

4 系统实现和实验结果 

我们所设计的贝叶斯垃圾信息过滤结构系统如 

下: 

图1 

用户操作界面:用户可以对设定过滤的阈值.可以 

从短信垃圾箱里查看内容.决定要不要对判定为垃圾 

短信的短信息进行加强学习:设定白名单和黑名单等 

操作。 

学习/判定算法模块:主要为核心的贝叶斯过滤算 

法模块.包括学习建立贝叶斯模型库和利用模型库判 

定模块:也包括白名单和黑名单等比较次要的判定方 

法。 

中文分词模块:对中文短信进行中文分词的处理, 

因为中文的短信不像英文句子一样有自然的分界符 

囝 现代计算机2011.02 

段:学习阶段和应用阶段。 

学习阶段的主要任务是:通过对收集到的大量的 

垃圾短信息和非垃圾短信息进行学习.生成各个词语 

在垃圾短信息和非垃圾短信息中出现频率的概率模型 

供学习和判断使用[51 

应用阶段的主要任务是:对接收到的短信息,利用 

它所包含的词语在学习阶段形成的概率模型文件中的 

概率进行贝叶斯推理.判别其是否为垃圾短信息.如果 

是垃圾短信息.则将该短信息打上垃圾标志.并对该消 

息当做垃圾短信息进行加强学习l1 l

手机资源有限.不适合使用像Access或者SQL 

Sever这样的软件。针对这些特点.我们使用了一种轻 

便的数据库Sqlite来建立概率模型.其占用资源很少而 

且不需要安装的特点使得它十分适合在手机上使用 

在学习阶段.利用Sqlite生成一个用于存储生成概 

率模型的数据库.把垃圾信息和非垃圾短信息中的词 

语连同词频存储于数据库中.把形成的概率表也存储 

于数据库中,即生成hashtable

_

good和hashtable

bad, 

hashtable Dr0bability。当进行短信息判别的时候,首先 

进行分词.从数据库中取出各个词语的概率.然后利用 

上节的复合概率公式进行计算推理.当计算的结果超 

过一定的阈值的时候就将该短信息判定为垃圾短信旧 

如果用户发现某一个号码经常发送垃圾短信.就可以 

将该号码加入黑名单.使得以后该号码的信息会被自 

动屏蔽.提高了效率 在中文的垃圾短信息过滤中,还 

需要使用中文分词.中文分词的质量对垃圾短信息的 

过滤精度有比较大的影响。 

在实验的过程中.我们在Smart Phone上使用Em— 

beded VC 4.0平台来编译运行程序 我们收集了600 

条垃圾短信息和1000条非垃圾短信息进行学习.在经 

过学习以后.对于训练过的垃圾短信息的运行进行非 

类判断.准确率可以达到99.0868%.对于训练过的非 

垃圾短信息文件进行分类判断,准确率可以达到 

99.7165%。对于测试集上的垃圾短信息的判定准确率 

的算法.综合运用各种算法来进行垃圾短信息的过滤, 

设计可以自动设定阈值和训练次数的算法,使得训练 

和判别时能得到最佳效果。 

参考文献 

n1陈秀琼.基于贝叶斯网络的数据挖掘技术.三明高等专科 

学校学报.2004 

达到88.013%.对于非垃圾短信息的判定准确率为 

90.104%。在Smart Phone上运行时,对一条信息的处理 

时间大概为2~3秒.这个时间是用户可以接受的范围。 

5 结语 

通过实验结果可以看出.本系统的准确率基本达 

到了预期的效果,也具有较好的健壮性,但是我们实现 

的这个基于贝叶斯方法的垃圾短信息过滤系统也存在 

着如下问题: 

『2]David Hand,Heikki Mannila,Padhraic Smyth.数据挖掘原 

理,张银奎.廖丽.宋俊等译.机械工业出版社&中信出版 

社.2003.4(第1版) 

『31H.Witten&Eibe Frank.数据挖掘实用机器学习技术及 

Java实现(第二版).机械工业出版社,2005.9 

(1)供训练用的信息量尚且不足; 

f2)判断时所依据的阈值由人为主观设定,该阈值 

的设定影响判定的精度: 

(3)对供训练文件需要训练几次才能达到最好的效 

果: 

『41余东峰,孙兆林.基于贝叶斯网络不确定推理的研究.微型 

电脑应用.2004 

[5](美)Tom M.Mitchel1.机器学习.曾华军,张银奎等译.机械 

工业出版社.2003.1 

【6】(加)Jiawei Han,Micheline Kanber.数据挖掘概念技术.范 

(4)该程序用C语言实现,目前只能在Smart Phone 

上运行。 

明.孟小峰.机械工业出版社,2007-3 

对于系统存在的问题,我们未来需要进行进一步 

的工作.收集更多更齐全的垃圾短信息,进一步完善对 

垃圾短信息判别后进行自学习自扩展的功能,寻找新 

Design and Implementation of Mobile Junk Short Message 

Filtering System 

YUAN Rui—feI1 

(School of Computer,Dongguan University of Technology,Dongguan 523808) 

Abstract:CompaI'es and anal ̄rses some merits and defects in methods that can be used to the filtering of 

junk short message.Based on these,introduces the principle and theory of Bayesian reason 

method,and discusses the advantage of filtering method based on Bayesian reason method. 

Mainly introduces the applications of Bayesian reason method in the junk short message iflter- 

ing system and the experiment result shows that this system has well filtering effect. 

Keywords:Junk Short Message;Bayesian Probability Model;Bayesian Reasoning;White List;Black List 

现代计算机2011.02 I