垃圾短信过滤系统方案

2025-02-03 版权声明 我要投稿

垃圾短信过滤系统方案(精选3篇)

垃圾短信过滤系统方案 篇1

1 系统介绍

短信按照大类来分有:正常信息、其他信息、黄色信息、政治信息、违法信息、SP诈骗信息、商业广告信息等。其中, “黄色信息”子类又可分:1) 男女公关、陪护等严重信息;2) 色相诈骗、色相推荐等广告信息;3) 黄色笑话和晕段子;4) 其他黄色信息。“商业广告”子类又可分:1) 机票、车票等票务信息;2) 楼盘、房子等销售信息;3) 商品打折、推销等信息;4) 其他商业信息。

每个短信的分类结果, 会实时地返回给分类请求方。双方数据交换采用TCP/IP的SOCKET方式, 双方互为客户端和服务端, 因此过滤过程中的延迟时间在1秒内完成, 用户体验比较好。整个系统服务包括智能库处理服务、短信数据库服务、智能库WEB维护和查询服务。系统全部采用开源LINUX操作系统, 数据库采用MYSQL、Hbase, WEB服务器采用TOMCAT等。这些为用户带来经济、安全的使用环境。WEB系统采用B/S结构、模块化设计, 便于系统通过添加功能模块实现平滑升级扩容。

应用软件智能库部分开发语言采用标准C语言, WEB部分采用JAVA等业界通用开发语言。软件系统支持配置动态修改、更新而不影响系统运行。系统具备运行监视及故障人工、自动恢复功能, 恢复运行时间小于1分钟。应用软件具备故障诊断功能, 能对系统故障进行诊断和定位。

1.1 软件功能模块

1) 指令表分析模块。主要对过滤指令集合和模糊匹配域值进行相关性分析, 为后面的“智能库学习模块”提供参数。模糊匹配域值通过“智能库学习模块”进行初始化, 也可以通过WEB界面, 管理人员在“智能库表维护模块”进行。2) 关键词模糊处理模块。主要对业务指令相关的关键词集合进行相关性分析, 为后面的“智能库学习模块”提供参数。通过多模式模糊识别算法, 对每条短信内容按照配置的关键字进行多关键字的模糊识别, 中文模糊识别能够对加入扰码 (例如:天*气**预报) 等情况进行模糊识别处理。3) 简繁转换模块。对短信内容进行简繁转换。比如:天气報。4) 谐音字词模块。对短信谐音语句进行分析转化。例如:谐音字 (例如:天器预报) 。5) 句型分析模块。对短信进行逻辑分析, 为后面的“智能库学习模块”提供参数。6) 智能库特征提取模块。对短信进行语义分析, 提取特征, 为后面的“智能库学习模块”提供参数。7) 智能库学习模块。对短信样本, 按照模式识别算法进行学习, 其结果成为了智能库的特征表。8) 数据传送模块。负责本项目与目前系统数据传送的模块。9) 业务处理查询模块。通过WEB方式查询用户的业务请求和查询处理情况。10) 智能库表维护模块。通过WEB方式对智能表的参数进行维护。11) 短信查询模块。通过WEB方式查询用户发送的短信和我们的下发诱导短信息。12) 统计报表生成模块。通过WEB方式生成各种报表。

1.2 网络结构

由于图1大小限制, 智能分类服务器实际使用采用了8台进行分布式处理, 系统使用hadoop2.4分布集群构建。

1.3 数据交换协议

1) 连接方式。智能模块与监控系统以TCP/IP长连接方式连接, 互为客户端和服务端。智能模块 (服务端) 接收监控系统 (客户端) 发送的需要短信分类的数据。智能模块监听端口是4455;监控系统 (服务端) 接收智能模块 (客户端) 回送的短信分类结果数据, 监控系统监听端口是6688。

2) 接口定义。数据包中的WORD和DWORD整型数值以网络字节序传输, string为以‘’为结束符的字符串。数据包的内容由“消息头” (见表1) 和“消息体” (见表2到表4) 构成。“消息类型代码”是标识该报文所要执行或响应的监控管理命令。其中, “流水号”是唯一标识发送方发出的每一次请求。接收方回复请求时, 将该流水号原样返回。“消息体”有“分类请求包”“分类查询请求包”“链路检查包”“请求响应包”等。

2 系统效果与能力

