一种改进自动更新的中文邮件过滤模型的设计

时间:2022-05-08 01:26:17

一种改进自动更新的中文邮件过滤模型的设计

摘要:该文提出了一种改进的基于用户操作信息自动学习的贝叶斯算法,该算法在最小风险贝叶斯算法的基础上,自动学习新样本,弥补了传统的贝叶斯分类器不能及时更新的缺陷。建立自动更新的中文邮件过滤模型,通过搭建实验平台测试对比分析改进的基于用户操作信息自动学习的贝叶斯算法的综合性能。

关键词:中文邮件过滤模型;贝叶斯分类算法;自动学习

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)20-4706-04

根据卡巴斯基实验室数据,2012年垃圾邮件占所有电子邮件平均比例为72.1%。较2011年相比,下降了8.2个百分点。垃圾邮件数量下降的主要原因,是反垃圾邮件保护整体水平上升造成的。尽管电子邮件总数中的垃圾邮件比例有明显下降,但是电子邮件总包含恶意附件的邮件比例仅下降了3.4%。这一比例仍然很大,因为这一比例仅代表那些包含恶意附件的垃圾邮件,不包括那些具有指向恶意网站链接的电子邮件。同时2012年恶意电子邮件所使用的主题范围也更为广泛。垃圾邮件者主要假冒托管服务商、社交网络、快递公司、航空公司、酒店预定服务、优惠券服务以及金融机构和政府机构发送垃圾邮件。由于垃圾邮件和入侵、病毒等的结合越来越密切,黑客把垃圾邮件作为发动攻击的重要平台。垃圾邮件过滤功能目前被应用到所有电子邮件系统中,甚至免费的邮件系统。在垃圾邮件过滤过程中,用户最不愿意接受的就是将合法邮件误判为垃圾邮件,传统贝叶斯算法没有考虑到这种误判给用户带来的损失。由于目前垃圾邮件的形式千变万化,这就要求垃圾邮件过滤器必须随着垃圾邮件的变化而自动更新。因此本文从朴素贝叶斯算法出发,提出了最小风险贝叶斯邮件过滤算法和改进的基于用户操作信息自动学习的贝叶斯算法,该算法自动学习新样本,将新样本中新出现的特征信息能够自动添加到过滤器特征词库中,并自动更新分类器,弥补了传统的贝叶斯分类器不能及时更新的缺陷。用户能根据需求调整损失因子的大小,通过引进的一种最小风险贝叶斯决策规则来减小给用户造成的损失,达到较理想的过滤性能。

1 一种改进的基于用户操作信息自动学习的贝叶斯算法

1.1最小风险贝叶斯决策与算法

1.1.1 最小风险贝叶斯决策规则

假设邮件样本可由特征向量[tei]表示,决策空间由[n]个决策[βi,i=1,2,…,n]构成,状态空间由[m]个状态[εj,j=1,2,…,m]构成,则用损失函数[λ(βi,εj)]表示状态[εj]采取的决策[βi]时的损失,[λ]称作损失因子。

已知先验概率[P(εj)]和类条件概率[P(tei|εj)],[j=1,2,…,m],因此在此条件下,根据贝叶斯公式,后验概率的公式为:

由于损失因子[λ]的引入,在考虑误判带来的损失时,就应该考虑如何作出的决策才能使损失最小化。对于特征向量[tei],故在采取在采取决策[βi]时的条件期望损失为:

所谓条件风险就是采取决策[βi]时的条件期望损失值。若将得到的[n]个条件条件期望损失值排序,我们就能很容易找出决策[βk]使条件风险最小,即使条件风险最小的决策[βk]为:[F(βk|tei)=mini=1,2,…nF(βi|tei)],则找出的决策[βk]就是最小风险贝叶斯决策。

1.1.2 最小风险贝叶斯邮件过滤算法

在实际的邮件分类中,将待分类邮件分为垃圾邮件和合法邮件两类(即[n=2]),易知邮件类别[ε={ε1,ε2}],若我们用[ε1]表示垃圾邮件类别,[ε2]表示合法邮件类别。同时决策[β]也有两类:一类是把待分类的邮件叛定为垃圾邮件,用决策[β1]表示,另一类是把待分类邮件判定为合法邮件,用决策[β2]表示,则有:[β={β1,β2}]。故由判断所引起的损失可以分为以下几种情况:

