基于多项式朴素贝叶斯算法的垃圾邮件过滤器的设计与实现

2018-03-07 02:40李腾飞
科技资讯 2018年33期

李腾飞

摘 要:基于概率的朴素贝叶斯分类器因其算法复杂度低、分类精度高而被广泛应用于垃圾邮件过滤领域。该文在对传统朴素贝叶斯分类器进行分析的同时,结合垃圾邮件过滤的特性,设计并实现了基于多项式朴素贝叶斯算法的垃圾郵件过滤器。该过滤器引入拉普拉斯平滑因子降低合法邮件被误判为垃圾邮件的概率,得到了较好的分类效果。实验结果验证了方法的有效性。

关键词:垃圾邮件分类 多项式朴素贝叶斯 网格搜索 平滑因子

中图分类号:TP393.098 文献标识码:A 文章编号:1672-3791(2018)11(c)-0001-03

Abstract: Probability-based naive bayes classifiers are widely used in spam filtering because of their low algorithm complexity and high classification accuracy. In this paper, the traditional naive bayes classifier is analyzed, and combined with the characteristics of spam filtering, a spam filter based on polynomial naive bayes algorithm is designed and implemented. The filter introduces a Laplacian smoothing factor to reduce the probability that a legitimate mail is misjudged as spam, and a better classification effect is obtained. The experimental results verify the effectiveness of the method.

Key Words: Spam classification; Polynomial naive bayes; Grid search; Smoothing factor

随着互联网的迅速发展,网络改变了人们传统的通讯方式[1]。电子邮件因为其方便快捷而被人们广泛接受和使用。但是邮件系统的安全和可靠性依然是人们关注的焦点,尤其是垃圾邮件日益泛滥的问题更加值得我们去关注。根据中国网络不良与垃圾信息举报受理中心的数据显示,中国网民平均每周收到的垃圾邮件达12封,全国网民每年收到的垃圾邮件总计3700亿封。所以垃圾邮件严重干扰了正常的互联网秩序,研究并设计有效的垃圾邮件过滤器具有非常重要的现实意义。

白名单、行为监控、黑名单以及关键字过滤等是目前常用的垃圾邮件过滤技术,但这些过滤技术缺乏自适应性,面对内容多变的垃圾邮件其过滤效果不够理想。针对这一问题,面向内容的多项式朴素贝叶斯过滤器不仅具有自适应性[2],而且也可以根据用户需求进行个性化过滤,加之其算法复杂度低、分类精度高,故而被广泛使用。

1 朴素贝叶斯算法

1.1 贝叶斯原理在邮件过滤中的应用

18世纪英国学者贝叶斯提出了贝叶斯原理。根据贝叶斯原理,我们可以通过计算某事件已经发生过的频率来估计该事件未来发生的概率。基于此,贝叶斯理论被广泛应用于文本分类中。垃圾邮件过滤是文本分类中的二分类问题。在垃圾邮件过滤中,首先把收集到的非垃圾邮件和垃圾邮件划分为训练集和测试集,然后将训练集中的邮件用于分类器的训练,使用训练好的贝叶斯分类器对测试集的邮件进行分类,最终将该待分类归为概率最大的类别中去,从而准确地对垃圾邮件进行过滤[3]。

1.2 朴素贝叶斯分类器

其中:P和r分别为类别ci的正确率和召回率,TP为被正确判定为类别ci的文本数量,FP为被分类器错误判定为类别ci的文本的数量,FN为实际属于类别ci但被分类器判定为其他类别的文本数量。现实中,我们并不希望非邮件被错误划分为垃圾邮件,也就是说在垃圾邮件分类过程中我们希望的FP值为0,即式(7)的值为1。表1列出了不同平滑因子对应的正确率、召回率和精确率;表2列出了精确率为1时对应的平滑因子、正确率和召回率。

从实验结果中可以看出,改变平滑因子的大小会对分类结果产生显著影响。当取16.4、16.5、16.6或16.7时,对应的精确率为1,且此时的正确率和召回率均不变。

4 结语

本文描述了一种基于多项式朴素贝叶斯算法的垃圾邮件过滤器的设计与实现方法,该方法包括数据集预处理、特征工程、分类器分类和分类性能评估4个部分。数据集预处理是指将数据读入计算机内并划分训练集和测试集,同时进行分词和去停用词操作;特征工程把预处理后的特征词转化为对应的特征向量;使用特征向量训练多项式朴素贝叶斯分类器,把训练好的分类器应用在测试集上;最后使用正确率、召回率和精确率评估分类性能。实验结果表明该系统实现了较高精度的垃圾邮件分类,并且可以保证所有非垃圾邮件都能被正确分类。

参考文献

[1] 周文霞.现代文本分类技术研究[J].武警学院学报,2007,23(12):93-96.

[2] 王国才.朴素贝叶斯的研究与应用[D].重庆交通大学,2010.

[3] 谢小民.基于朴素贝叶斯的垃圾邮件过滤算法设计研究[J].电子技术与软件工程,2014(15):42-43.

[4] 张龙飞.基于互信息的朴素贝叶斯改进模型研究[D].吉林大学,2010.

[5] 杨赫,孙广路,何勇军.基于朴素贝叶斯模型的垃圾邮件过滤技术[J].哈尔滨理工大学学报,2014(1:49-53.

[6] 陆旭.文本挖掘中若干关键问题研究[M].北京:中国科学技术大学出版社,2008.

[7] 尚文倩.文本分类及其相关技术研究[D].北京交通大学,2007.