基于部分匹配预测的垃圾邮件分类方法

文档序号:6464907阅读:252来源:国知局
专利名称:基于部分匹配预测的垃圾邮件分类方法
技术领域
本发明涉及垃圾邮件过滤方法,尤其涉及一种基于部分匹配预测的垃圾邮 件分类方法。
背景技术
电子邮件的盛行,主要原因是其方便、快捷及低成本;随着互联网普及, 电子邮件逐渐成为人们生活中便利的通讯手段之一。然而,近年来,随着大型 传统行业电子信息化的大力推进,信息系统领域里的垃圾邮件不可避免地随指 数增长。垃圾邮件具有以下特点数量多,具有反复性,强制性,欺骗性,不健 康性及传播速度快。所以它严重干扰了人们的正常生活且对信息网络构成了严 重威胁。由于垃圾邮件类型越来越复杂,多样。因此,研究垃圾邮件分类成为 最近几年来的重要的9F究课题。
垃圾邮件(SPAM Email)可以简单地定义为大量发送的未征得收信人同意的 电子邮件,其盛行于网络也基于同样的理由。从垃圾邮件发送者的角度考虑, 必会选择费用效益比最低的方式发送垃圾邮件。主要通过下述的几种方式发送: 自建SMTP服务器大量发送垃圾邮件;通过病毒利用操作系统或者应用系统的 漏洞发送(多数为含带病毒的)垃圾邮件;邮件服务器Openrelay漏洞被利用进 行垃圾邮件的转发送;利用免费邮件供应商提供的邮件服务,以正常用户的方 式进行垃圾邮件的发送。垃圾邮件的预处理,分类和过滤都是在邮箱对应服务 器上进行,当server端程序员默认发送邮件给客户时,客户端遵守一定的协议 (例如POP3或者是IMAP协议),正常接收邮件。
垃圾邮件的分类可以用多种方法,例如,被广泛应用的朴素贝叶斯方法, 以及己经提出的罗切斯特回归法,SVM支持向量机方法。
朴素贝叶斯方法在众多的分类模型中,应用最为广泛的两种分类模型是 决策树模型(Decision Tree Model)和朴素贝叶斯模型 (NaYve Bayesian Model, NBC)。朴素贝叶斯分类假定一个属性值对给定类的影响独立其他属性的值。构 造一个朴素贝叶斯分类器的过程其实主要是计算各个先验概率P (X)和后验概 率P (X|H)的过程,以通过贝叶斯定理P (H|X) =P (X|H)P(H) / P(X) 得到后验概率P (H|X),即给定观测样本X,假定H成立的概率。
SVM支持向量机方法朱永运用TFIDF公式将邮件文本映射成向量。然后 用LibSVM对邮件样本进行训练得到模型。用模型对新的邮件进行分类。
Logistic回归方法除了用logistic回归模型对邮件进行分类之外,其他都 和SVM支持向量机方法一致。
但是这三种方法在速度,效率方面都存在问题,并且都不是增量学习方法, 在准确率方面都存在疑问。