系统在过滤过程中, 凡是没有达到垃圾短信类别阈值时, 认为该短信是正常短信。本系统的查准率达到89% , 查全率达到98%, 而正常短信误分率只有1.6%。因此效果明显好于文章[4,5]的分类结果。

系统服务器负责关键字模糊分析识别、敏捷流量超门限处理、敏捷关键字超门限处理、黑白名单分析处理、基于内容的分类识别, 因此短信流量、关键字数量、白名单数量以及黑名单数量都直接影响到服务器的处理能力。根据测算, 估算出每秒钟事务处理量公式:

每秒事务处理量= 短信流量* ( 1 + ( l n关键字数量) /6) * (1+ (lg百名单数量) /6) * (1+ (lg黑名单数量) /6) /8。

目前的需求对应的每秒事务处理量计算:

每分钟的事务处理量=1097.5 * 60 = 65850, 完全达到了系统的设计要求。

摘要:为了提高垃圾短信过滤效果, 文章提出了新的垃圾短信过滤系统构建方案。从软件系统设计到网络布局, 从数据传输到系统的处理能力, 这些都体现了目前最新的应用平台要求。通过客户使用该系统后的数据表明, 查准率、查全率等统计指标有显著的提高。

关键词:短信,过滤,网络,系统

参考文献

[1]何蔓微, 袁锐, 刘建胜, 王贵新.垃圾短信的智能识别和实时处理[J].电信科学, 2008, 8:61-64.

[2]李海波, 许建明.垃圾短信的现状及过滤技术研究[J].硅谷, 2011, 24:110.

[3]周冰.垃圾短信过滤技术与应用[J].中国新通信, 2014, 6:78.

[4]李慧, 叶鸿, 潘学瑞, 等.基于SVM的垃圾短信过滤系统[J].计算机安全, 2012 (6) :34-38.

过滤垃圾邮件小窍门 篇2

内置于Office 2003中的最新版本的Microsoft Outlook和Eudora都包含了非常先进的反垃圾邮件功能,但是一些比较传统的电子邮件客户端软件,例如Outlook Express就需要附加一些功能更加强大的反垃圾邮件软件。

目前可供用户选择的反垃圾邮件软件种类很多,售价高低不等,当然也有不少免费软件。有些软件可以内置到您的电子邮件客户端程序中,有的则是单独的软件。所有的反垃圾邮件软件都包含了全自动和半自动模式下的垃圾过滤技术。您可以阅读《Natural-Born Spam Killers》 (find.pcworld.com/38753)一文来了解阻挡垃圾邮件相关技术的概况,在find.pcworld.com/38754中您可以找到目前可供下载的反垃圾邮件软件的列表。

每一款反垃圾邮件软件都各有特色,但是绝大多数都有类似的核心功能。以下列举了一些达到最佳阻挡效果的设置过程,可能您使用的软件并没有涵盖所有这些功能。用来作为演示范本的是Symantec推出的Norton AntiSpam 2004和Sunbelt Software推出的IHateSpam (售价20美元, www.sunbelt-software.com)。由于文章篇幅有限,我们无法将每一种软件的具体细节一一列出,您最好仔细阅读软件手册和在线帮助。

设定阻挡级别:

绝大多数反垃圾邮件软件都允许用户自己设定阻挡过滤级别。设定级别需要一定的技巧,因为它本身要兼顾安全和方便,级别设置不当也会给用户带来一些麻烦,例如级别设置过高可能会阻挡一些正常的合法邮件,而低级别则可能带来一些垃圾邮件的“漏网之鱼”。

记住您的朋友:

如果您是初次使用反垃圾邮件软件,您首先要注意的一件事情就是千万别让过滤器把您想收到的重要邮件给屏蔽了。绝大多数软件都可以直接访问您的电子邮件客户端软件中的地址簿,您可以将其中的一些地址设置为“朋友”,这样过滤器就不会阻挡发送自这些地址的电子邮件。对于那些没有在“地址簿”中出现的“朋友”您也不必担心,您可以在检查被阻挡邮件时将其中的一些发送地址标记为“朋友”。

不妨试试您的ISP的反垃圾邮件功能:

