两段式反垃圾邮件过滤方法的研究与实现

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:a242269752
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:电子邮件给人们通信带来便利的同时,垃圾电子邮件也泛滥成灾,设计一种有效防垃圾邮件的方法势在必行,单纯利用支持向量机与朴素贝叶斯算法仍存在局限性,将支持向量机超平面快速分类的特点与朴素贝叶斯算法的弹性相结合,设计实现两段式的垃圾邮件过滤方法。
  关键词:反垃圾邮件;两段式;支持向量机;朴素贝叶斯算法
  中图分类号:TP391.1 文献标识码:A 文章编号:1009-3044(2018)23-0052-03
  Abstract: Spam emails are flooded meanwhile e-mail brings convenience to people, It is imperative to design an effective anti-spam method. There are still limitations in using support vector machine and Bayesian algorithm alone. In this paper, combine the characteristics of fast classification of SVM hyperplanes with the elasticity of Naive Bayes algorithm, design and implement two-stage spam filtering method.
  Key words: Anti-Spam; Two-stage; Support Vector Machine; Naive Bayes algorithm
  1 引言
  電子邮件是现今人们之间交流的常用方式之一,其快捷、低成本、信息多样化的特点使其成为互联网上应用最广泛的服务。统计数据显示,2017年的电子邮件数量同比增长了18%,绝大部分用户在进行商务活动时仍选择电子邮件进行沟通交流。伴随着电子邮件需求度、使用量的提高,也出现了垃圾邮件泛滥现象。垃圾邮件的处理会让企业浪费大量时间以及人力资源成本,甚至造成生产效益降低。此外垃圾邮件的内容低俗,会对中国目前超1.69亿名上网的未成年青少年造成不良影响。垃圾邮件内容还包含“网络钓鱼”诈骗术,以假冒金融机构发布信息诱骗使用者,获取其银行账号、密码等[1]。设计高效的垃圾邮件过滤方法势在必行。
  2 过滤垃圾邮件的理论方法
  针对垃圾邮件带来的困扰,过滤垃圾邮件的方法或理论也推陈出新,但总有漏网之鱼,正所谓“道高一尺,魔高一丈”,拦截率达到百分之百实在太难,但好的过滤机制应该从低误判率做起,在此基础上再追求高拦截率。现流行的垃圾邮件判别与过滤的方法和理论主要有支持向量机[2]和贝叶斯算法[3]等。
  2.1 朴素贝叶斯算法
  Spam Assassin已嵌入贝氏算法作垃圾邮件过滤[5]。其最大优点在于经由贝氏算法计算后,会针对邮件产生一组易于识别的机率分数,届时与用户在邮件服务器所设定的阈值进行比对,若分数超过阈值,则判定该文件为垃圾邮件,而阈值又可依经验设定,如果发现过滤器误删过多正常信件,可以将阈值订得较为宽松,就个性化而言,贝氏分类法算是较弹性的一种规则。
  2.2支持向量机
  支持向量机是一种用于机器学习的算法,其核心思想是针对训练数据集,利用定义的特征值[6],以数学的方式训练函数,计算出一个最理想的超平面,然后通过此超平面分类测试数据判断其准确率,当准确率超过一个标准值又有意义,即可分类新的未知数据,将所有欲分类的数据快速分类到正确的类别。其基本方法论是在建构一个线性分割超平面,以线性的模式去执行非线性的分类范围,而该超平面则是由最大化正集与负集间距离所得出的。由于分类垃圾邮件时会有大量的数据与特征值,其训练过程将耗费不少时间,但使用支持向量机通过数学的方式可以让事后整体分类速度大幅提升,达到极佳的分类效果。
  3 垃圾邮件过滤方法设计
  将SVM分类算法所能形成的模糊区间及快速分类的特性与贝氏算法通过样本的大量建立及提高机率分数给予的准确性进行有效整合,以期取得更好的过滤效果。在邮件样本的选取上,分为训练样本与测试样本。训练样本用于挑选SVM关键词以及贝氏关键词数据库的建立。按照垃圾邮件比正常邮件为4:1进行取样,按照中、英文邮件分类,各取垃圾邮件为800封,正常邮件200封。测试样本也中英文邮件分类,样本数量中、英文各取垃圾邮件与正常邮件500封。样本来源方面,英文邮件使用ling-spam、TREC Spam Corpus[6]以及个人收集的混合型样本;中文邮件则为收集多位用户信件的混合型样本,其中测试样本与训练样本为个别收集。实验流程主要以程序训练、挑选SVM关键词、SVM分类、决定SVM分类后模糊区间范围,以及贝氏算法计算器率分数。
  3.1 训练关键词
  训练关键词的方式以统计式断词法的概念与程序纪录字词出现次数为主,包括在垃圾邮件中出现次数、正常邮件出现次数、垃圾邮件中出现封数,与正常邮件出现封数等信息。其中“出现封数”为关键词在不同邮件类别出现过的封数纪录,可适用于决定SVM分类的[7]关键词挑选条件,以及贝氏数据库中关键词机率分数的纪录。
  在关键词的撷取上,中英文样本方法不同。英文主要以空格符或标点符号来决定撷取单字的位置,而后挑选出来做次数、封数的纪录。由于英文在信息索引上较容易识别,且单字通常即可代表完整意义,故关键词的决定则以其在文件中出现的次数、封数的频率为主。然而有些单字出现频率虽高,但却不具备关键字特性,如人称代词、连接词等。对于中文字词的撷取,由于一个全角中文字大小为2bytes,且文句中字与字,或词与词之间并没有明显的空白或标点符号隔开,加上目前的中文邮件事实上多属中英文夹杂信件,因此在断词方法上采取以ASCII码比对,分离出英文或中文字,再进行英文关键词的训练,以及中文字符串的断词,纪录其出现次数与封数。针对中文断字以每两个中文字做断词,超过两个字以上的词句,实际上也以两个字为基本单位。另外,以每两个字做断词或许有些词不具意义,但在样本数量足够的训练情况下,具有意义的关键词排序也会靠前。   3.2 Information Gain
  3.3关键词转换SVM特征向量
  经由Information Gain计算关键词分数后,分别撷取“垃圾信关键词”与“正常信关键词”并分成两个方向。
  (1)Overlapping Keywords: 垃圾邮件关键词的条件是垃圾邮件的封数大于正常信件出现的封数,且按Information Gain值由大至小排序,取前100名;同样的正常邮件关键词是正常信件的封数大于垃圾信的封数,按Information Gain值排序取前100名,然而在训练样本中,正常邮件为200封,加上一般正常邮件的性质为字数较少、无特定类别,因此最后训练出来符合上述条件的正常信关键词自然比垃圾信件的关键词数量少。
  (2)Independent Keywords: 垃圾邮件关键词条件为其在正常信件中出现次数为0者,再依Information Gain值排序挑选前100名;正常信关键词的挑选以此字词在垃圾信件中出现次数为0,再依Information Gain值排序挑选。如上述提及正常信件的性质,符合此条件而产生的中文邮件关键词共111个,英文邮件共109个。之后依决定的关键词,利用LIBSVM分类工具将其转换成SVM向量。
  3.4 SVM设定与训练
  SVM型态为Classification中的C-SVC,而核心函数则选择RBF。主要目的在于C-SVC能依靠设定的参数-c与-g,训练出将错误最小化的超平面,而参数-c和-g的训练,LIBSVM内所附的grid.py程序能经由反复测试,找出最佳的c值与g值,之后在执行训练程序(svmtrain.exe)时将参数键入。
  3.5 设定边界范围
  经由SVM分类后的资料,主要以正、负极区分,即[y=w·x b=0]计算后大于0者属于垃圾邮件,小于0者则判为正常邮件。在实际情形中,预测信件通常与数据库训练样本不重复,又很有可能一封正常信,因出现少许偏向垃圾信的关键词,经计算后结果为 0.002,依SVM分类的规则,将此封邮件归为垃圾信,但其所处的平面空间,距离超平面其实是很近的。故为了避免类似的偶发情形出现,需要设定一个特定范围,将落在接近[y=w·x b=0]两侧模糊区的数据挑选出来交由第二层贝氏过滤法计算。在SVM超平面边界的决定上,采用四种范围来确定需进行第二道过滤的数据:
  (1)[-1? 1]:测试数据经由SVM计算后,其值落在此范围者,挑选出进行贝氏计算。
  (2)[-0.5? 0.5]:测试数据经由SVM计算后,其值落在此范围者,挑选出进行贝氏计算。
  (3)Maximum Distance: 额外训练一组数据集,挑选其被判错中正极最大值与负极最小值,以此二者间距离作为下一组资料在SVM分类后被挑选出的范围。
  (4)Average Distance: 额外训练一组数据集,挑选被判错中正极所有值的平均与判错中负极所有值的平均值,以此二者间距离作为下一组资料在SVM分类后被挑选出的范围。
  上述(1)、(2)属于固定对称范围,(3)、(4)属于不对称范围随着训练数据改变而变动的边界范围,范围距离越大,被挑选出的数据量会越多,造成原先SVM已正确分类的数据,还会有再次经历贝氏计算的机会。决定边界范围后,将待测数据交由SVM测试,分数产生后将落在范围内的数据选取出,不论其当初SVM判别的准确度都将进行贝氏过滤。
  3.6 贝氏过滤法的实作
  针对从SVM模糊区间挑选出的数据,以贝氏数据库关键词的机率分数作运算,并以默认阈值分数作为其垃圾邮件抑或正常邮件的判断依据。根据贝氏算法,任意关键词经由计算后所得的机率分数,可视其为一独立事件,可对其作数学运算。以关键词“专业”来看,其在垃圾邮件样本中出现的机率为0.8889,在文件类别只有二种的情况下,“专业”相对于出现在正常邮件样本中的机率即为0.1111。明显可看出此关键词出现在垃圾邮件的机率较高,故此关键词可获得一个机率分数0.8889-0.1111=0.7778,且隶属于垃圾信的关键词,同样的方法亦可建立一套正常信的关键词机率分数。
  获得上述贝氏关键词机率分数数据库后,针對待测邮件的记分,本研究提出四种记分方式,即改进的贝氏机率演算方式,其中[P(Wi)]为垃圾信关键词的机率分数,[P(W’i)]为正常信关键词的机率分数,[Ni]为关键词在单一文件中出现的次数:
  (1)[iP(Wi)-iP(W’i)]:所出现所有垃圾信关键词机率累乘-所出现所有正常信关键词机率累乘。
  (2)[iP(Wi)*Ni-iP(Wi’)*Ni’]:所出现垃圾信关键词机率乘上此字出现次数后累乘-所出现正常信关键词机率乘上此字出现次数后累乘。
  (3)[iP(Wi)-iP(Wi’)]:出现所有垃圾信关键词机率累加-所出现所有正常信关键词机率累加。
  (4)[iP(Wi)*Ni-iP(Wi’)*Ni’]:所出现垃圾信关键词机率乘上此字出现次数后累加-所出现正常信关键词机率乘上此字出现次数后累加。
  4 结论
  就内容比对的垃圾邮件过滤方法而言,特征值、关键词的选择与撷取非常关键。将测试的数据集与起始训练关键词、特征值的数据集分开收集是合理的。在关键词的训练与决定方面,针对不同算法则有不同的方式,目的也是希望结合二者优势,发挥最大功效。同时通过实验验证了两段式垃圾邮件分类过滤的可行性与准确性。
  参考文献:
  [1] 刘文艳.企业应如何防止网络钓鱼[J].计算机与网络,2018,44(5):55.
  [2] 王振武,孙佳骏,尹成峰.改进粒子群算法优化的支持向量机及其应用[J].哈尔滨工程大学学报,2016,37(12):1728-1733.
  [3] 杨雷,曹翠玲,孙建国,张立国.改进的朴素贝叶斯算法在垃圾邮件过滤中的研究[J].通信学报,2017,38(04):140-148.
  [4] 赵健.基于MVC的网络信息安全模型设计[J].电脑知识与技术,2013,9(34):7720-7724.
  [5]王新艳基于行为的垃圾邮件过滤技术研究[J].计算机光盘软件与应用. 2015(3).
  [6] 李玉峰.基于hMailServer与SpamAssassin的垃圾邮件过滤服务器的搭建[J].内蒙古农业大学学报(自然科学版),2017,38(01):89-92.
  [7] Cheng HuaLi,Jimmy Xiangji Huang. Spam filtering using semantic similarity approach and adaptive BPNN[J]. Neurocomputing,2012,92.
  [8] Information gain based sensor search scheduling for low-earth orbit constellation estimation[J].Journal of Systems Engineering and Electronics,2011,22(06):926-932.
  【通联编辑:王力】
