一种复合的双引擎智能垃圾邮件过滤方法.doc

上传人:吴起龙 文档编号:1592109 上传时间:2018-12-26 格式:DOC 页数:9 大小:18.71KB
返回 下载 相关 举报
一种复合的双引擎智能垃圾邮件过滤方法.doc_第1页
第1页 / 共9页
一种复合的双引擎智能垃圾邮件过滤方法.doc_第2页
第2页 / 共9页
一种复合的双引擎智能垃圾邮件过滤方法.doc_第3页
第3页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《一种复合的双引擎智能垃圾邮件过滤方法.doc》由会员分享,可在线阅读,更多相关《一种复合的双引擎智能垃圾邮件过滤方法.doc(9页珍藏版)》请在三一文库上搜索。

1、一种复合的双引擎智能垃圾邮件过滤方法随着因特网的迅猛发展, e mail已成为一种重要的通信方式。但由于其成本低廉、使用简单、传播迅速,因特网上出现了越来越多的不请自来的邮件垃圾邮件。这些杂乱的垃圾邮件不仅浪费了网络带宽,并且使得用户不得不花费大量的时间和精力来处理它们,严重影响了用户对电子邮件的正常使用。为了处理这些垃圾邮件,垃圾邮件智能分析,自动过滤技术已经得到一定的发展,尤其是近几年出现了许多优秀的技术成果;但是由于中文语境复杂,垃圾邮件识别的准确性和效率均不够高,使用单一技术过滤垃圾邮件的效果并不理想。本文对几种常用的过滤算法进行了研究、分析,并依据各算法的优缺点对其进行改进和相互结合

2、,以叠加的方式对邮件进行多层过滤,并通过各算法之间自动传递辅助信息来提高算法本身的智能化、精确度。本文提出了通过查看用户发出的邮件内容来进行辅助学习,从而提高自动获取知识的能力。最终建立一个能够适应中英文实际运行环境的综合垃圾邮件过滤方法。最后,通过仿真实验,对该方法的效率和性能和其他单一算法进行了分析和比较。 1常用过滤算法的比较 11基于规则配置的过滤方法 基于规则的过滤算法也称启发式算法,在垃圾邮件过滤技术发展初期使用最广。其原理是通过与预先设定的规则相比较来判定是否为垃圾邮件。 通常这些规则通过管理员手动设置一些特定关键字,如免费、优惠、特价等作为判断依据,因此,该算法需要长期定制和维

3、护这些规则,随着用户需求的不同而手动调整。 虽然该算法也能在一定程度上满足用户的需求,能够处理邮件头和正文,但是实质还是生硬的二值判断,局限在二维空间上进行处理,缺少可信度的知识;同时要求用户自己定义规则,对用户的专业素质要求高,用户需要花费很多时间定义自己的规则。另外规则的纯粹人工定制,可能考虑并不周全。 12黑名单方法 该算法的基本思想是将对方的IP地址或邮件地址存在一个数据库,作为过滤判断依据。当对方改变邮件地址或IP地址时,该方法就可能失去作用。这种算法到目前为止还是很常用的一种算法。当邮件到达时,过滤系统首先查看邮件首部的邮件发送者的地址,将地址和黑白名单中的地址进行比较,若处于黑名