很多互联网接入服务提供商都可以提供免费的或者低价的内置垃圾邮件过滤器。有些提供商是默认提供该功能,您可以访问您的ISP的主页,从中了解相关细节。如果您的ISP没有集成反垃圾邮件软件,或者您不打算使用该软件,您可以根据自己的需要安装喜欢的垃圾邮件过滤软件。基于服务器的反垃圾邮件软件的安装设置过程和您的ISP提供的软件类似,安装本地的反垃圾邮件软件也是大同小异。

打开特殊功能:

例如在IhateSpam中,您可以阻挡那些使用外语字符集书写的邮件,Norton AntiSpam可以分析每一封发出去的电子邮件,从而提高阻挡垃圾邮件的准确性。您可以在软件的帮助手册和在线帮助文档中一一了解这些附加功能,如果觉得哪些功能有用就不妨试试。

设置和维护黑名单:

一般情况下,垃圾邮件发送者会经常改变其电子邮件地址,所以您也必须要时常注意更新您的“黑名单”。这项功能有时也被称作是阻挡列表或恶意发送人列表,其中包含了一些您很讨厌的电子邮件地址或整个域名。很多软件都提供“黑名单”的在线升级功能,您只要定期访问他们的服务器进行更新,就可以获得最新的“黑名单”列表,当然,您也可以在任何时候自己向“黑名单”中添加地址。

多一点耐心:

这是所有步骤中最为困难的一项。您不要指望您安装的反垃圾邮件软件在安装后的当天就能百分之一百地如您所愿发挥作用。您得做好心理准备来应付一些具有“黑白颠倒”性质的问题,例如合法邮件被标记为垃圾邮件,垃圾邮件则大摇大摆地进入了您的收件箱。随着您一步一步地按照我们前面提到的步骤调整过滤设置,您的软件也能够逐渐在适应过程中提高过滤命中率。尽管有些厂商出于营销的考虑宣称自己的反垃圾邮件软件可以做到“百发百中”,事实上没有一个软件能够真正做到在任何时候都能阻挡所有的垃圾邮件,但是只要设置合理,这些软件还是能帮我们解决很多问题。

垃圾短信过滤系统方案 篇3

当前的垃圾邮件过滤技术,主要包括以下几类:关键词过滤,黑/白名单[2],逆向域名验证,基于规则过滤[3],特征词统计,等等。以上方法,分别在各种特定的情况下,能够达到一定的过滤效果。但是,随着垃圾邮件制造者的技术提高,以上的各种方法都存在各自的缺陷,不能达到很好的过滤效果。

本文采用基于邮件内容的过滤算法,无论任何伪装的情况下,邮件的内容是无法改变的,否则就无法达到发送者的目的,因此,基于内容的过滤算法能够在各种情况下,达到过滤效果。同时,引入BP神经网络作为过滤算法,利用BP神经网的自组织、自学习和联想存储等特点,设计并实现垃圾邮件过滤系统。同时,针对BP神经网在训练过程中,容易陷入局部最优解的问题[4],引入遗传算法来对BP神经网络进行优化,利用遗传算法的全局搜索能力,进一步提高BP神经网络的学习能力[5]。针对中文自身的特点,在过滤系统中,加入针对中文的自动分词模块,实现针对中文垃圾邮件的过滤。

1 过滤系统的设计

过滤系统的主要思想:通过分析邮件的正文内容,提取其中的特征词汇,通过过滤模块进行垃圾邮件的识别;同时,加入了针对中文邮件的自动分词模块,达到对中文垃圾邮件的过滤;系统架构如图1所示。

1.1 系统的流程

系统的流程主要包括两个过程:过滤系统的训练过程和未知邮件的过滤过程,分别如下:

1.1.1 过滤系统训练

首先对邮件样本集进行预处理,得到待处理的样本邮件;然后通过中文自动分词,得到整个样本集的词汇统计表;根据词汇出现的频率,以及相应的代表性,选取出特征词汇;根据特征词汇表,将样本邮件转化为BP神经网络过滤模块的输入向量,从而对网络进行训练,生成最终具备识别能力的过滤模块。流程图如图2。

1.1.2 未知邮件过滤

收到新邮件后,通过中文自动分词,得到邮件中的所有词汇;根据特征词汇表,生成该邮件对应的特征向量,输入到神经网络过滤模块中;根据过滤系统的输出结果,判定当前邮件是否为垃圾邮件;用户可以对过滤模块的判定结果进行反馈,系统会记录错判和误判的邮件数量,并根据对应的比例决定是否需要重新训练过滤模块。同时,根据当前邮件是否为垃圾邮件,将该邮件中出现的词汇更新到所有词汇的表中,并统计相应的“垃圾概率”,这样做的目的是为了定期的更新特征词汇,达到过滤系统能够不断学习的效果。