其他文献
以玉米籽粒为原料,以膨化度为指标,在单因素试验基础上,采用响应面分析法研究挤压工艺条件对玉米籽粒膨化特性的影响,并分析其主要理化特性.结果表明,回归方程能较好地预测玉
摘要:气象数据分为结构化数据与非结构化数据两类。对于非结构化气象数据的存储来说,需要解决存储空间和存储方法两个问题。该文根据非结构化气象数据按日期命名文件的特性,通过批处理脚本编程方式,實现非结构化气象数据按照日期自动建立文件夹,定时分类存储。  关键词:批处理;气象数据;存储  中图分类号:TP316 文献标识码:A 文章编号:1009-3044(2018)23-0039-02  1 背景  气
从国内现有使用不同燃料的陶瓷隧道窑的热能利用率、千克瓷能耗等热工性能的现状,分析了各种燃料的燃烧性能及不同的燃烧系统设置对窑炉热工性能的影响,认为洁净的气体燃料和
以裂解碳九为原料,经解聚、精馏、加氢制备环戊烷及芳烃溶剂油的工艺进行了论证,重点考察了双环戊二烯解聚分离及C5/C9混合加氢条件.实验表明:裂解碳九在190℃时双环解聚率达
请下载后查看,本文暂不支持在线获取查看简介。传统三峡木版年画的衰落与蜕变@崔毅 Please download to view, this article does not support online access to view profil
由《中国食品》杂志与新华网融媒体产品创新中心共同组织的新华网重点科普类视频栏目“舌尖上的安全·国家荣誉·中国好食品”品牌甄选活动自2017年1月8日启动以来,由两大媒
期刊
以马来酸酐和十八醇为原料,以对甲苯磺酸为催化剂,制备马来酸双十八醇酯。研究了适宜的反应时间、原料配比、催化剂用量以及携水剂对酯化反应的影响。并用红外光谱(IR)对马来
2005年6月25日,500kV南京江北变(现改为三汊湾变)至南京东善桥变电所输电线路(含500kV大胜关长江大跨越)投运。至此,江苏电网建设重头戏——500kV西通道输变电工程全线竣工投
如今建筑行业逐渐的朝着高层级和全能型的方向前进,因而对于建筑的水平也相应的做出了更高的指示.为了适应建筑当前的新要求,建筑机构同样的也需要逐渐的参照新型的操作形式,
请下载后查看,本文暂不支持在线获取查看简介。三峡奇遇──小记“中国一绝”姜祚正@李华章 Please download to view, this article does not support online access to vie