1)把垃圾邮件判定为垃圾邮件,其损失为[λ(β1,ε1)];

2)把垃圾邮件判定为合法邮件,其损失为[λ(β2,ε1)];

3)把合法邮件判定为垃圾邮件,其损失为[λ(β1,ε2)];

4)把合法邮件判定为合法邮件,其损失为[λ(β2,ε2)]。

由于在邮件分类过程中,将垃圾邮件分类为合法邮件的过程很普遍,假定情况(2)的损失设为1,而情况(3)所带来的损失远远大于情况(2)的损失,故可将合法邮件判定为垃圾邮件的损失设为[λ(1≤λ≤+∞)](表示将一封合法邮件判定为垃圾邮件所带来的损失相当于将一封垃圾邮件判定为合法邮件的损失的[λ]倍)。建立决策损失表如表1所示。

通过上面的分析,在此基础上定义阈值[q=λ1+λ],用它来反映用户对垃圾邮件的误判和对合法邮件误判的权重,即当[P(ε1|tei)≥q],将[tei]分类到合法邮件的损失比归类到垃圾邮件的损失大。若[λ=1],易知[q=0.5],此时相当于下朴素贝叶斯分类决策;若[λ=9],[q=0.9],由此表明把1封合法邮件的误判与把9封垃圾邮件的误判带来的损失相当。

1.2 改进的自动更新的贝叶斯增量学习算法描述

自动学习过程可简单描述为:首先用训练集[D]进行学习,得到分类器[C],然后利用分类器[C]依次测试集[T]中的样本例[e'i]进行分类,得到新的类别标签[C'i],最后通过用户的操作信息对[C'i]进行修正。将[](若用[CSP]表示垃圾邮件,[CLE]表示合法邮件,则有[C'i∈{CSP,CLE}])加入到训练集[D]中,更新分类器参数,直到完成测试集的测试。利用最小风险贝叶斯邮件过滤思想,从测试集[T]中选定[e'i∈T],在[D'=D+{}]的情况下去估计[T-具体算法过程描述如下:

输入:训练样本集[D={,,…,}],测试样本集[T={e'1,e'2,…,e'm}];输出:分类器[C]。

具体算法步骤:

1)在训练样本集[D]上,用本文所述的最小风险贝叶斯邮件过滤算法,学习贝叶斯分类器[C]。

2)如果测试样本集[T]为空,算法结束,并返回贝叶斯分类器[C],否则继续学习。

3)假定[ML]=一个足够大的数,对每一个[e'j],[ej∈T,j=1,2,…,n],重复下列步骤①~③:

① 根据现有分类器[C],对测试实例[e'i]进行分类,得到类别标签[C'i],根据用户操作信息修正[C'i],对现有分类器[C]进行自动更新,得到新的较为准确的[C'i];

② 在[D'=D+{}]的情况下,对测试集[T-{e'i}]中的每个样本[e'i]进行分类,使用公式[Lost(D')=x∈T-{e'i}(eSPLE)+λ×x∈T-{e'i}(eLESP)]分别计算其分类损失[Lostj],最后得到分类损失和[SL=j≠iLostj];

③ if([SL

then{ [ML=SL;e=e'i;c=c'i;]};

4)令[D=D+{},T=T-{e},]更新贝叶斯分类器,转到步骤2)。算法结束。

1.3 获取用户的操作信息

用户利用这三个邮件箱整理新收到的邮件:收件箱用于存放合法邮件,垃圾箱用于存放垃圾邮件,废件箱用于存放用户直接删除的邮件。用户的操作信息使用如下规则:

1)用户将邮件[m]从收件箱移动到垃圾箱,表明分类器将邮件[m]判定为合法邮件,而实际上[m]是一封垃圾邮件;

2)用户将邮件[m]从垃圾箱移动到收件箱,表明分类器将邮件[m]判定为垃圾邮件,而实际上[m]是一封合法邮件;

3)用户直接将收件箱中的邮件[m]删除,表明分类器将邮件[m]判定为合法邮件,而实际上[m]是一封垃圾邮件,删除的邮件自动保存到废件箱中;

4)除上面三种操作外的邮件,分类器的分类正确。

2 改进的自动更新的中文邮件过滤模型的设计与实验测试

2.1 改进的自动更新的中文邮件过滤模型的设计

贝叶斯邮件分类算法从根本上讲就是通过对分析训练样本中各邮件的特征来判断一封新邮件属于垃圾邮件的概率,但是训练集样本通常情况下都十分有限,里面的数据也不完整,因此对于新出现的邮件,就不能保证分类的准确性。在邮件分类的过程中,不但要考虑到如何对所分类的邮件作出正确的分类判断,而且还要考虑到误判时会给用户造成的影响。这就要求过滤器能够不断学习新的邮件样本,将新样本中新出现的特征信息能够自动添加到过滤器特征词库中。因此本文在设计过程中引入了最小风险损失的概念,并且加入了根据用户的操作信息自动更新原分类器的步骤,使得分类效果更能适应不断变化形式的垃圾邮件。因此,该文引进了一种最小风险贝叶斯决策规则来减小给用户造成的损失,改进的自动更新的中文邮件过滤模型如图1所示。

2.2 实验测试结果分析

本文的邮件样本集采用的是中国教育科研网的测试语料集。其中垃圾邮件语料集中含有垃圾邮件20316封,合法语料集中含有合法邮件9048封。在本文的试验中,所使用的邮件样本集是从该测试语料集中选取的合法邮件样本600封及垃圾邮件样本1200封,经过反复交叉实验构成的。该文所使用的测试集来自精心收集的邮件,其中含有垃圾邮件638封,合法邮件239封。本实验引入损失因子[λ],采用最小风险贝叶斯算法,进行特征项以及取特征数的数量得出如何选取特征数量和损失因子[λ],才能使分类效果达到最理想。下面将分析改进的基于用户操作信息自动学习的贝叶斯算法的综合性能。第一种算法采用最小风险贝叶斯过滤算法,但该算法不能自动学习用户操作信息;第二种算法采用改进的基于用户操作信息自动学习的贝叶斯算法。根据前面的实验分析,选取特征数量为200,[λ=9]。选取的邮件份数以50为基本单位,从100封依次递增到550封,评判指标选用[F]值,其测试结果如图2所示:

从图2的实验结果可以得出:第一种方法的分类精度随着测试集数量的增多,F值呈现出下降的趋势,并且分类效果不稳定;第二种方法的分类精度明显高于第一种方法的分类精度。并且随着测试集邮件数量的增多,呈现出上涨的趋势。

通过对以上实验分析,可得以下结论:

1)特征数量的选取一定要适量,而不是越多越好,因为特征数量的增加会加重分类器的运算负担,并且随着特征数量增加到一定值时,分类的效果趋于稳定状况,再增加特征值数量可能会出现降低分类效果的情况。

2)如果将损失叶因子[λ]引入算法中,最小风险贝叶斯过滤算法的性能优于传统贝叶斯过滤算法;改进的基于用户操作信息自动学习的贝叶斯算法的性能优于最小风险贝叶斯过滤算法。

3 总结

由于最小贝风险贝叶斯过滤算法不能自动更新,该文引入最小损失因子对其进行改进,根据用户对邮件的操作信息提出了一种改进的基于用户操作信息自动学习的贝叶斯算法,建立中文邮件过滤模型,通过搭建实验平台进行测试,得出了实验结果。

参考文献:

[1] 叶嫣,李培国.基于神经网络的中文垃圾邮件过滤系统研究[J].电脑知识与技术,2011(8).

[2] 王纲,李诚.基于贝叶斯理论的垃圾邮件算法研究[J].齐齐哈尔大学学报(自然科学版).2012/01

[3] 陈琴,梁家荣. 基于遗传算法和发送行为的垃圾邮件检测模型[J].广西大学学报:自然科学版,2010,35(6):1007-1010.

[4] 梁志罡.电子邮件病毒传播模型的研究[J].计算机技术与发展,2011,21(1):158-161.

[5] 马小龙.一种改进的贝叶斯算法在垃圾邮件过滤中的研究[J].计算机应用研究,2012(3).

上一篇:SAP R/3账号权限管理方法及应用浅谈 下一篇:企业产品设计决策中对ERP系统的有效应用