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

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

Info

Publication number
CN101345720B
CN101345720B CN2008101202819A CN200810120281A CN101345720B CN 101345720 B CN101345720 B CN 101345720B CN 2008101202819 A CN2008101202819 A CN 2008101202819A CN 200810120281 A CN200810120281 A CN 200810120281A CN 101345720 B CN101345720 B CN 101345720B
Authority
CN
China
Prior art keywords
mail
spam
model
normal email
training set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008101202819A
Other languages
English (en)
Other versions
CN101345720A (zh
Inventor
任沁清
彭鹏
陆冠中
徐从富
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN2008101202819A priority Critical patent/CN101345720B/zh
Publication of CN101345720A publication Critical patent/CN101345720A/zh
Application granted granted Critical
Publication of CN101345720B publication Critical patent/CN101345720B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于部分匹配预测的垃圾邮件过滤方法。包括如下步骤:1)将新邮件变换成为001~127ASC II值对应字符组成的一个字符串;2)取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮件预测集;3)将正常邮件训练集和垃圾邮件训练集分别经过部分匹配预测算法,训练成垃圾邮件模型和正常邮件模型;4)将新邮件变换后的字符串分别和垃圾邮件模型以及正常邮件进行交叉熵运算,得到两个交叉墒值;5)获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果;6)新邮件分类之后,将新邮件加入预测集,进行增量学习,得到新的模型。本发明有效避免将正常邮件误作垃圾邮件的情况发生。

Description

