基于改进贝叶斯的垃圾邮件过滤系统设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于内容的过滤有关键字匹配和分类算法的方法。 关键字匹配是将垃圾邮件中可能含有的一些关键字放到 文件中,当来了一份新邮件时,匹配此信邮件中是否含有那些
基金项目:国家863资助项目“计算机病毒防范计划”(编号:863一104棚2-01)
作者简介:丁文斌(1982-),硕士。李斌,副教授。罗浩,博士。
万方数据
计算机工程与应用2005.18 127
关键字,有就认为是垃圾邮件。这种方法的误判率很高,因为在 垃圾邮件中出现的关键字在正常邮件中也可能出现,这种方法 越来越少使用了。
基于分类算法的过滤是用文本分类算法来对邮件进行过 滤。可以将邮件看作两类:垃圾邮件、正常邮件,将邮件看作向 量空间,计算垃圾邮件的相似度来判断是否为垃圾邮件。目前 主要的方法是朴素贝叶斯、SVM、KNN等算法。根据实验结果, 朴素贝叶斯的过滤效果最好而且速度很快,许多产品已经出 现,如foxmail、outlook中都有基于贝叶斯的邮件过滤功能。
图1贝叶斯分类器
对于这样的一个贝叶斯分类器,若有某一待分类的样本 D,其分类特征值为并=(并。,戈:,…,‰),则样本D属于类别G的 概率为P(C=CkIX=x),因而样本D属于类别G的条件要满足 式(1):
P(C=CklX=x)=Max{P(C=C。IX=x),…,P(C=cmⅨ≈)J而由贝
叶斯P公(c式-GⅨ础)=—P(X—=x可lC=压Ck)广P(C=Ck)
改进的贝叶斯分类器具有以下优点:减少了大量有用信息 的丢失,使分类精度提高了;在计算难度方面也是可以接受的。 是时间复杂度和精度的一种很好的折中。
圈2简化贝叶斯分类器
由于对给定的分类变量C,各置是相对独立的,因而有: 128 2005.18计算机工程与应用
万方数据百度文库
4系统的设计与实现 按照上面改进的贝叶斯方法设计了一个垃圾邮件过滤系
tional bayes method to filter spain,it treats email as a vector space out of order,deserting the relation of the words and the sentences.In the text,we treat email as ordering sentetces,and in every sentence,the words are out of order but have relations.The method reduces the loss of the information.The result illustrates that the improved method is better than the traditional bayes method.
图3 邮件训练子系统流程图
图4邮件识别子系统流程图 下面介绍邮件过滤系统中各步的关键技术和主要的方法:
4.1邮件预处理 根据RFC822及MIME协议对邮件进行解析,主要对邮件
格式的解析和对邮件内容的解码;得出邮件的主题和内容;对 于中文邮件,词与词之间没有明显的分隔符,因此必须对邮件 内容进行分词,为下一步特征提取作准备,该系统的分词用最 大正向匹配。 4.2特征提取
特征抽取的目的就是降低向量空间的维数,提高系统的速 度,提高系统的精度,防止过拟合[31。常用的特征提取的方法有 词条和类别的互信息、词条的统计、词条的期望交叉熵和文本 证据权等。该系统的特征提取方法用的是改进互信息【4】。其计算 公式如下:
RMI(r,Ci)=log[器×击】
山I ’●、
1+乞Ⅳ(Wk,Si)
目前控制垃圾邮件的方法主要是过滤,有基于IP、域名等 的过滤和基于内容的过滤。基于琅等的过滤主要用在MTA
(邮件传输代理)模块上,由于MTA的流量很大,基于内容的过 滤将大大降低服务器的工作效率。基于内容的过滤主要用在 MDA(邮件投递代理)和MUA(邮件用户代理)模块上。 1.2.1基于IP、域名等的过滤
壮1表示此特征在本邮件中存在。根据朴素贝叶斯公式计算是
垃圾邮件的概率和不是垃圾邮件的概率,然后比较这两个概率 的大小。计算公式如下(spam表示垃圾邮件,ham表示正常邮 件):
P(C=“spam”IXn=P(xX)f==x型iIC—="sp—鳓’—’琢)尸蕊(c=丁“印—啪—’’~)
P(c_“ham”IXH-P-(XxFx)。=l型c:—“h—am”—)P瓦(c=函“hram—’’一)
式中的分母P(X=x)和类别G无关,因而在式子(1)中比 较最大值时可以忽略,所以贝叶斯分类仅计算概率P(X=xlC= q)和P(C=Ck)。其中P(C=Ck)一般由经验得到,叫做先验概 率。而P(X=xlC=G)叫做似然函数【l】,表示在类别c。下X=x的 概率,它的计算则要困难得多。特别是对于特征数n较大,而且 特征变量之间相依程度较高时,其计算将是极其费时的。为简 化计算,可假定各个特征变量魁是相对独立的,则可采用一种 简化了的贝叶斯分类器(朴素贝叶斯),其结构如图2所示:
Filtering Spare System Based on Improved Bayes Ding Wenbin Li Bin Luo Hao
(State Key Lab of Network Information Security,Harbin Institute of Technology,Harbin 150001) Abstract:In this text,we have developed a new filtering spam system based on improved bayes.When using the tradi—
此方法将知道的一些经常发送垃圾邮件的IP、域名写入 一个黑名单中,在以后服务器接受邮件时,将发送邮件机器的 IP或域名和此黑名单匹配,如果在黑名单中,则拒绝接受。
国外用的比较多的是实时黑名单技术,它是基于IP、域名 等的过滤方法的扩展,在线的查询向本邮件服务器发送邮件的 机器的IP地址是否在此黑名单中,以多人的力量提供黑名单; 但是这种方法还是比较被动,只有被发现的IP才能被过滤掉, 而且在中国没有机构提供此实时黑名单。
统。图3是此系统的邮件训练子系统的系统流程图;图4是此 系统的邮件识别子系统的系统流程图。
邮件训练子系统是对训练库中训练样本进行预处理、提取 特征、进行训练,生成邮件过滤的知识库作为邮件过滤子系统 过滤时的依据。邮件识别子系统对未知邮件进行预处理、特征 提取、词之间相关性处理、按照过滤知识库算出概率,得出过滤 结果。
基于改进贝叶斯的垃圾邮件过滤系统设计与实现
丁文斌李斌罗浩 (哈尔滨工业大学国家网络信息安全重点实验室,哈尔滨150001)
E-mail:dingwenbin@pact518.hit.edu.ca
摘要该文设计并实现了一种基于改进贝叶斯的垃圾邮件过滤系统。传统的贝叶斯方法对邮件进行过滤时,将邮件视 为一个无序关键词的向量空间,丢掉了词与词之间,句子之间的相互关系。该文则将邮件视为句间有序,句子内部关键词 无序但是相关的部分有序的集合。减少传统方法处理时信息的丢失。得到的实验结果比传统方法更好。 关键词垃圾邮件 贝叶斯过滤器 文章编号1002—8331一(2005)18—0127-04 文献标识码A 中图分类号TP393.098
这种方法虽然过滤简单,速度很快;但是过滤效果较差,对 没有发现的发送垃圾邮件的IP和域名没有作用,不灵活。 1.2.2基于网络测量平台的过滤
在本地网的监测点将进出的与邮件相关的通信量汇聚成 邮件流,并区分成无效邮件流、正常邮件流和异常邮件流,然后 根据这3种邮件流的统计特性,检测出本地网中产生的广告 邮件、垃圾邮件病毒以及异常邮件行为,并通过基于策略的响 应机制实施拦截和预警。由于区分成无效邮件流、正常邮件流 和异常邮件流较困难,此方法目前的过滤效果还不是太好。 1.2.3基于内容的过滤
Keywords:spam,bayes,filter
1概述 1.1垃圾邮件简介
垃圾邮件就是那些你并不希望收到,并且你也没有订阅 过,但却被人利用电子邮件的特点强行塞入你的邮箱的广告、 产品介绍、发财之道等内容的电子邮件。垃圾邮件一次可以发 给很多人,在Intemet上同时传送很多副本;浪费了人们的大 量时间,一般人们需要至少10秒钟来判断是否为垃圾邮件,如 果每天收到几十封垃圾邮件,就得花大约十分钟的时间来处理 它们,实在是比较痛苦的事情;对于拨号上网的用户,不但造成 时间的浪费,还造成费用的浪费;大量的垃圾邮件充满邮箱,占 用大量的系统可用空问和资源,使机器暂时无法正常工作;过 多的垃圾邮件往往会加剧网络的负载能力和消耗大量的空间 资源来存储它们,过多的垃圾邮件还将导致系统的log文件变 得很大,甚至有可能溢出文件系统,这样会给Unix,Windows等 系统造成危害;除了系统有崩溃的可能外,大量的垃圾邮件还 会占用大量的CPU时间和网络带宽,造成正常用户的访问速 度成问题;垃圾邮件占用的带宽资源,严重时会拥塞整个Inter- net链路,中断Intemet的部分线路的运营而造成巨大的经济损 失,据CAUCE组织统计,消除垃圾邮件可为全世界小型企业 和个人每年节省940万美元;携带病毒的垃圾邮件直接威胁着 整个网络系统的安全。因此,消除垃圾邮件具有非常重要的意 义。 1.2 目前垃圾邮件处理技术
埘^=P(眠IG)=———菥生面i————一 Wl+乞乞N(W。,S{) 口=1 i=1
其中P(形lG)是矽在G中出现的比重。
IDI(训练垃圾邮件时,为以一;训练正常邮件时,等于k)
是该类的训练样本数,Ⅳ(形,S)为词形在S中词频。Jyl为总词 里曼
数,乞乞N(W。,S。)为该类所有词的词频和。
d=1 i=1
3改进贝叶斯分类器 图l中的贝叶斯分类器考虑了文本中各个特征之间的相
互关系,但是给计算概率造成了很大的困难,图2中的贝叶斯 分类器没有考虑各个特征之间的关系,简化了贝叶斯分类器, 减少了计算量,但是却忽略了很多有用信息,降低了分类的精 度。
该文所设计的贝叶斯分类器结合了以上两种分类器的优 点,将文本视为句子的有序序列;考虑句子内部各个特征词之 间相互激励圆,而在句子间的特征词,就忽略他们之间的相互关 系。对每一句话按照朴素贝叶斯公式计算概率,根据句子之间 的依赖关系,对计算出来的概率进行插值平滑,得到概率的序 列;然后将这些概率进行拟合得到最后的属于垃圾邮件概率和 不属于垃圾邮件的概率,比较这两个概率的大小,作出判断。
该文使用了基于内容的过滤,在传统的贝叶斯对垃圾邮件 进行过滤的基础上,改进了此算法。从实验结果可知,改进后的 方法比传统的方法具有更好过滤效果。
2贝叶斯分类器及贝叶斯邮件过滤器 2.1贝叶斯分类器
贝叶斯分类器即是用于分类工作的贝叶斯网。一个贝叶斯 分类器的结构如图1所示,该网中应包含一个表示分类的节点 C,变量C是类别集合{C。,c2,…,C0中的一个元素。另外还有一 组节点茗=(算,,并:,…,算。)表示用于分类的特征向量。
4.4词之间相关性处理 该系统是将邮件内容视为句子的有序集合,句子内部的词
若有: 尸(c_“spam”IX剐)<P(c-“ham”IX=x) 就判断为有用邮件,否则为垃圾邮件。 2.3贝叶斯过滤器的缺点 由以上分析可知,原始的贝叶斯方法得到的效果最好,但 是计算量很大,而且很难计算,是一个不可实行的方法;朴素贝 叶斯方法易于实现,但是过多地简化使得很多对于分类很有用 的信息丧失了,使得分类效果不好。 下文将要介绍一种改进的贝叶斯方法。是对以上两种方法 很好的折中。取各自的优点结合起来,来提高过滤的精度。
P(X=xlC=Ck)=FIP(xF%IC=C,)
i=1

P(C=CklX=x)=型—1琢万一 FIP(XI=xilX=x)P(C:q)
2.2贝叶斯邮件过滤器 贝叶斯邮件过滤器即一种贝叶斯分类器,即将邮件分成有
用和无用的(“垃圾”)两类。先提取反映邮件是否有用的特征向 量(X,,X:,…,瓦),如果Xi_O表示此特征不在本邮件中存在,
相关文档
最新文档