发明内容
本发明的目的是提供一种基于部分匹配预测的垃圾邮件过滤方法。 基于部分匹配预测的垃圾邮件过滤方法包括如下步骤
1) 将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符, 如果原邮件中的字不在ASCII码字符表032 127ASCII值对应字符范围内,则 这些字全部转换成为ASCII码字符表中OOl 031 ASC II值中的任意一 个对应的 字符,变换后得到由一个001 127ASCII值对应字符组成的字符串;
2) 取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮 件预测集;
3) 将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃 圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型;
4) 将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮 件变换后得到的字符串和正常邮件模型进行交叉熵运算;
5) 获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分 类结果;
6) 新邮件分类完成之后,将新邮件加入预测集,进行分类预测后,重新训 练集,使模型再继续学习,得到新的模型。
所述的将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的 字符,如果原邮件中的字不在ASC II码字符表032 127 ASC II值对应字符范围 内,则这些字全部转换成为ASCII码字符表中001 031 ASCII值中的任意一个 对应的字符,变换后得到由一个001 127ASCII值对应字符组成的字符串步骤: 合并标题和正文,并合并连续的空白符,新邮件中的每个英文字,数字,常见 的符号,按照ASCII码字符表转换成相应的字符,如果邮件中的字不在ASCII 码字符表中的032 127ASCII值所对应的字符范围内,则全部用ASCII码字符 表中任意一个001 031 ASCII值对应字符代替,规定邮件字数应不超过3000 字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换后组 成的字符串,这就是新邮件转换后的字符串。
所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,
将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤利用部 分匹配预测方法,在垃圾邮件训练集和正常邮件训练中,建立上下文字典树, 对垃圾邮件训练集和正常邮件训练集进行训练,得到垃圾邮件模型和正常邮件 模型。
所述的将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将 新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤交叉熵公式 为//d,M)s丄丄(;clM),当lxl变大时,这个估计值将越来越接近实际值,其中 丄OclM)表示在^M模型下理想的X的代码长度,且丄(x)--1og/(x), /W是X的概 率密度函数。文件d上估计的交叉熵以H(Z,M,rf)表示,利用上述公式,得到字 符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。。
所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件 的分类结果步骤根据字符串和垃圾邮件的交叉墒,以及字符串和正常邮件的
交叉墒,对新邮件是否是正常邮件和垃圾邮件按如下方法分类
C(d) = arg min H( M, af)
>—^—7
其中,M代表在C训练集中的所有例子。由于C(力的范围为[O, l],设定 值b-0.5,当CW)^时,邮件为垃圾邮件,当C(力4时,邮件为正常邮件。
所述的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后, 重新训练集,使模型再继续学习,得到新的模型步骤将已经完成分类的邮件, 加入到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训 练集中再次训练,得到新的垃圾邮件和正常邮件模型。 本发明与现有技术相比具有的有益效果
1) 本发明可以充分利用部分匹配预测以及针对不同邮件系统,部分匹配预 测的改进方法,例如部分匹配预测C,部分匹配预测D来对垃圾邮件进行分类。 可以提高垃圾邮件分类的准确率;
2) 基于部分匹配预测的垃圾邮件分类方法,建立训练模型的过程,速度比 较快;
3) 本发明与其他需要解码的分类器比较,其预测速度比较快;
4) 本发明用部分匹配预测判断垃圾邮件的方法是个增量学习过程,在增加 一个新邮件以更新模型时,不需要重新训练以前的模型而得到一个准确性更好 的模型。