基于部分匹配预测的垃圾邮件分类方法
技术领域
本发明涉及垃圾邮件过滤方法,尤其涉及一种基于部分匹配预测的垃圾邮件分类方法。
背景技术
电子邮件的盛行,主要原因是其方便、快捷及低成本;随着互联网普及,电子邮件逐渐成为人们生活中便利的通讯手段之一。然而,近年来,随着大型传统行业电子信息化的大力推进,信息系统领域里的垃圾邮件不可避免地随指数增长。垃圾邮件具有以下特点:数量多,具有反复性,强制性,欺骗性,不健康性及传播速度快。所以它严重干扰了人们的正常生活且对信息网络构成了严重威胁。由于垃圾邮件类型越来越复杂,多样。因此,研究垃圾邮件分类成为最近几年来的重要的研究课题。
垃圾邮件(SPAM Email)可以简单地定义为大量发送的未征得收信人同意的电子邮件,其盛行于网络也基于同样的理由。从垃圾邮件发送者的角度考虑,必会选择费用效益比最低的方式发送垃圾邮件。主要通过下述的几种方式发送:自建SMTP服务器大量发送垃圾邮件;通过病毒利用操作系统或者应用系统的漏洞发送(多数为含带病毒的)垃圾邮件;邮件服务器Openrelay漏洞被利用进行垃圾邮件的转发送;利用免费邮件供应商提供的邮件服务,以正常用户的方式进行垃圾邮件的发送。垃圾邮件的预处理,分类和过滤都是在邮箱对应服务器上进行,当server端程序员默认发送邮件给客户时,客户端遵守一定的协议(例如POP3或者是IMAP协议),正常接收邮件。
垃圾邮件的分类可以用多种方法,例如,被广泛应用的朴素贝叶斯方法,以及已经提出的罗切斯特回归法,SVM支持向量机方法。
朴素贝叶斯方法:在众多的分类模型中,应用最为广泛的两种分类模型是决策树模型(Decision Tree Model)和朴素贝叶斯模型(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字符表对应的字符,如果原邮件中的字不在ASC II码字符表032~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由001~127ASC II值对应字符组成的一个字符串;
2)取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮件预测集;
3)将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型;
4)将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算;
5)获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果;
6)新邮件分类完成之后,将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型。
所述的将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符,如果原邮件中的字不在ASC II码字符表032~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由001~127ASC II值对应字符组成的一个字符串步骤:合并标题和正文,并合并连续的空白符,新邮件中的每个英文字,数字,常见的符号,按照ASC II码字符表转换成相应的字符,如果邮件中的字不在ASC II码字符表中的032~127ASC II值所对应的字符范围内,则全部用ASC II码字符表中任意一个001~031ASCII值对应字符代替,规定邮件字数应不超过3000字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换后组成的字符串,这就是新邮件转换后的字符串。
所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤:利用部分匹配预测方法,在垃圾邮件训练集和正常邮件训练中,建立上下文字典树,对垃圾邮件训练集和正常邮件训练集进行训练,得到垃圾邮件模型和正常邮件模型。
所述的将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤:交叉熵公式为:
Figure GSB00000319398700031
当|x|变大时,这个估计值将越来越接近实际值,其中L(x|M)表示在M模型下理想的x的代码长度,且L(x)=-logf(x),f(x)是x的概率密度函数。文件d上估计的交叉熵以H(X,M,d)表示,利用上述公式,得到字符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。。
所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果步骤:根据字符串和垃圾邮件的交叉墒,以及字符串和正常邮件的交叉墒,对新邮件是否是正常邮件和垃圾邮件按如下方法分类:
Figure GSB00000319398700032
其中,M代表在C训练集中的所有例子。由于C(d)的范围为[0,1],设定值b=0.5,当C(d)≥b时,邮件为垃圾邮件,当C(d)<b时,邮件为正常邮件。
所述的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型步骤:将已经完成分类的邮件,加入到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训练集中再次训练,得到新的垃圾邮件和正常邮件模型。
本发明与现有技术相比具有的有益效果:
1)本发明可以充分利用部分匹配预测以及针对不同邮件系统,部分匹配预测的改进方法,例如部分匹配预测C,部分匹配预测D来对垃圾邮件进行分类。可以提高垃圾邮件分类的准确率;
2)基于部分匹配预测的垃圾邮件分类方法,建立训练模型的过程,速度比较快;
3)本发明与其他需要解码的分类器比较,其预测速度比较快;
4)本发明用部分匹配预测判断垃圾邮件的方法是个增量学习过程,在增加一个新邮件以更新模型时,不需要重新训练以前的模型而得到一个准确性更好的模型。
附图说明
图1是基于部分匹配预测的垃圾邮件过滤方法的流程图;
图2是新邮件预处理的流程图;
图3是基于部分匹配预测分类器的训练流程图;
图4是基于部分匹配预测分类器的增量学习流程图。
具体实施方式
基于部分匹配预测的垃圾邮件过滤方法包括如下步骤:
1)将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符,如果原邮件中的字不在ASC II码字符表032~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由001~127ASC II值对应字符组成的一个字符串;
2)取出以往垃圾邮件训练集、正常邮件训练集、垃圾邮件预测集和正常邮件预测集;
3)将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过
分匹配预测算法,训练成垃圾邮件模型;
4)将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算;
5)获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果;
6)新邮件分类完成之后,将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型。
所述的将新邮件变换成为ASCII值在032-127范围内ASCII字符表对应的字符,如果原邮件中的字不在ASC II码字符表032~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由001~127ASC II值对应字符组成的一个字符串步骤:合并标题和正文,并合并连续的空白符,例如:’\r’,’\t’,’\n’,邮件中的每个英文字,数字,常见的符号,例如:26个英文字母,空格键,“!”等按照ASC II码字符表转换成相应的字符,如果邮件中的字不在ASC II码字符表中的032~127ASC II值所对应的字符范围内,例如:中文,法语字母等,则全部用ASC II码字符表中任意一个001~031ASC II值对应字符代替,规定邮件字数应不超过3000字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换后组成的字符串,这就是新邮件转换后的字符串,当一封邮件长度过大的时候会影响部分匹配预测分类器的训练速度但是并不会对整个分类器的效果产生显著的提升,这主要是由于邮件中的附件和包含的图片会大幅度正大邮件的长度。但是这些信息对于提升部分匹配预测这类分类器的性能并没有效果,而且根据实验结果分析,当截取字符长度在3000的时候就可以取得不错的效果。
所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤:新邮件预处理结束之后,需要对不同邮件训练集进行建模,在垃圾邮件训练集和正常邮件训练中,我们取最优预测文本长度为k=5。分别从第一封邮件开始,利用部分匹配预测方法初始化上下文字典树,进行不断地节点修改,加入第二封邮件,直至第N封邮件,这样建立起上下文字典树。这两颗字典树,就是垃圾邮件模型和正常邮件模型,其中,需要考虑模型建立后所产生的内存需要,即所对应的空间复杂度。详细的基于部分匹配预测分类器的训练流程如图3所示。
所述的将新邮件变换后得到的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤:根据不同系统,交叉熵计算公式也有所不同,各个部分权重设置也不同,这里取交叉熵公式为:
Figure GSB00000319398700051
当|x|变大时,这个估计值将越来越接近实际值,其中L(x|M)表示在M模型下理想的x的代码长度,且L(x)=-logf(x),f(x)是x的概率密度函数。文件d上估计的交叉熵以H(X,M,d)表示,利用上述公式,得到字符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。。
所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果步骤:根据字符串和垃圾邮件的交叉熵,以及字符串和正常邮件的交叉熵,对新邮件是否是正常邮件和垃圾邮件按如下方法分类:
Figure GSB00000319398700052
其中,M代表在C训练集中的所有例子。由于C(d)的范围为[0,1],设定值b=0.5,当C(d)≥b时,邮件为垃圾邮件,当C(d)<b时,邮件为正常邮件。
所述的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型步骤:将已经完成分类的邮件,加入到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训练集中再次训练,得到新的垃圾邮件和正常邮件模型。
详细的增量学习流程如图4所示。