4、单的地址就直接拒收,若处于白名单中的地址就接收。该算法的优点是简单明确,占用计算机资源少。但它有两个缺点: a)黑白名单在设定时必须准确。如果将友好地址列在了黑名单中,会造成误判。 b)黑白名单需要不断地更新和维护,并且通常无法涵盖所有的情况。因此,黑白名单算法的智能化不高,对一些预先不知道的垃圾邮件地址无法预防。 13基于统计的智能学习方法 中心矩向量就代表某一类邮件,如垃圾邮件或合法邮件。当一份新邮件经过过滤系统时,就将其与垃圾邮件或合法邮件的中心矩向量进行类似性比较,根据cosine函数值的大小来分类。 当然该算法存在的问题是可能某些出现过于频繁的词并不能真正代表该邮件(如是、但是等副词

5、)。解决该问题的办法是将dfi设定在一定范围,若dfi超出了一定范围,就不选用作为向量元素。 该算法是以某个词在邮件中出现的频率作为向量元素,所以它适用于各种语言环境。 15待解决的问题 综上分析可知,每种算法在过滤垃圾应用中均有其局限性。为此,本文中针对这种情况提出了一种复合智能算法。该算法对前面算法的优点进行了整合,尽量将一些需要手动操作的过程进行了自动化处理,同时也尽量为用户提供手动修改的灵活性。 2复合智能算法的设计 复合智能算法的出现就是解决传统算法过滤垃圾邮件存在的不足,该算法尽可能遵循的一个原则,即以一种尽可能准确的算法让用户尽可能少地参与配置过滤系统,并智能地学习用户需求和习惯

6、,区分垃圾邮件和合法邮件,达到准确地过滤垃圾邮件的目的。复合智能算法采用层次过滤架构。其中:黑名单算法过滤一些比较明显的垃圾邮件;白名单就直接接收一些合法邮件,减少了中间环节,规则算法采用自定义的规则过滤了一些邮件同时提供了算法的学习资料;贝叶斯算法和中心矩向量算法是整个算法的核心部分,它们对规则算法提供的垃圾邮件、白名单提供的合法邮件、用户发出的邮件和提取的邮件进行学习,过滤最后一部分垃圾邮件。黑名单算法必须是一种很保守的算法,黑名单库主要是用户手动配置,这样做不至于去拦截一些合法邮件,当然这种配置也不是必需的,只是很好地方便了用户。 复合算法的结构图如图1所示,主要包括邮件过滤功能、邮件分

7、词功能、邮件学习功能、邮件配置功能。 21邮件过滤功能 当一份邮件到达邮件过滤系统时,系统首先提取发送方的邮件地址或IP地址,查看邮件地址或IP地址是否在黑名单中,不过一般不提倡根据IP来判断,许多IP地址均是一些公共邮箱地址,一旦误判,后果严重。通常黑名单的提取方法都相当慎重。在本算法中,默认要让用户自己手动去提取。当然,系统也可以配置成自动提取方式,系统根据规则算法的最终阈值来提取黑名单。若邮件不在黑名单中,就查看邮件是否在白名单中;若在白名单中,就接收邮件,同时提取词汇让贝叶斯算法或中心矩算法学习;若不在,就让规则算法来判断。 规则算法也起了重要的辅助作用。为了使该算法达到零误判率,除了

8、提高算法的阈值外,要根据实际情况调整各规则的分值,现已有相关的工具来测试这些规则的有效性。不过在本算法中,系统可以自动测试这些规则,系统默认配置成定期检查这些规则的有效性,如让这些规则分别对系统中已经接收的垃圾邮件和合法邮件进行判别;若合法邮件被大量匹配,就说明要删除该规则或者降低其分值,有些规则被垃圾邮件大量匹配,但由于没有达到阈值漏报,而且在合法邮件中匹配值不高,就可以提高其分值。 22邮件配置功能 从图1中,看出用户可以查看收到的正常邮件和垃圾邮件,并且可以手动从中提取某些邮件的地址存入白名单或黑名单中。可能有些邮件从内容上讲是合法邮件,但是用户由于某些个人的原因不想收到该用户的邮件,用

9、户就可以将该邮件地址存入黑名单;同理,某些邮件从内容讲可能是属于垃圾邮件的范畴,用户由于需要,想收到该邮件,就可以将该邮件放入白名单库。 针对用户发出的邮件,系统会自动从其提取邮件地址列入到白名单中,同时也从邮件内容中提取词汇存入正常词库作为学习资料。通常情况下,用户发出的邮件是友好的,用户发出邮件的对象肯定是友好的,并且发出邮件的地址也一定是真实的。不仅如此,用户对于一封新到达的正常邮件通常会给予回复,而一旦回复,这封新邮件的发送方地址自然作为发出地址被记录下来。这样做的好处有两点: a)白名单信息是在用户正常使用邮件的过程中被自动获取的,用户无须额外的操作。 b)白名单具有很高的可信度,它