1.2 系统结构

整个过滤系统采用模块化设计,共分为四个主要的模块:自动分词模块,特征词提取模块,BP神经网过滤模块,以及用户反馈模块,整体的结构如图3所示。

1.2.1 自动分词模块

该模块主要实现的功能是将邮件的内容通过自动分词技术,得到对应的词的集合。需要完成操作包括:

1)邮件的编码识别,对于不同的邮件可能使用不同的编码,所以要针对各种编码,采用对应的解码方法对邮件进行解码,才能保证正确的读取邮件内容;

2)邮件内容的预处理,例如,去掉邮件的头信息;根据已知的一些拆/分词的特征,去除拆/分的标志,比如一些垃圾邮件发送者,会故意的在字与字之间加上空格,目的就是让自动分次技术不能够正确的进行分词,因此需要在预处理阶段去掉这些分隔符;

3)对邮件内容进行自动分词,得到邮件中的词语集合;

该模块的输入为邮件训练集,或者用户收到的邮件,输出为经过分词得到的词语集合。

1.2.2 特征词提取模块

特征词提取模块的主要功能是在经过分词模块得到的词汇集合中,选出最有代表性的特征词,这些词汇最能够表明一封邮件是垃圾邮件,或者是正常邮件。该模块需要完成的操作包括以下几个:

1)词频的统计:在样本集邮件的分词结果中,统计出每个词在垃圾邮件中出现的次数,以及在正常邮件中出现的次数,从而计算出这个词汇的“垃圾概率”,即为:

2)提取特征词汇,即根据词汇的“垃圾概率”,取出最具代表性的词语;选择时需要考虑以下几个方面,词汇的“垃圾概率”,这个是在选取特征词时,比较重要的一个指标;但是,同时也要考虑词汇出现的次数,比如某个词只在一封垃圾邮件中出现,那么它的“垃圾概率”为1,但是它并不是最有代表性的词,因此,在选取特征词汇时,需要综合考虑这两个方面;

3)特征向量转换,将邮件按照特征词表,转换为代表该邮件的特征向量;

另外,在提取特征词时,可以结合使用禁用词表方法,该方法是通过对汉语的研究,总结出一些对于邮件内容没有很大的影响的词汇,比如“是”,“的”,各种数字,等等,这些词汇并没有实际的意义,因此,提取特征词时,应排除这些词汇。

1.2.3 过滤模块设计

该模块是整个过滤系统的核心部分,通过样本邮件对过滤模块训练后,完成对未知邮件的过滤功能。整个过滤模块使用BP神经网络作为文本分类的算法,同时使用遗传算法对BP神经网络的各个参数进行优化,模型的设计图如图4。

其中,引入GA(遗传算法)优化器的目的是为了克服BP神经网容易陷入局部最优解的缺点,提高其全局搜索的能力。首先,将BP神经网的各个权值进行编码,通过GA优化器随机的产生初始的种群;对种群中的每个个体,经过解码后,构造对应的BP神经网;将样本训练集输入BP神经网,计算所有输出的均方误差;GA优化器根据均方误差,得到对应的适应度值,然后进行遗传优化,最终得到最优化的BP网络权值。

2 过滤系统的实现

过滤系统的实现主要采用Java语言,使用SQL Server数据库来存放分词的结果,以及最终的关键词列表。过滤系统的实现包括两个关键的部分,自动分词模块和遗传优化的神经网络过滤模块。

2.1 自动分词模块

本文采用ICTCLAS[6]中文分词系统来实现对邮件内容的自动分词,从而得到邮件的关键词列表,为下一步的特征词提取提供词库。具体的实现方法是:在代码中,调用ICTCLAS系统提供的API,对输入的邮件内容进行分词,并返回分词结果。

2.2 过滤模块的实现

2.2.1 BP神经网的实现

本文采用实用性很强的三层的BP神经网结构,即包含一个隐含层的BP网络。根据一般邮件的长度大概为100-200字,输入层节点数目确定为50个,即对应50个特征词汇,应该足以反映大部分邮件的特征;输出层采用一个输出节点,输出节点的意义为当前邮件为垃圾邮件的概率:越大则越可能为垃圾邮件;隐层节点数目,按照参考文献[7]提供的方法,确定数目为10。