Claims (6)

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~127ASC II值对应字符范围内,则这些字全部转换成为ASC II码字符表中001~031ASC II值中的任意一个对应的字符,变换后得到由001~127ASC II值对应字符组成的一个字符串步骤:合并标题和正文,并合并连续的空白符,新邮件中的每个英文字,数字,常见的符号,按照ASC II码字符表转换成相应的字符,如果邮件中的字不在ASC II码字符表中的032~127ASC II值所对应的字符范围内,则全部用ASC II码字符表中任意一个001~031ASC II值对应字符代替,规定邮件字数应不超过3000字,如果超过3000字,则截去3000字以后的部分,保留前3000个字变换后组成的字符串,这就是新邮件转换后的字符串。
3.根据权利要求1所述的一种基于部分匹配预测的垃圾邮件分类方法,其特征在于所述的将正常邮件训练集经过部分匹配预测算法,训练成正常邮件模型,将垃圾邮件训练集经过部分匹配预测算法,训练成垃圾邮件模型步骤:利用部分匹配预测方法,在垃圾邮件训练集和正常邮件训练中,建立上下文字典树,对垃圾邮件训练集和正常邮件训练集进行训练,得到垃圾邮件模型和正常邮件模型。
4.根据权利要求1所述的一种基于部分匹配预测的垃圾邮件分类方法,其特征在于所述的将新邮件变换后得到的的字符串和垃圾邮件模型进行交叉熵运算,将新邮件变换后得到的字符串和正常邮件模型进行交叉熵运算步骤:交叉熵公式为:当|x|变大时,这个估计值将越来越接近实际值,其中L(x|M)表示在M模型下理想的x的代码长度,且L(x)=-logf(x),f(x)是x的概率密度函数。文件d上估计的交叉熵以H(X,M,d)表示,利用上述公式,得到字符串和垃圾邮件的交叉熵,字符串和正常邮件的交叉熵。
5.根据权利要求1所述的一种基于垃圾邮件的分类方法,其特征在于所述的获得最小交叉熵的模型决定了新邮件是否是垃圾邮件或者正常邮件的分类结果步骤:根据字符串和垃圾邮件的交叉墒,以及字符串和正常邮件的交叉墒,对新邮件是否是正常邮件和垃圾邮件按如下方法分类:
Figure FSB00000319398600022
其中,M代表在C训练集中的所有例子。由于C(d)的范围为[0,1],设定值b=0.5,当C(d)≥b时,邮件为垃圾邮件,当C(d)<b时,邮件为正常邮件。
6.根据权利要求1所述的一种基于垃圾邮件的分类方法,其特征在于所述的新邮件分类完成之后,可以将新邮件加入预测集,进行分类预测后,重新训练集,使模型再继续学习,得到新的模型步骤:将已经完成分类的邮件,加入到相应预测集中,判断分类是否错误,如果正确,将新邮件加入到相应训练集中再次训练,得到新的垃圾邮件和正常邮件模型。
CN2008101202819A 2008-08-15 2008-08-15 基于部分匹配预测的垃圾邮件分类方法 Expired - Fee Related CN101345720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101202819A CN101345720B (zh) 2008-08-15 2008-08-15 基于部分匹配预测的垃圾邮件分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101202819A CN101345720B (zh) 2008-08-15 2008-08-15 基于部分匹配预测的垃圾邮件分类方法