10、的正确性不会因为过滤系统的误判而降低。 同理,用户发出的邮件还将作为贝叶斯算法进行正常邮件学习的主要来源。用户发出的邮件内容通常与收到的正常邮件的内容相似,使用的语言习惯也是相通的。用户在回复一封正常邮件时往往会附带上原信件的内容,这些内容对贝叶斯算法和中心矩向量算法来说将是宝贵的学习资源。 23智能学习功能 本算法具有双引擎智能学习功能:一个引擎是贝叶斯算法;另一个引擎是中心矩向量算法。它们同时将中文词库和英文词库区分开来。贝叶斯算法主要用于过滤英文邮件,中心矩向量算法主要用于过滤中文邮件。这样做的目的是想充分发挥各种算法所长,贝叶斯算法已经被验证在英文环境下有良好的性能;中心矩向量算法在分

11、类性能和准确性上要优于贝叶斯算法2。如图1所示,智能学习算法学习资料来源主要有?嚼啵邯? a)由系统自动提取。通过从规则算法过滤的垃圾邮件,以及从用户这里发出的邮件,还有白名单算法接收的正常邮件,过滤系统可以提取学习资料。智能算法最重要的一点就是让用户可以不必手动参与过滤系统的操作,系统也能自动地过滤一些垃圾邮件。 b)由用户手动提取。手动参与并不是必需的,仅是提供了一个进一步优化系统的入口,用户选取的学习资料是最准确的,可进一步提高系统分类的准确性和效率。 鉴于目前许多邮件系统均要求用户手动提供资料给邮件系统学习,这就大大地降低了邮件的易用性。本智能学习算法将规则算法、黑白名单算法以及自动从

12、用户发送出去的邮件中提取相应的学习词汇结合在一起,既提高了邮件过滤的准确性和性能,又降低了用户操作负担。邮件配置功能也增加了用户有针对性地过滤垃圾邮件的灵活性。 24词库特征项的选择 文件的特征向量不可能包括所有的词汇,所以很有必要用一定的算法进行特征选择。 本文介绍的特征选择算法如下:首先,去掉一些出现频率过大又不起判别作用的代词、副词等,用ZipF规则来分析训练库中存放的垃圾邮件和正常邮件,分别除去邮件中出现次数少于三次的词汇。ZipF规则指的是出现次数排第二位的词汇出现的可能性是排在第一位的词汇出现可能性的1/2;排第三位的词汇出现的可能性是排在第一位的词汇出现可能性的1/3。如果出现次

13、数最多的词汇出现次数是N,则排在第二位的词汇出现次数为(i/iN)。 3复合智能算法的性能评估 通过实验将复合智能算法与其他算法进行比较(表1),得到一种总结性结果。本文采用200封正常邮件(包括100封中文邮件和100封英文邮件)和200封垃圾邮件(包括100封中文邮件和100封英文邮件)作为实验样本,每个样本均删除掉在邮件分类中那些不起作用的代词、副词等。本文算法实验效果的评价指标分别是查全率和误报率。 在表1中贝叶斯和中心矩向量算法都是先学习200封邮件,再过滤200封邮件。复合智能算法则是在自动化的过程中实现实验结果的。在本实验中,笔者发现复合智能算法查全率达到了95.2%,远远高于其他算法。若是用户再手动利用一下黑名单算法,调整一下规则算法和两种学习算法的学习资料, 复合智能算法在查全率和误报率方面会有更好的表现。当然随着用户手动发送邮件的增多,本算法学习资料的增多,过滤性能进一步提升。 4结束语 本文提出用一种复合双引擎智能算法来过滤垃圾邮件。实验结果表明复合智能算法要优于传统的算法中任何一种单一算法,而且最大程度地保持了算法的自动化和智能化,具有很高的适用性。但是为让该方法有更高的准确性,对词库特征项的选取还有待进一步的优化,而中心矩向量算法分类阈值的选择也需深入研究。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1