BP神经网的实现,采用开源工程JOONE(Java Object Oriented Neural Engine),作为BP神经网的实现框架,按照如上的网络结构,实现相应的BP网络结构。

2.2.2 遗传优化BP网络

利用遗传算法可以优化BP网络的结构和各个权值,为了简化问题,本文只使用遗传算法来优化BP网络的权值部分。

首先需要解决的是编码问题,根据权值的连续性、高精度等特点,选取实数编码方案,提高编码精度,增加搜索空间。对BP网络各个权值的编码方法是将权值分为四个部分:

1)输入层到隐含层的权值:即由输入层到隐含层的连接的权值;2)隐含层的各节点的阈值;3)隐含层到输出层的权值:即由隐含层到输出层的连接的权值;4)输出层的各节点的阈值。编码得到的个体如下:

通过编码,就将BP网络的权值转化为遗传算法可以处理的染色体了,从而可以进行遗传优化,找到最优的权值编码。最后,再根据编码的规则,逆向解码得到最终的BP网络结构。

3 系统测试与分析

本文采用中国教育和科研计算机网紧急响应组(CCERT),2005年搜集的邮件样本集,作为测试数据。在样本集中,选取一部分邮件作为训练数据,对BP网络过滤系统进行训练;另外一部分作为测试数据,对过滤系统的结果测试。具体测试数据如下:

练样本集大小:6113;垃圾邮件数:3110;正常邮件数:3003

测试样本集大小:200;垃圾邮件数:100;正常邮件数:100;判定阈值为:0.9

在以上的测试数据情况下,过滤系统在自动分词、特征词提取部分,表现出很好的性能;在采用遗传算法优化的BP网络训练过程中,能够快速的收敛,大大提高了训练能力。具体的测试结果如表1。

测试的结果表明,过滤系统具有较好的运行能力,在处理大量邮件时,运行速度相对较快,能够达到一般的性能要求。邮件过滤结果表明,过滤系统具有很高的准确率和查全率,在样本集相对完整和充足的情况下,能够起到很好的过滤效果。

4 结论

针对中文垃圾邮件的过滤问题,本文采用了基于遗传算法优化的BP网络作为过滤算法,并结合中文自动分词技术,设计并实现了针对中文垃圾邮件的过滤系统。引入ICTCLAS系统作为中文自动分词模块,基于JOONE框架,来实现遗传算法优化的BP网络过滤模块。最后,通过系统的测试,分析了系统的性能和垃圾邮件过滤的查全率和准确率。测试结果表明,该过滤系统具有一定的实际价值,可以为垃圾邮件处理领域提供一个新的参考。

摘要:垃圾邮件的泛滥,耗费大量的服务器资源,给用户的正常使用带来极大的危害。该文提出了使用BP神经网作为邮件过滤的分类算法,通过遗传算法优化BP神经网,提高神经网络的学习能力;同时,结合中文分词工具,设计并实现了针对中文邮件的过滤系统。最后,使用样本邮件集合,对系统进行训练和测试,并对测试结果进行分析和对比。通过对系统的测试分析,证明过滤算法对中文垃圾的邮件具有比较高的查全率和准确率。

关键词:垃圾邮件,中文分词,BP神经网,遗传算法

参考文献

[1]中国互联网协会反垃圾邮件中心.2010年第二季度中国反垃圾邮件状况调查报告[R],2010.

[2]郑可馨,姜守旭,罗志云.垃圾邮件过滤系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2004.

[3]潘文锋,王斌.基于内容的垃圾邮件过滤研究[D].北京:中国科学院计算技术研究所,2004.

[4]余本国.BP神经网络局限性问题的讨论[J].微计算机信息,2007(8).

[5]Sexton R S,Dorsey R E.Reliable classification using neural networks:a genetic algorithm and backpropagation comparison[J].DecisionSupport Systems,2000(30):11-22.

[6]Hua-Ping Zhang,Hong-Kui Yu,De-Yi Xiong,et al.HHMM-based Chinese Lexical Analyzer ICTCLAS[C].Sapporo Japan:2nd SIGHANworkshop affiliated with 41th ACL2003:184-187.

上一篇:卫生事业管理复习试题下一篇:文化产业管理考研科目