CN104731772B - 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 - Google Patents
基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 Download PDFInfo
- Publication number
- CN104731772B CN104731772B CN201510179688.9A CN201510179688A CN104731772B CN 104731772 B CN104731772 B CN 104731772B CN 201510179688 A CN201510179688 A CN 201510179688A CN 104731772 B CN104731772 B CN 104731772B
- Authority
- CN
- China
- Prior art keywords
- spam
- characteristic item
- text
- training
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,步骤如下:1)对训练邮件集进行预处理分为邮件头部和正文部分;2)分别在两个特征集T1,T2中删除介词、代词、副词、助词,连接词以及词频低于给定的阈值p的词语;3)分别在特征项集合T1’,T2’中运用改进的特征评估函数计算出互信息值MI(tk)’;4)在训练集内,对MI(tk)’其按从大到小的顺序进行排序,选择前n个值对应的特征项用于训练集的表示;5)分类阶段运用贝叶斯分类器对待测试的样本进行垃圾邮件过滤。本发明能够高效准确的对邮件进行分类,并且过滤掉垃圾邮件。
Description
技术领域
本发明涉及一种基于改进特征评估函数的贝叶斯垃圾邮件过滤方法。
背景技术
贝叶斯垃圾邮件过滤中最常见的特征选择方法是“互信息”方法,这一方法在文本分类中能比较有效地表达词间的依赖程度,然而用在垃圾邮件过滤的特征选择阶段会凸显出如下问题使整个过滤方法在性能上有欠缺:1正负相关问题:特征项与文本类别之间的相关性分为正相关和负相关两种,两种情况都表示特征项对类别界定有作用,只是正相关对类别的表现能力较强,负相关表现能力较弱,但从公式表现出来的意义是正负相抵消,即是负相关在表现方面起相反作用了,与本意相违背;2忽略词频和趋向低频词问题:互信息特征选择方法是基于各个类别中的文本量大致相等来假设的。正常邮件的数量远大于垃圾邮件的数量,正常邮件的文本总量一定会远远超过垃圾邮件的文本总量。另外只考虑词条出现和不出现,而不考虑词条在文档中出现的次数,但通常我们都会认为出现次数越多(即词频大)的特征词与类别的相关程度更大,更能代表此类别,所以这对一封邮件中出现次数多的特征项是有影响的;3不同位置的特征项对类别界定贡献能力不同的问题:邮件标题和正文这两种不同位置上提取的特征项对分类的贡献能力会有很大的不同,在实际垃圾邮件过滤中,用户往往从其主要形象就可以判断出一封邮件是正常邮件还是垃圾邮件。然而针对以上问题,目前还没有关于这些不适应问题的改善方法。
发明内容
为了解决上述存在的技术问题,本发明提供了一种基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,通过在预处理阶段对文本再分类,将邮件分为邮件头部和正文部分,分词时删除介词、代词、副词、助词连接词和低于阈值的低频词,在特征项提取阶段对互信息特征选择方法进行补充和完善,在过滤阶段使用贝叶斯分类方法进行分类,进而高效准确的过滤垃圾邮件。
本发明的目的是通过下述技术方案实现的:一种基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,其步骤如下:
1、基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,其特征在于,步骤如下:
1)对训练邮件集进行预处理:将邮件分为邮件头部和正文部分两个子文本集S1,S2,在其中分别进行分词,组成两个特征项集合T1,T2;
2)分别在两个特征集T1,T2中使用停用词表删除介词、代词、副词、助词,连接词以及词频低于给定的阈值p的词语,处理后的特征项集合记为T1’,T2’;
3)分别在特征项集合T1’,T2’中运用改进的特征评估函数计算出互信息值MI(tk)’:
3a)设特征向量集合T={tk,k=1,2,…,n},在网络文件文本库中获得训练集类别集合C={cj,i=1,2,…,r};
3b)利用公式(1)计算得出修正系数λ:
其中,表示特征项tk在cj里的词频数;
3c)利用公式(2)计算得出MI(tk):
其中,P(tk|cj)为类cj内含有tk的文本概率,P(tk)为含有tk的文本在训练集类别集合里出现的概率,P(cj)为训练集类别集合里属于类别cj的文本出现概率;
3d)利用公式(3)得出tk基于训练集的互信息值MI(tk)’:
其中,βi(i=2)代表邮件头部和正文部分两个子集位置的不同权重,β1代表邮件头部的权重,β2代表正文部分的权重,且应满足β1>β2,β1+β2=1;
4)在训练集内,计算出特征项tk相应的互信息值MI(tk),并对其按从大到小的顺序进行排序,选择前n个值对应的特征项用于训练集的表示,得出特征属性和训练样本;
5)运用贝叶斯分类器对测试样本进行垃圾邮件过滤,贝叶斯公式如下:
其中Wi代表类别,其中W1代表垃圾邮件,W2代表正常邮件,Xj为待分类的文本,计算垃圾邮件和正常邮件在(4)中所得的训练样本中的出现频率P(Wi)及每个特征项划分对每个类别的条件概率估计P(Xj|Wi),得出P(Wi|Xj)即在特征项Xj出现的情况下邮件是垃圾邮件或者正常邮件的概率,生成贝叶斯分类器,再对测试样本即可使用生成的分类器计算垃圾邮件P(W1|Xj)和正常邮件P(W2|Xj)的概率,若有P(W1|Xj)<P(W2|Xj),则判断为正常邮件,否则作为垃圾邮件被过滤。
本发明的有益效果:
(1)、在特征选择阶段避免了由于正负相关相抵消造成的信息损失;
(2)、在特征项选择阶段重视词语出现的频率而不仅仅是文本的频率,避免了将稀有低频词作为互信息值大的特征项界定文本;
(3)、在特征项选择阶段,有效区分了不同位置的特征项对类别界定的贡献能力;
(4)、本发明方法是基于一种能够针对垃圾邮件过滤的互信息特征项选择法来进行的,能够高效准确的过滤垃圾邮件。
附图说明
图1:为运用改进的特征评估函数提取特征项的流程图。
图2:为贝叶斯垃圾邮件过滤方法流程图。
图3:本发明与现有技术在性能上的提升对比图。
具体实施方式
基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,其特征在于,步骤如下:
1)对训练邮件集进行预处理:将邮件分为邮件头部和正文部分两个子文本集S1,S2,在其中分别进行分词,组成两个特征项集合T1,T2;2)分别在两个特征集T1,T2中使用停用词表删除介词、代词、副词、助词,连接词以及词频低于给定的阈值p的词语,处理后的特征项集合记为T1’,T2’;
3)分别在特征项集合T1’,T2’中运用改进的特征评估函数计算出互信息值MI(tk)’:
3a)设特征向量集合T={tk,k=1,2,…,n},在网络文件文本库中获得训练集类别集合C={cj,i=1,2,…,r};
3b)利用公式(1)计算得出修正系数λ:
其中,表示特征项tk在cj里的词频数;
3c)利用公式(2)计算得出MI(tk):
其中,P(tk|cj)为类cj内含有tk的文本概率,P(tk)为含有tk的文本在训练集类别集合里出现的概率,P(cj)为训练集类别集合里属于类别cj的文本出现概率;
3d)利用公式(3)得出tk基于训练集的互信息值MI(tk)’:
其中,βi(i=2)代表邮件头部和正文部分两个子集位置的不同权重,β1代表邮件头部的权重,β2代表正文部分的权重,且应满足β1>β2,β1+β2=1;
4)在训练集内,计算出特征项tk相应的互信息值MI(tk),并对其按从大到小的顺序进行排序,选择前n个值对应的特征项用于训练集的表示,得出特征属性和训练样本;
5)运用贝叶斯分类器对测试样本进行垃圾邮件过滤,贝叶斯公式如下:
其中Wi代表类别,这里我们设定W1代表垃圾邮件,W2代表正常邮件,Xj为待分类的文本,计算垃圾邮件和正常邮件在(4)中所得的训练样本中的出现频率P(Wi)及每个特征项划分对每个类别的条件概率估计P(Xj|Wi),得出P(Wi|Xj)即在特征项Xj出现的情况下邮件是垃圾邮件或者正常邮件的概率,生成贝叶斯分类器,再对测试样本即可使用生成的分类器计算垃圾邮件P(W1|Xj)和正常邮件P(W2|Xj)的概率,若有P(W1|Xj)<P(W2|Xj),则判断为正常邮件,否则作为垃圾邮件被过滤。
在实际使用时:
1、由原始公式:
可知,P(tk|cj)>P(tk)时,MI为正值,反之为负值,也因此称为正相关和负相关。其区别只在于正相关对区别正常和垃圾邮件的能力大于负相关,负相关对于分类界定也是具有作用的,但(5)中体现出的意义是正负两者的相抵消,显然与本意相违背。因此在本次发明的方法中引入绝对值来避免这一问题:
2、忽略词频和趋向低频词问题:
互信息方法的提出是在假定训练样本类别分类均匀的条件下提出的,但在垃圾邮件过滤这一问题中,通常来讲,正常邮件的数量远大于垃圾邮件的数量,这一前提是不成立的。(6)式中P(tk|cj)、P(tk)均表示含有tk的文本在不同范围内出现的概率。tk的词频信息这一重要指标并没有被考虑在内。另外从(6)式中可以看出,分子P(tk|cj)相同时,分母P(tk)越大,互信息值反而越小,即更多的低频词和稀有词会被选中。因此本次发明中针对忽略词频和趋向低频词问题的解决方案是预处理时即删除词频低于阈值p的词并且在公式中引入修正系数λ,其中表示特征项tk在类cj里的词频数,
再将λ带入公式(2)中:
3、不同位置的特征项对类别界定贡献能力不同的问题:
(2)式中没有体现出出现在不同位置的特征项对类别界定影响能力的不同,但在实际垃圾邮件过滤中,用户往往从其主要形象就可以判断出一封邮件是正常邮件还是垃圾邮件。比如在邮件头出现的词一般比正文中出现的词更有代表力。电子邮件格式是由RFC8222所定义的,半结构化的文本主要包括邮件头和正文。其中邮件头含有From,Subject,Date等关键信息。因此这里将文本一开始就分为两个子集T1,T2并引入βi(i=2)代表位置的不同权重,应满足β1>β2,β1+β2=1,
4、贝叶斯垃圾邮件过滤:
贝叶斯垃圾邮件过滤方法是目前使用广泛且易于实现的一种垃圾邮件过滤方法,它利用贝叶斯公式计算文本属于每个类别(即正常邮件和垃圾邮件)的概率,从而将其归为概率最大的那一类。贝叶斯公式如下:
其中Wi代表类别,这里W1代表垃圾邮件,W2代表正常邮件,Xj为待分类的文本;训练阶段,在训练集内,计算出特征项tk相应的互信息值MI(tk),并对其按从大到小的顺序进行排序,选择前n个值对应的特征项用于训练集的表示。这一阶段得出的特征属性和训练样本的质量很大程度上决定贝叶斯分类器的质量。分类阶段主要的任务就是生成分类器并运用贝叶斯分类器对测试样本进行垃圾邮件过滤。分别利用贝叶斯公式计算垃圾邮件P(W1|Xj)和正常邮件P(W2|Xj)的概率,若有P(W1|Xj)<P(W2|Xj),则判断为正常邮件,否则作为垃圾邮件被过滤。
5.算法的评价标准:
查全率SR(Spam Recall):又称召回率,即正确过滤的邮件数占所有需要被过滤的邮件数的百分比,反映的是垃圾邮件过滤的有效性。数学公式定义如下:
查准率SP(Spam Precision):即正确识别的垃圾邮件数占实际所有被识别为垃圾邮件数的百分比,反映的是垃圾邮件过滤的安全性。数学公式定义如下:
综合指标F1:查全率和查准率反映垃圾邮件过滤性能的两个不同侧重方面,这里引入一个新的评估指标F1综合考虑对性能的改善。数学公式定义如下:
6、实现步骤:
1)对训练邮件集进行预处理:本发明所用的语料选自中国教育和科研计算机网紧急响应组提供的电子邮件数据集CCERT 2005-Jul,这个数据集中包括一个正常邮件集和一个垃圾邮件集,我们从中选择了正常邮件500封、垃圾邮件200封,其中html标记和附件都已被除去。实验环境为Intel Core i3-2330M CPU,2.20GHz、内存为2GB、Windows7professional。使用JAVA语言在Eclipse平台上对算法进行测试。将邮件分为邮件头部和正文部分两个子文本集S1,S2,在其中分别进行分词,组成两个特征项集合T1,T2。训练邮件集文本向量化可以方便计算机对邮件进行学习和处理,将训练邮件集转化为向量表示,之后所有的运算以此为基础,基于向量集进行;
2)分别在两个特征集中使用停用词表删除助词,虚词等无意义或者贡献能力不大的词语以及词频低于阈值p的词语,本实验取p=3,处理后的特征项集合记为T1’,T2’;
3)分别在特征项集T1’,T2’,中运用改进的特征评估函数计算出互信息值MI(tk),并将其记为MI(tk)i(i=1,2),改进的互信息公式如下:
其中
4)在步骤3)的基础上,在训练集内,计算出tk相应的互信息值MI’(tk)。根据不同位置的特征项对类别界定贡献能力不同,利用引入参数β(β1>β2,β1+β2=1)计算特征项tk在训练集内相应的互信息值MI’(tk),根据相关文献的研究,本实验取β1=0.65,β2=0.35公式如下:
对MI’(tk)的值从大到小进行排序,选择前n个值对应的特征用于训练集的表示,在本实验中取n=150。
5)分类阶段运用贝叶斯方法进行垃圾邮件过滤。运用本方法能够更加符合垃圾邮件过滤的需求,改善特征项选择阶段正负相消,忽略词频,趋向低频词以及区别不同位置的特征项对类别界定贡献能力问题,进而高效准确过滤垃圾邮件,贝叶斯分类公式如下:
其中Wi代表类别,这里W1代表垃圾邮件,W2代表正常邮件,Xj为待分类的文本;计算垃圾邮件和正常邮件在(4)中所得的训练样本中的出现频率P(Wi)及每个特征项划分对每个类别的条件概率估计P(Xj|Wi),得出P(Wi|Xj)即在特征项Xj出现的情况下邮件是垃圾/正常邮件的概率是多少,生成贝叶斯分类器。然后对测试样本即可使用生成的分类器计算垃圾邮件P(W1|Xj)和正常邮件P(W2|Xj)的概率,若有P(W1|Xj)<P(W2|Xj),则判断为正常邮件,否则作为垃圾邮件被过滤。
Claims (1)
1.基于改进特征评估函数的贝叶斯垃圾邮件过滤方法,其特征在于,步骤如下:
1)对训练邮件集进行预处理:将邮件分为邮件头部和正文部分两个子文本集S1,S2,在其中分别进行分词,组成两个特征项集合T1,T2;
2)分别在两个特征集T1,T2中使用停用词表删除介词、代词、副词、助词、连接词以及词频低于给定的阈值p的词语,处理后的特征项集合记为T1’,T2’;
3)分别在特征项集合T1’,T2’中运用改进的特征评估函数计算出互信息值MI(tk)’:
3a)设特征向量集合T={tk,k=1,2,…,n},在网络文件文本库中获得训练集类别集合C={cj,i=1,2,…,r};
3b)利用公式(1)计算得出修正系数λ:
其中,表示特征项tk在cj里的词频数;
3c)利用公式(2)计算得出MI(tk):
其中,P(tk|cj)为类cj内含有tk的文本概率,P(tk)为含有tk的文本在训练集类别集合里出现的概率,P(cj)为训练集类别集合里属于类别cj的文本出现概率;
3d)利用公式(3)得出tk基于训练集的互信息值MI(tk)’:
其中,βi(i=1,2)代表邮件头部和正文部分两个子集位置的不同权重,β1代表邮件头部的权重,β2代表正文部分的权重,且应满足β1>β2,β1+β2=1;
4)在训练集内,计算出特征项tk相应的互信息值MI(tk),并对其按从大到小的顺序进行排序,选择前n个值对应的特征项用于训练集的表示,得出特征属性和训练样本;
5)运用贝叶斯分类器对测试样本进行垃圾邮件过滤,贝叶斯公式如下:
其中Wi代表类别,其中W1代表垃圾邮件,W2代表正常邮件,Xj为待分类的文本,计算垃圾邮件和正常邮件在(4)中所得的训练样本中的出现频率P(Wi)及每个特征项划分对每个类别的条件概率估计P(Xj|Wi),得出P(Wi|Xj)即在特征项Xj出现的情况下邮件是垃圾邮件或者正常邮件的概率,生成贝叶斯分类器,再对测试样本即可使用生成的分类器计算垃圾邮件P(W1|Xj)和正常邮件P(W2|Xj)的概率,若有P(W1|Xj)<P(W2|Xj),则判断为正常邮件,否则作为垃圾邮件被过滤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510179688.9A CN104731772B (zh) | 2015-04-14 | 2015-04-14 | 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510179688.9A CN104731772B (zh) | 2015-04-14 | 2015-04-14 | 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731772A CN104731772A (zh) | 2015-06-24 |
CN104731772B true CN104731772B (zh) | 2017-05-24 |
Family
ID=53455670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510179688.9A Active CN104731772B (zh) | 2015-04-14 | 2015-04-14 | 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731772B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975518B (zh) * | 2016-04-28 | 2019-01-29 | 吴国华 | 基于信息熵的期望交叉熵特征选择文本分类系统及方法 |
CN107086952A (zh) * | 2017-04-19 | 2017-08-22 | 中国石油大学(华东) | 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法 |
CN107239440B (zh) * | 2017-04-21 | 2021-05-25 | 同盾控股有限公司 | 一种垃圾文本识别方法和装置 |
CN107193804B (zh) * | 2017-06-02 | 2019-03-29 | 河海大学 | 一种面向词和组合词的垃圾短信文本特征选择方法 |
CN110149268A (zh) * | 2019-05-15 | 2019-08-20 | 深圳市趣创科技有限公司 | 一种自动过滤垃圾邮件的方法及其系统 |
CN117633659B (zh) * | 2024-01-25 | 2024-04-26 | 成都工业职业技术学院 | 一种基于计算机的邮件分类方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1760901A (zh) * | 2005-11-03 | 2006-04-19 | 上海交通大学 | 电子邮件过滤系统 |
CN101295381A (zh) * | 2008-06-25 | 2008-10-29 | 北京大学 | 一种垃圾邮件检测方法 |
CN103490974A (zh) * | 2012-06-14 | 2014-01-01 | 中国移动通信集团广西有限公司 | 一种垃圾邮件检测方法及装置 |
CN103684991A (zh) * | 2013-12-12 | 2014-03-26 | 深圳市彩讯科技有限公司 | 基于邮件特征和内容的垃圾邮件过滤方法 |
-
2015
- 2015-04-14 CN CN201510179688.9A patent/CN104731772B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1760901A (zh) * | 2005-11-03 | 2006-04-19 | 上海交通大学 | 电子邮件过滤系统 |
CN101295381A (zh) * | 2008-06-25 | 2008-10-29 | 北京大学 | 一种垃圾邮件检测方法 |
CN103490974A (zh) * | 2012-06-14 | 2014-01-01 | 中国移动通信集团广西有限公司 | 一种垃圾邮件检测方法及装置 |
CN103684991A (zh) * | 2013-12-12 | 2014-03-26 | 深圳市彩讯科技有限公司 | 基于邮件特征和内容的垃圾邮件过滤方法 |
Non-Patent Citations (2)
Title |
---|
一种基于主动贝叶斯分类技术的垃圾邮件过滤方法;李笛 等;《合肥工业大学学报(自然科学版)》;20080930;第31卷(第9期);第1443-1446页 * |
基于改进互信息的特征提取的文本分类系统;郭飞 等;《四川理工学院学报(自然科学版)》;20080630;第21卷(第3期);第93-96页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104731772A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731772B (zh) | 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 | |
CN106445998B (zh) | 一种基于敏感词的文本内容审核方法及系统 | |
JP5759228B2 (ja) | 拡張されたエンティティ抽出を基礎とするメッセージ及び会話間の意味的類似性の計算方法 | |
KR101716905B1 (ko) | 개체의 유사성을 계산하는 방법 | |
CN103218444B (zh) | 基于语义的藏文网页文本分类方法 | |
CN103116637A (zh) | 一种面向中文Web评论的文本情感分类方法 | |
CN101540017B (zh) | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 | |
Hao et al. | Automatic identification of stop words in chinese text classification | |
CN108199951A (zh) | 一种基于多算法融合模型的垃圾邮件过滤方法 | |
CN102567308A (zh) | 一种信息处理特征提取方法 | |
CN101996241A (zh) | 一种基于贝叶斯算法的内容过滤方法 | |
CN102255922A (zh) | 一种多层次的垃圾邮件智能过滤方法 | |
CN108427775A (zh) | 一种基于多项贝叶斯的工程造价清单分类方法 | |
CN106503153B (zh) | 一种计算机文本分类体系 | |
CN109062895A (zh) | 一种智能语义处理方法 | |
CN108062351A (zh) | 关于特定主题类别的文本摘要提取方法、可读存储介质 | |
CN109271517A (zh) | Ig tf-idf文本特征向量生成及文本分类方法 | |
CN107797994A (zh) | 基于约束条件随机场的越南语名词组块识别方法 | |
CN111310467B (zh) | 一种在长文本中结合语义推断的主题提取方法及系统 | |
CN107526792A (zh) | 一种中文问句关键词快速提取方法 | |
CN110287493B (zh) | 风险短语识别方法、装置、电子设备及存储介质 | |
Al-Alwani | Improving email response in an email management system using natural language processing based probabilistic methods | |
CN110020430B (zh) | 一种恶意信息识别方法、装置、设备及存储介质 | |
CN106021413B (zh) | 基于主题模型的自展式特征选择方法及系统 | |
CN114896398A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |