贝叶斯技术在反垃圾邮件中的应用研究_朴素贝叶斯反垃圾邮件
贝叶斯技术在反垃圾邮件中的应用研究由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“朴素贝叶斯反垃圾邮件”。
淘宝网减肥药排行榜 易购网
贝叶斯技术研究及在反垃圾邮件系统中的应用
王鹏飞王腾
(浙江广厦建设职业技术学院 信息与控制工程学院,浙江 东阳322100)
摘 要:贝叶斯方法在垃圾邮件处理上具有速度快、准确率高的优点,基于贝叶斯分类的垃圾邮件分类方法受到广泛的关注。我们主要研究制约中文邮件过滤效果的中文分词方法,比较基于统计的多种方法,并根据需要对其中几种算法进行改进。关键词:贝叶斯技术垃圾邮件分布式过滤协作更新
Research and Application of Bayesian in Anti-Spam systems
Wang PengfeiWang Teng
(Computer & electric engineering Institute, Guangsha College of Applied Construction Technology, Dongyang 322100)
Abstract:At present, Anti-Spam technique is a research hotspot in international academe.There into Bayesian has high speed and high nicety rate in dealing with junk mail, therefore Anti-Spam based on Bayesian has been widely paid attention.The emphases of text in carnets Chinese participial ways of restricting Chinese mail filtration effect, comparing multi-ways based on statistic and improves some arithmetic on demands.Keywords:Bayesian;Spam;Distributed filtering;Collaboration update引言
垃圾邮件目前己经成为世界各国共同面临的棘手问题。安全厂商Sophos发布了一份报告,列出了2006年的12个垃圾邮件大国。美国是垃圾邮件第一大国,是全球22%的垃圾邮件的发源地。中国的垃圾邮件问题同样不容乐观。根据中国互联网协会反垃圾邮件中心2006 年第二次反垃圾邮件调查报告的统计,中国互联网用户平均每周收到垃圾邮件数量为17.43封,占到了用户接收邮件的61.99%。贝叶斯基本理论
贝叶斯统计源于英国学者贝叶斯撰写发表(1763年)的一篇具有哲学性的论文:《An Eay Towards solving a problem in the doctrine of chances》,后来发展形成了贝叶斯学派。Stanford大学的 Sahami(1998)最早把Bayes方法用于到垃圾邮件过滤,取得了较好的效果。
2.1向量空间模型(Vector Space Model)
邮件是一个无结构的文本,需要把它表示成一个向量才能进行计算。一般采用向量空间模型来实现邮件向量化。
定义长度为l的词汇表V{w1,,wj,,wl},对于长度为m,由单词(称为一个Token)
即中的分量表示词汇表V的对应位置的单词是否在d中出现。
收稿日期:2008-04-15
作者简介:王鹏飞(1981-),男,安徽肥东人,硕士,教师,主要从事数据挖掘和无线网络技术研究。k顺序组成的邮件d{w1,,wm}定义一个向量x1,,xi,,xj,其中xi{0,1当wid时,xi=1,否则xi=0。},2.2Naive Bayes公式
Naive Bayes邮件过滤算法是基于内容的垃圾邮件过滤方法中的一种简单有效的法。它的原理是把一封邮件dx当作一份文本文件,来进行文本分类。
邮件dx属于邮件类别集合cj中的一种,这里 C={Cspam,Clegit}
贝叶斯用于垃圾邮件过滤时,通过计算邮件dx属于某个类别cj的概率P(cj|dx),对该邮件进行分类。计算公式如下:
P(c j | dx)
P(cj)P(dx|cj)
P(dx)
j1,2,...,|C|(公式1)
其中,P(cj)是类的先验概率,P(dx|cj)是类条件概率。对同一封邮件,P(dx)不变。根据全概率公式有:
j
1朴素贝叶斯中假设dx表示为特征集合(t1,t2,...,tn),n为特征个数,各特征之间相互独立。则有:
P(dx|cj)P(t1|cj)*P(t2|cj)*...*P(tn|cj)P(ti|cj)(公式3)
i1n
P(dx)P(cj)P(dx|cj)
|C|
(公式2)
公式1重新表示为:
P(d x)
P(cj|dx)
P(cj)P(ti|cj)
i1
n
(公式4)
Naive Bayes文本分类存在多种变形模型,如二元独立模型(Binary Independence Model)、多项式模型(Multinomial Model)、泊松分布模型(Poion Model)、负二元独立模型(Negative Binary Model),其中多项式模型具有最佳的效果。
在训练集上估计P(ti|cj)时,取训练样本中特征项ti的最大似然估计作为给定类别下的条件概率
P(ti|cj)即:
n cj
其中,ncj是类别cj的样本中的特征项总出现次数,nti_cj是类别cj的样本中特征项ti出现次数。为避免出现0概率,对其进行简单的平滑处理,其中m是训练样本中不重复的特征向量的总数:公式5可重新表示为:
P(ti|cj)
nti_cj
(公式5)
j
in cj
P(t|c)
nti_cj(公式6)
贝叶斯分类方法的优势有:在效率上优于其他算法;占用的存储空间少;易于收集最新的垃圾邮件特征;适合于作为个性化的过滤器等。
3隐马尔可夫模型及其改进
3.1隐马尔可夫模型
一个隐马尔可夫模型是一组有限的状态,其中的某一个状态可以以一定的概率转移到另外的状态(终止状态除外),而且在转移时产生输出,能产生的输出是有限的,输出也是以一定的概率产生的。它的形式化描述是HMM =。应用在分词问题中的隐马尔可夫模型可以定义为:1)S 表示模型中的状态,N 是其的状态数。在分词中,状态就是统计得到的所有字,N为统计所得的总字数。所有独立的字都属于集合S,S={S1,S2,...,Sn}。2)对于任何的句子都可以用集合S中的N个状态来表示,并定义qt为一个句子中第t个字,它可能是N个字中的任一个。对于具体的算法来说,要确切计算如下的概率,需要统计(q1=Si1,q2=Si2,qt=Sit),t词的最大长度。这在实际的应用中是不可行的,所以对条件概率的计算被缩短为只看当前的状态和其前一个状态(见公式a)。3)状态转移概率矩阵A={aij}。此矩阵中的各元素在分词中表示为某一字向其它字转移的概率,即当字A出现时,其他的字出现在A之后的概率见公式b。4)初始状态分布矢量∏={∏i},在分词中表示在t = 1时刻字为状态Si的概率,即词的第一个字为
Si的概率(见公式c)。5)在给定的模型下,根据已经确定的需要结合的字来确定后一个相邻的字要不要
结合到此新词中(见公式d)。公式a、b、c、d如下:
P(qt1Sj|(q1Si1,q2Si2,qtSit))P(qt1Sj|qtSit)
(a)
ai,jP(qt1Sj|qtSi)
Num_of_word[Si,Sj]
Num_of_word[S,S]
i
j
j1
N
1iN,(b)
(c)
Num_of_Si_in_word_as_first_character
iP(q1Si)
Num_of_Si_appear
P(O|Model)P[Si1,Si2,Sim|Model]
P[Si1]P[Si2|Si1]P[Si3|Si2]P[Sim|Sim1]
(d)
=i1ai1,i2ai2,i3aim1,im
3.2改进的隐马尔可夫模型
由于在隐马尔可夫模型中,后一个字要不要与前面的字串组合成词,此条件概率最终转化为只与每个字的前一个字相关,在本文中把此链改进为与前两个字相关,这样准确性比HMM要高,但代价是在用n-gram算法的统计过程中,从原来的n=1,2变为n=1,2,3。后面将通过实验来确定用哪种方法更合理。
改进HMM中的公式(a)为:
P(qt1Sj|(q1Si1,q2Si2,qtSit))P(qt1Sj|(qt1Sit1,qtSit))
改进公式(b),(c)为:
ak,i,jP(qt1Sj|(qt1Sk,qtSi))
Num_of_word[Sk,Si,Sj]
Num_of_word[S,S,S]
k
i
j
j1
N
iP(q1Si1,q2Si2)
改进公式(d)为:
Num_of_word_beginning_with_Si1Si2
Num_of_Si1Si2
P(O|Model)P[Si1,Si2,,Sim|Model]
P[Si1,Si2]P[Si3|(Si1,Si2)]P[Si4|(Si2,Si3)]P[Sim|(Sim2,Sim1)]iai1,i2,i3ai2,i3,i4aim2,im1,im结语
由于贝叶斯技术在英文邮件分类中已经取得了良好的效果,所以本文把研究的重点放在了贝叶斯技术应用研究上,目前还没有公开的、公认的最有效的发垃圾方法,因此在本文中研究比较了基于隐马尔可夫模型并进行了改进。
参考文献:
[1] 雷杰,王明哲,孙德宝.基于贝叶斯网络的特征分类器[J].情报指挥控制系统与仿真技术, 2001,(9).[2] 余东峰,孙兆林.基于贝叶斯网络不确定推理的研究[J].微型电脑应用,2004,(8).[3] 冯楠,李敏强,寇纪淞,方德.基于贝叶斯网络的软件项目风险管理模型[J].计算机工程,2007,(7).[责任编辑:程 娟]