Publications (2)

Publication Number Publication Date
CN101345720A CN101345720A (zh) 2009-01-14
CN101345720B true CN101345720B (zh) 2011-04-13

Family

ID=40247613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101202819A Expired - Fee Related CN101345720B (zh) 2008-08-15 2008-08-15 基于部分匹配预测的垃圾邮件分类方法

Country Status (1)

Country Link
CN (1) CN101345720B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662788B (zh) * 2009-07-22 2012-01-18 山东科技大学 病毒式移动通信交叉熵法的链路方程构建方法
CN102129568B (zh) * 2011-04-29 2012-09-05 南京邮电大学 利用改进的高斯混合模型分类器检测图像垃圾邮件的方法
CN103095644B (zh) * 2011-10-28 2015-10-07 中国移动通信集团公司 一种数据内容解析方法及装置
CN103166830B (zh) * 2011-12-14 2016-02-10 中国电信股份有限公司 一种智能选择训练样本的垃圾邮件过滤系统和方法
CN102404341B (zh) * 2011-12-22 2014-11-05 中标软件有限公司 电子邮件用户行为监测方法和装置
CN103490974A (zh) * 2012-06-14 2014-01-01 中国移动通信集团广西有限公司 一种垃圾邮件检测方法及装置
CN103020646A (zh) * 2013-01-06 2013-04-03 深圳市彩讯科技有限公司 一种支持增量训练的垃圾图片识别方法和系统
CN104765729B (zh) * 2014-01-02 2018-08-31 中国人民大学 一种跨平台微博社区账户匹配方法
CN105447505B (zh) * 2015-11-09 2018-12-18 成都数之联科技有限公司 一种多层次重要邮件检测方法
CN107194260A (zh) * 2017-04-20 2017-09-22 中国科学院软件研究所 一种基于机器学习的Linux‑Kernel关联CVE智能预测方法
CN108093466B (zh) * 2017-12-14 2021-12-24 维沃移动通信有限公司 一种控制网络开关的方法、移动终端及服务器
CN109036570B (zh) * 2018-05-31 2021-08-31 云知声智能科技股份有限公司 超声科非病历内容的过滤方法及系统

Also Published As

Publication number Publication date
CN101345720A (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101345720B (zh) 基于部分匹配预测的垃圾邮件分类方法
CN106294593B (zh) 结合从句级远程监督和半监督集成学习的关系抽取方法
CN103166830B (zh) 一种智能选择训练样本的垃圾邮件过滤系统和方法
CN101184259A (zh) 垃圾短信中的关键词自动学习及更新方法
CN106294324B (zh) 一种基于自然语言句法分析树的机器学习情感分析器
CN101227435A (zh) 基于Logistic回归的中文垃圾邮件过滤方法
CN105447505B (zh) 一种多层次重要邮件检测方法
CN101540017B (zh) 基于字节级n元文法的特征提取方法及垃圾邮件过滤器
CN102195899B (zh) 通信网络的信息挖掘方法与系统
CN104239539A (zh) 一种基于多种信息融合的微博信息过滤方法
CN104008090A (zh) 一种基于概念向量模型的多主题提取方法
CN109145114B (zh) 基于Kleinberg在线状态机的社交网络事件检测方法
CN103514170A (zh) 一种语音识别的文本分类方法和装置
CN104050556A (zh) 一种垃圾邮件的特征选择方法及其检测方法
CN102955832A (zh) 一种通讯地址识别、标准化的系统
CN104281565A (zh) 语义词典构建方法和装置
CN109800305A (zh) 基于自然标注的微博情绪分类方法
CN103744958B (zh) 一种基于分布式计算的网页分类方法
CN107533574A (zh) 基于随机索引模式匹配的电子邮件关系查找器系统
CN104268214B (zh) 一种基于微博用户关系的用户性别识别方法及系统
CN101329668A (zh) 一种信息规则生成方法及装置、信息类型判断方法及系统
CN114928501B (zh) 一种基于个性化联邦学习的网络钓鱼邮件检测方法
Sharma A methodological study of SMS spam classification using machine learning algorithms
CN110569357A (zh) 一种邮件分类模型的构建方法、装置、终端设备和介质
CN109873755A (zh) 一种基于变体词识别技术的垃圾短信分类引擎

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110413

Termination date: 20110815