图1是基于部分匹配预测的垃圾邮件过滤方法的流程图;图2是新邮件预处理的流程图; 图3是基于部分匹配预测分类器的训练流程图; 图4是基于部分匹配预测分类器的增量学习流程图。
具体实施例方式
基于部分匹配预测的垃圾邮件过滤方法包括如下步骤
1) 将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符, 如果原邮件中的字不在ASC II码字符表032 127 ASCII值对应字符范围内,则 这些字全部转换成为ASCII码字符表中OOl 031 ASC II值中的任意一个对应的 字符,变换后得到由一个OOl 127 ASC II值对应字符组成的字符串;
2) 取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮
a将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃 圾邮件训练集经过
分匹配预测算法,训练成垃圾邮件模型;
4) 将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮 件变换后得到的字符串和正常邮件模型进行交叉熵运算;
5) 获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分 类结果;
6) 新邮件分类完成之后,将新邮件加入预测集,进行分类预测后,重新训 练集,使模型再继续学习,得到新的模型。
所述的将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的 字符,如果原邮件中的字不在ASC II码字符表032 127 ASC II值对应字符范围 内,则这些字全部转换成为ASCII码字符表中001 031 ASCII值中的任意一个 对应的字符,变换后得到由一个001 127ASCII值对应字符组成的字符串步骤: 合并标题和正文,并合并连续的空白符,例如'\r','\t','\n',邮件中的每个英文 字,数字,常见的符号,例如26个英文字母,空格键,"!"等按照ASCII码 字符表转换成相应的字符,如果邮件中的字不在ASCII码字符表中的032 127
Ascn值所对应的字符范围内,例如中文,法语字母等,则全部用Ascn码
字符表中任意一个001 031 Ascn值对应字符代替,规定邮件字数应不超过
3000字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换 后组成的字符串,这就是新邮件转换后的字符串,当一封邮件长度过大的时候会 影响部分匹配预测分类器的训练速度但是并不会对整个分类器的效果产生显著
的提升,这主要是由于邮件中的附件和包含的图片会大幅度正大邮件的长度。 但是这些信息对于提升部分匹配预测这类分类器的性能并没有效果,而且根据
实验结果分析,当截取字符长度在3000的时候就可以取得不错的效果。
所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型, 将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤新邮件
预处理结束之后,需要对不同邮件训练集进行建模,在垃圾邮件训练集和正常
邮件训练中,我们取最优预测文本长度为1^5。分别从第一封邮件开始,利用部 分匹配预测方法初始化上下字典数,进行不断地节点修改,加入第二封邮件, 直至第N封邮件,这样建立起上下字典树。这两颗字典树,就是垃圾邮件模型 和正常邮件模型,其中,需要考虑模型建立后所产生的内存需要,即所对应的空 间复杂度。
详细的基于部分匹配预测分类器的训练流程如图3所示。
所述的将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将 新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤根据不同系
统,交叉熵计算公式也有所不同,各个部分权重设置也不同,这里取交叉熵公式
为//(Z,A/)a^丄(;clM),当lxl变大时,这个估计值将越来越接近实际值,其中
丄(xlM)表示在1vl模型下理想的x的代码长度,且";0 = -108/(力,/(;c)是x的概
率密度函数。文件d上估计的交叉熵以i/(X,M,力表示,利用上述公式,得到字
符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。。
所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件
的分类结果步骤根据字符串和垃圾邮件的交叉熵,以及字符串和正常邮件的
交叉熵,对新邮件是否是正常邮件和垃圾邮件按如下方法分类 C(d) = arg min(义M, c/)
*-v-1
其中,M代表在C训练集中的所有例子。由于C(力的范围为[O, l],设定 值bi.5,当C(^W时,邮件为垃圾邮件,当C(力"时,邮件为正常邮件。
所述的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后, 重新训练集,使模型再继续学习,得到新的模型步骤将已经完成分类的邮件, 加入到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训 练集中再次训练,得到新的垃圾邮件和正常邮件模型。 详细的增量学习流程如图4所示。
权利要求
1.一种基于部分匹配预测的垃圾邮件过滤方法,其特征在于包括如下步骤1)将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符,如果原邮件中的字不在ASC II码字符表032~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由一个001~127ASC II值对应字符组成的字符串;2)取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮件预测集;3)将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型;4)将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算;5)获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果;6)新邮件分类完成之后,将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型。
2. 根据权利要求1所述的一种基于部分匹配预测的垃圾邮件分类方法,其特 征在于所述的将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应 的字符,如果原邮件中的字不在ASC II码字符表032 127 ASC II值对应字符范 围内,则这些字全部转换成为ASC II码字符表中001 031 ASC II值中的任意一 个对应的字符,变换后得到由一个001 127ASCII值对应字符组成的字符串步 骤合并标题和正文,并合并连续的空白符,新邮件中的每个英文字,数字, 常见的符号,按照ASCII码字符表转换成相应的字符,如果邮件中的字不在 ASCII码字符表中的032 127ASCII值所对应的字符范围内,则全部用ASCII 码字符表中任意一个001 031 ASCII值对应字符代替,规定邮件字数应不超过 3000字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换 后组成的字符串,这就是新邮件转换后的字符串。
3. 根据权利要求1所述的一种基于部分匹配预测的垃圾邮件分类方法,其特 征在于所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型, 将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤利用部 分匹配预测方法,在垃圾邮件训练集和正常邮件训练中,建立上下文字典树, 对垃圾邮件训练集和正常邮件训练集进行训练,得到垃圾邮件模型和正常邮件模型。
4. 根据权利要求l所述的一种基于部分匹配预测的垃圾邮件分类方法,其 特征在于所述的将新邮件变换后得到的的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤交叉 熵公式为<formula>see original document page 3</formula>,当|x|变大时,这个估计值将越来越接近实际值, 其中L(xlM)表示在M模型下理想的X的代码长度,L(x) = -logf(x), f(x)是X 的概率密度函数。文件d上估计的交叉熵以H(X,M,d)表示,利用上述公式,得 到字符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。
5. 根据权利要求1所述的一种基于垃圾邮件的分类方法,其特征在于所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果步骤根据字符串和垃圾邮件的交叉墒,以及字符串和正常邮件的交叉墒,对新邮件是否是正常邮件和垃圾邮件按如下方法分类 <formula>see original document page 3</formula>其中,M代表在C训练集中的所有例子。由于C(c/)的范围为
,设定 值b=0.5,当C(d)≥b时,邮件为垃圾邮件,当C(d)<b时,邮件为正常邮件。
6.根据权利要求1所述的一种基于垃圾邮件的分类方法,其特征在于所述 的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后,重新训 练集,使模型再继续学习,得到新的模型步骤将已经完成分类的邮件,加入 到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训练集 中再次训练,得到新的垃圾邮件和正常邮件模型。
全文摘要
本发明公开了一种基于部分匹配预测的垃圾邮件过滤方法。包括如下步骤1)将新邮件变换成为一个001~127ASC II值对应字符组成的字符串;2)取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮件预测集;3)将正常邮件训练集和垃圾邮件训练集分别经过部分匹配预测算法,训练成垃圾邮件模型和正常邮件模型;4)将新邮件变换后的字符串分别和垃圾邮件模型以及正常邮件进行交叉熵运算,得到两个交叉熵值;5)获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果;6)新邮件分类之后,将新邮件加入预测集,进行增量学习,得到新的模型。本发明有效避免将正常邮件误作垃圾邮件的情况发生。
文档编号G06K9/66GK101345720SQ20081012028
公开日2009年1月14日 申请日期2008年8月15日 优先权日2008年8月15日
发明者任沁清, 鹏 彭, 徐从富, 陆冠中 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1