CN101295381B - 一种垃圾邮件检测方法 - Google Patents
一种垃圾邮件检测方法 Download PDFInfo
- Publication number
- CN101295381B CN101295381B CN2008101155841A CN200810115584A CN101295381B CN 101295381 B CN101295381 B CN 101295381B CN 2008101155841 A CN2008101155841 A CN 2008101155841A CN 200810115584 A CN200810115584 A CN 200810115584A CN 101295381 B CN101295381 B CN 101295381B
- Authority
- CN
- China
- Prior art keywords
- spam
- dictionary
- speech
- concentration
- 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
Links
Images
Abstract
本发明涉及一种垃圾邮件检测方法,包括步骤:获取分类为正常邮件和垃圾邮件的训练样本集;根据训练样本集构建正常邮件代表词库和垃圾邮件代表词库;根据训练样本集中每封邮件在正常邮件代表词库和垃圾邮件代表词库中出现不同词的个数与邮件中不同词的个数,获取邮件的浓度特征向量;根据浓度特征向量与邮件的分类,建立浓度特征向量与分类的对应关系;获取待检测邮件的浓度特征向量;根据建立的浓度特征向量与分类的对应关系,得到待检测邮件的分类。本发明提出的垃圾邮件检测方法以二元浓度高效地表示邮件所述的类别,而且精度高,高效迅速地实现了垃圾邮件检测。
Description
技术领域
本发明涉及电子邮件处理技术领域,具体涉及一种基于邮件浓度特征向量的垃圾邮件检测方法。
背景技术
随着互联网的日益普及,电子邮件对于每一个人来说就已经成为一种日常通讯的重要媒介和最为便捷的通信手段之一,基本上代替了传统的纸质信件,人们越来越依赖于它和离不开它。但是,电子垃圾邮件的出现却引发了日益严重的问题,严重威胁着人们的正常电子邮件通信。垃圾邮件的膨胀不仅浪费掉大量的存储空间和通信带宽,而且还消耗了大量的用户时间去处理和删除它们。因此,研究对这种垃圾邮件的检测过滤方法就显得十分必要,具有重要意义。
垃圾邮件分类检测在本质是一个模式识别问题。垃圾邮件的分类大体上可以分为邮件特征提取和分类器分类两个步骤。如图1所示显示了垃圾邮件检测的系统框架。对于一封待分类邮件,在经过预处理后通过对邮件进行特征提取将邮件表示为分类器可以理解的方式,随后特征提取的结果被作为分类器的输入。针对输入分类器会利用预先积累的经验知识对邮件进行一个两类的判定,即是正常邮件或者是垃圾邮件并将分类结果输出给用户。用户根据自身的判断对分类器的分类结果做出反馈。分类器根据反馈的结果做出自身的动态调整。
特征提取将邮件从原始形式转化为分类器可以理解的方式。在特征提取之前需要对邮件进行一定的预处理,如主题部分和邮件体部分的提取,分词处理,附件解码等。预处理之后通过某种提取方法对邮件的特征进行分析。
对于特征提取,将现有常用的方法将其划分为三个类别:(1)简 单方法,包括Munging、列表、别名等,直接使用邮件的某些部分来构造特征,如列表法允许白名单上的合法邮件发送者,过滤黑名单上的垃圾邮件发送者,同时,暂时搁置灰名单上的未确定身份的发送者;(2)词频统计方法,在许多垃圾邮件检测方法中,一个词w被定义为一个特征,并且一个包含若干词的词向量x被当作特征向量来表示邮件,有许多词频统计的方法来构建向量x,如标识一个单词在一封邮件中出现次数的词频、标识一个词频在所有文档中出现的总次数的-反转文档频率和标识一个单词是否在邮件中出现的二元表示法;(3)启发式方法,和词频统计关注与候选词的选择不同,启发式的方法挖掘邮件中的语义信息,在训练阶段生成的模式被用于在运行阶段进行匹配,然而,挖掘出适合分类的模式通常是比较困难的,Yeh等通过邮件头中的如下几个部分来挖掘垃圾邮件发送者的行为模式:(1)From,(2)To,(3)Reply-To,(4)Delivered-To,(5)Return-Path,(6)Received,(7)Data。在上述部分中,正常邮件具有正常的行为模式,反之,垃圾邮件具有异常的行为模式。
对于分类器设计,对应地将其划分为:简单方法、智能方法和混合方法。和分类器设计相比,特征构造是和应用背景密切相关的并且会对分类器的最终性能产生巨大的影响。准确定义的特征可以很好的体现样本个体之间的差别因此可以获得良好的性能。同时,这也简化了分类器的设计并且保障了泛化性能。
然而许多特征提取方法利用词频统计形成词向量并随后作为后端分类算法的特征向量。虽然诸如停止列表,词干处理,互信息量,信息获取等方法被用于对候选词进行选择以减低维数,但最终形成的特征向里的维数通常还是在千位数的量级。启发式的方法在一定程度上降低了维数巨大的问题,但是学习得到的模式集合和待分类邮件的模式之间的匹配通常是十分耗时的,尤其是当这个模式集合比较庞大的时候。同时,挖掘准确的模式也是十分困难的。
发明内容
本发明的目的是提供一种垃圾邮件检测方法,该方法是基于垃圾邮件浓度特征向量的,该浓度特征特征向量以二元浓度高效地表示邮件所述的类别,不仅在训练过程与检测过程速度快,而且精度高,高效迅速地实现了垃圾邮件检测。
为实现上述目的,本发明采用如下技术方案:
一种垃圾邮件检测的方法,包括步骤:获取分类为正常邮件和垃圾邮件的训练样本集;根据训练样本集构建正常邮件代表词库和垃圾邮件代表词库;根据训练样本集中每封邮件在正常邮件代表词库出现不同词的个数与所述邮件中不同词的个数比值,得到所述邮件的自己浓度;根据训练样本集中每封邮件在垃圾邮件代表词库中出现不同词的个数与所述邮件中不同词的个数比值,得到所述邮件的非己浓度;由所述邮件的自己浓度与非己浓度组成所述邮件的浓度特征向量;根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系;根据待检测邮件在正常邮件代表词库出现不同词的个数与所述待检测邮件中不同词的个数比值,得到所述待检测邮件的自己浓度;根据待检测邮件在垃圾邮件代表词库出现不同词的个数与所述待检测邮件中不同词的个数比值,得到所述待检测邮件的非己浓度;由所述待检测邮件的自己浓度与非己浓度组成所述待检测邮件的浓度特征向量;根据建立的浓度特征向量与分类的对应关系,得到所述待检测邮件的分类。
其中,构建正常邮件代表词库和垃圾邮件代表词库的方法包括步骤:获取所述训练样本集中每个词在正常邮件中出现次数与在垃圾邮件中出现次数的差值;根据所述差值选择所述词为正常邮件代表词或垃圾邮件代表词,构成正常邮件代表词库和垃圾邮件代表词库。
其中,根据所述差值构成正常邮件代表词库和垃圾邮件代表词库的方法为:根据所述训练样本集中的词在正常邮件中出现次数与在垃圾邮件中出现次数的差值,将所述词划分为两部分,其中差值大的一部分为正常邮件代表词库,差值小的一部分为垃圾邮件代表词库。
其中,根据所述差值构成正常邮件代表词库和垃圾邮件代表词库的方法为:根据所述训练样本集中的词在正常邮件中出现次数与在垃圾邮件中出现次数的差值,将所述词划分为三部分,其中差值大的一部分为正常邮件代表词库,差值小的一部分为垃圾邮件代表词库,将差值位于中间部分的词丢弃。
其中,将训练样本集中词划分为正常邮件代表词库或垃圾邮件代表词库时,获取测试样本作为待检测样本进行分类的错误率高于设定值,则确定所述词为丢弃词。
其中,在构建正常邮件代表词库和垃圾邮件代表词库步骤前,还包括对所述训练样本集的词进行预处理的步骤:通过统计所述训练样本集中不同词在每封邮件中是否出现,获取不同词的出现频率,丢弃出现频率高于95%的词后得到预处理后的词。
其中,该方法中采用人工神经网络法根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系。
其中,该方法中采用支持向量机根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系。
利用本发明提供的垃圾邮件检测方法进行垃圾邮件检测时,结果表明在仅使用两个浓度特征的情况下,所提出的特征构造方法与其他方法相比较取得了很好的性能提升。此外,这种特征构造方法极大的简化了分类器的设计与实现,从而保证了分类器的泛化性能,具有训练过程与检测过程速度快,而且精度高的优点,高效迅速地实现了垃圾邮件检测。
附图说明
图1为现有技术中垃圾邮件检测的系统框架;
图2为本发明垃圾邮件检测方法的流程图;
图3为本发明实施例中本实施例中构建‘自己’基因库和‘非己’基因库的方法流程图。
具体实施方式
本发明提出的垃圾邮件检测方法,结合附图和实施例说明如下。
如图2所示为本发明提供的垃圾邮件检测方法,该方法包括步骤:s201,获取分类为正常邮件和垃圾邮件的训练样本集;s202,根据训练样本集构建正常邮件代表词库和垃圾邮件代表词库;s203,根据训练样本集中每封邮件在正常邮件代表词库和垃圾邮件代表词库中出现不同词的个数与邮件中不同词的个数,获取邮件的浓度特征向量;s204,根据浓度特征向量与邮件的分类,建立浓度特征向量与分类的对应关系;s205,根据待检测邮件在正常邮件代表词库和垃圾邮件代表词库中出现不同词的个数与待检测邮件中不同词的个数,获取待检测邮件的浓度特征向量;s206,根据建立的浓度特征向量与分类的对应关系,得到待检测邮件的分类。
在自然免疫系统中,病原体的入侵可以简单的通过抗体浓度的升高检测出来,而我们也希望能够借鉴这种思想并应用于垃圾邮件检测当中。
本发明的垃圾邮件检测方法是基于免疫浓度的特征提取方式的,下面结合附图详细说明本发明的实施方式。
实施例1
本实施例中的训练样本集采用标准数据集PU1(I.Androutsopoulos,J.Koutsias,K.V.Chandrinos,and C.D.Spyropoulos,“An experimental comparison of naive bayesian and keyword-based anti-spam filtering withpersonal e-mail messages,”in Proc.of the 23rd Annual InternationalACM SIGIR Conference on Research and Development in InformationRetrieval,2000,pp.160-167.)和数据集Ling(I.Androutsopoulos,J.Koutsias,K.V.Chandrinos,G.Paliouras,and C.D.Spyropoulos,“Anevaluation of naive bayesian anti-spam filtering,”in Proc.EuropeanConference on Machine Learning(ECML’00),2000)。
PU1数据集包含1099封邮件,其中垃圾邮件的比率为43.77%。PU1数据集中包含经过22个月收集得到的481封垃圾邮件,以及经过36个月收集得到的618封正常邮件。所有的邮件均为英文邮件并且不含有内容重复的邮件。
Ling数据集包含2893封邮件,其中垃圾邮件的比率为16.63%。Ling数据集中包含481封垃圾邮件和2412封正常邮件。正常邮件是从邮件服务器存档中随机下载得到。所有的邮件均为英文邮件并且不含有内容重复的邮件。
两个数据集中所有的邮件均去除了邮件头,附件以及HTML标签。只保留了邮件主题部分和邮件体部分。在PU1数据集中,为了保护隐私,每一个词被映射为一个唯一的整数。在Ling数据集中,所有的邮件保持了原始的明文形式。
获取训练包含正常邮件与垃圾邮件的训练样本集后,下面的步骤可以分为四个部分:(1)利用训练样本产生‘自己’基因库和‘非己’基因库;(2)通过‘自己’基因库和‘非己’基因库为训练集中的每一个邮件样本构造浓度特征向量;(3)将上述这些浓度特征向量作为连续分类算法的输入进行分类器的训练;(4)训练好的分类器被用来检测由浓度特征向量所属的类别。具体如下:
(1)利用训练样本产生‘自己’基因库和‘非己’基因库
本实施例中将基于训练样本集构建正常邮件代表词库称为‘自 己’基因库,将基于训练样本构建的垃圾邮件代表词库称为‘非己’基因库。
在该方法中,通过训练样本来构建‘自己’基因库和‘非己’基因库。基因库中的每一个基因片段是一个词。‘自己’基因库中由最具正常邮件代表倾向的词组成。相反的,‘非己’基因库中包含了最具垃圾邮件代表倾向的词。直观上,一个词如果在正常邮件中出现的次数很多而同时它在垃圾邮件出现的次数很少的话,那么这个词能够较好的表示正常邮件,反之亦然。因此,一个词对于正常邮件或者是垃圾邮件的代表的倾向性由它在正常邮件中的出现次数与它在垃圾邮件中的出现次数的差值来衡量。
如图3所示的本实施例中构建‘自己’基因库和‘非己’基因库的方法流程图,该方法包括步骤:s302,统计训练样本中每个词在正常邮件中出现的次数fn;s303,统计训练样本中每个词在垃圾邮件中出现的次数fs;s304,计算训练样本中每个词在正常邮件中出现的次数fn 与在垃圾邮件中出现的次数fs的差值fd=fn-fs;s305,将训练样本中词按照其对应的差值fd降序排序;步骤s306,位于队列头部和队列尾部的一部分比例的词将分别用于构建‘自己’基因库和‘非己’基因库。
图3所示的方法中,本实施例中在构建‘自己’基因库和‘非己’基因库之前,将会通过预处理对候选词进行筛选以降低词库的大小。根据垃圾邮件检测技术,几乎在所有邮件中都出现的词对于区分是否是垃圾邮件是没有帮助的,因为每一种类别的邮件都有大量的包含该特征的词。在这里,为了简单起见,本实施例中采用了如下的预处理步骤s301:通过统计所述训练集样本中不同词在每封邮件中是否出现,获取不同词的出现频率,丢弃出现频率高于95%的词后得到预处理后的词。
(2)为训练集中的每一个邮件样本构造浓度特征向量
本实施例中一封邮件的浓度被定义为该邮件中在基因库中出现的不同词的个数与该邮件中不同词的个数的比值。浓度可公式化为
其中,c表示浓度,N表示邮件中在基因库中出现的不同词的个数,W表示邮件中不同词的个数。
公式(2)中适用的基因库包括已建立的‘自己’基因库或‘非己’基因库。因此,对于训练样本中一封待分类邮件,可以分别得到描述它和正常邮件相似性的‘自己’浓度和描述它和垃圾邮件相似性的‘非己’浓度。即根据训练样本集中每封邮件在正常邮件代表词库出现不同词的个数与邮件中不同词的个数比值,得到邮件的‘自己’浓度;根据训练样本集中每封邮件在垃圾邮件代表词库中出现不同词的个数与邮件中不同词的个数比值,得到所述邮件的‘非己’浓度;由邮件的‘自己’浓度与‘非己’浓度组成邮件的浓度特征向量。
(3)将邮件的浓度特征向量作为连续分类算法的输入进行分类器的训练
特征提取的目的是将邮件从原始形式转化为分类器可以理解的方式,本实施例前面的步骤已完成了邮件特征提取的过程,该邮件特征为邮件浓度特征向量,对于后序的根据浓度特征向量与邮件的分类,建立浓度特征向量与分类的对应关系的过程,使用现有的分类器算法就可以完成,后端所使用的分类器算法可以是支持向量机,人工神经网络,Adaboost等。具体是将特征提取过程中得到的邮件浓度特征向量及邮件的分类作为输入,输入到人工神经网络或支持向量机进行训练,就可以得到训练好的分类器。
(4)用分类器检测由浓度特征向量所表示的待检测邮件的分类
分类器被训练好,就可以进行待检测邮件检测,在每接收到一封待检测邮件后,根据待检测邮件的在正常邮件代表词库出现不同词的个数与待检测邮件中不同词的个数比值,得到待检测邮件的‘自己’浓 度;根据待检测邮件的在垃圾邮件代表词库出现不同词的个数与待检测邮件中不同词的个数比值,得到待检测邮件的‘非己’浓度;由待检测邮件的‘自己’浓度与‘非己’浓度组成待检测邮件的浓度特征向量,待检测邮件的浓度特征向量作为分类器的输入,分类器根据建立的浓度特征向量与分类的对应关系,输出邮件所属的分类,从而可以判断该待检测邮件是否为垃圾邮件。
本实施例中在第(1)部分利用训练样本产生‘自己’基因库和‘非己’基因库时,所提及的位于队列头部和队列尾部的一部分比例的词将分别用于构建‘自己’基因库和‘非己’基因库,这里所说的一部分比例,可以是将队列直接分为两部分,位于队列的前半部分的词构成‘自己’基因库,位于队列的后半部分的词构成‘非己’基因库。这样直接将队列一分为二的作法得到的基因库的性能有一定的准确性,但还有待于进一步优化,本实施例中参数PN%和PS%唯一确定‘自己’基因库和‘非己’基因库,PN%和PS%的取值范围均为0~50%,从队列的起始位置到队列的PN%范围内的词构成‘自己’基因库,从队列的末位置到队列的PS%范围内的词构成‘非己’基因库,因此通过优化PN%和PS%的数值,可以丢弃中位于队列中间部分的词,优化‘自己’基因库和‘非己’基因库。
本实施例中采用如下方法获取优选的PN%和PS%的数值:本实施例中将PN和PS称之为基因库决定子,PN和PS在5%到50%的区间内进行相互独立测试,测试步长为5%,即PN%和PS%的数值从5%的取值开始,在PN和PS在取不同值时构建‘自己’基因库和‘非己’基因库,从队列的起始位置到队列的PN%范围内的词构成‘自己’基因库,从队列的末位置到队列的PS%范围内的词构成‘非己’基因库;在执行前面所述的步骤(2)~(3)后,将测试样本输入到分类器中进行测试,根据测试的分类结果可以获取PN和PS在取不同值时构建‘自己’基因库和‘非己’基因库的分类错误率。本实施例中的分类错误率目标为0.01, 在上述5%到50%的区间内进行测试时,分类错误率的PN%和PS%的取值不再选用。本实施例中10次交叉验证被用于评价性能。在试验中进行了10次独立的测试,每一次测试使用样本集中未参加训练的样本作为测试样本。采用10次测试的平均性能来评价浓度特征向量的性能。
10次独立测试的平均性能表明在PU1数据集上,当PN和PS均取30%时,获得了最佳的性能。而在Ling数据集上,当PN和PS分别取50%和5%时,取得的性能最好。
现有技术中常使用正确率,精确率,召回率和丢失率这四项指标对分类器的性能进行评价。正确率被定义为正确分类的邮件的百分率。精确率定义为被正确分类为垃圾邮件的邮件个数与被判别为垃圾邮件的邮件个数的比率。召回率定义为被正确分类为垃圾邮件的邮件个数与自身类别为垃圾邮件的邮件个数的比率。当过滤垃圾邮件时,错误的将一封正常邮件分类为垃圾邮件所造成的损失要远比未能识别出一封垃圾邮件严重。丢失率就是用来表示被错误分类的正常邮件的邮件数目与自身类别为正常邮件的邮件个数的比率。在此我们采用将上述四种性能评价指标列于表1中。
表1.性能评价指标
指标 | 表达式 |
正确率 | (TP+TN)/(TP+FP+FN+TN) |
精确率 | TP/(TP+FP) |
召回率 | TP/(TP+FN) |
丢失率 | FP/(FP+TN) |
表1中,TP:被正确分类的垃圾邮件的数量。FN:被分类为正常邮件的垃圾邮件的数量。TN:被正确分类的正常邮件的数量。FP:被分类为垃圾邮件的正常邮件的数量。
分类器除了BP神经网络外,我们还使用了线性分类器,线性核 支持向量机SVM,径向基神RBF核SVM来验证二维浓度特征向量的性能。当代价参数C足够大时(通常大于50时),SVM的性能并不会显著依赖参数C的选择。在实验中我们设置C为100。在最初的尝试性实验中,测试了一系列的RBF核参数γ。结果表明SVM的性能对γ的选择并不敏感。在实验中我们设置γ为10。BP神经网络的隐层节点个数被设置为3。表2和表3分别列出了在数据集PU1和Ling上测试集的平均性能。
表2.PN%和PS%均取30%时,不同分类器在PU1测试集的平均性能
分类器 | 正确率(%) | 精确率(%) | 召回率(%) | 丢失率(%) | 特征个数 |
线性分类器 | 95.45 | 95.74 | 93.75 | 3.23 | 2 |
线性核SVM | 95.41 | 95.74 | 93.75 | 3.28 | 2 |
RBF核SVM | 96.36 | 97.83 | 93.75 | 1.64 | 2 |
BP神经网 | 96.53 | 97.76 | 93.95 | 1.37 | 2 |
表3.PN%和PS%分别取50%和5%时,不同分类器在Ling测试集的平均性能
分类器 | 正确率 (%) | 精确率(%) | 召回率(%) | 丢失率(%) | 特征个数 |
线性分类器 | 97.58 | 97.76 | 87.5 | 0.41 | 2 |
线性核SVM | 98.96 | 95.92 | 97.92 | 0.83 | 2 |
RBF核SVM | 98.62 | 95.83 | 95.83 | 0.81 | 2 |
BP神经网 | 98.96 | 97.87 | 95.83 | 0.41 | 2 |
实施例2
本实施例中与实施例1的不同之处在于,在优化过程不但优化PN 和PS的取值,还优化分类器的参数。
现有技术中有许多被用于优化的方法,本实施例中具体采用的为粒子群优化算法优化PN和PS的取值及分类器的参数。
由J.Kennedy和R.Eberhart在1995年提出的粒子群优化算法 (PSO),是一种受到鸟群觅食的社会行为启发的随机全局优化算法[。当今,PSO已经被广泛的应用到了各个领域,包括数值函数优化,人工神经网络训练,模糊系统控制,盲源分离,机器学习等。CPSO是传统标准粒子群优化算法(SPSO)的一种改进算法,它引入了免疫克隆策略的机制。和SPSO相比,CPSO具有更佳的优化求解能力和更快的收敛能力。
唯一确定‘自己’和‘非己’浓度的‘自己’和‘非己’基因库的构建在这里被看作为一个优化问题。本实施例的目的是寻求一个最优向量 使得和分类相关的代价函数CF(P)取得最小值
CF(P)=Err(P)(6)
其中,PN *为使代价函数最小的PN的取值,PS *为使代价函数最小的PS 的取值,P1,P2,…Pm为特定分类器的参数,P1 *,P2 *,...Pm *为使代价函数取最小值的特定分类器的参数,Err(P)是训练集上通过10次交叉验证度量的分类错误率。本实施例中首先确定特定分类器的输入向量P,输入向量P包括两部分,基因库决定子PN和PS,以及一个特定分类器的参数P1,P2,…Pm。基因库决定子唯一决定了基因库的构造,进而确定了表示邮件的二维浓度特征向量。因此,基因库决定子对应特征构造的性能。输入向量P的另一部分——P1,P2,…Pm,和分类器相关并最终影响分类器的性能。不同的分类器具有不同个数的参数。对于人工神经网络而言,确定网络结构的参数包括网络层的数目,各个层的节点数目,连接两个节点的权重等。对于支持向量机SVM而言,包括代价参数C和核函数相关的参数等。输入向量P是我们的优化目标而其性能通过CF(P)来衡量。因此,浓度特征向量的优化过程可以被公式化,具体为求解 使得
不需要目标函数解析表达式的优化方法,只需要确定输入向量与优化目标向量的优化方法诸如遗传算法,粒子群优化算法PSO都可 用于上述优化过程。本实施例中将上述输入向量输入PN%和PS%的范围均为5%~50%,设定人工神经网络或支持向量机的特定参数范围后,支持向量机通过计算由上述各个数值范围内构建的基因库与分类器情况下得到的测试样本的分类错误率,自动获得上述各个数值的最优取值,从而使基因库决定子得到优化,优化了‘自己’基因库与‘非己’基因库,同时也优化了分类器的性能。
本实施例中每一个粒子的适应度值是通过10次交叉验证度量的训练集上的分类错误率。分类错误率越低,适应度值越好。在等式7中,PN和PS在实数区间[0,0.5]内优化。P1,P2,...Pm是和分类器相关的参数。线性分类器没有参数。对于BP神经网络,隐层节点数在整数区间[3,15]内优化。径向基SVM的代价参数C在实数区间[1,200]内优化。此外,对于RBF核SVM,核参数γ在实数区间[1,20]内优化。CPSO的运行终止条件,即最大迭代次数被设置为200。此外,将粒子群的大小设置为20个粒子。我们对数据集的10个不同等份进行了十次不同的实验,取十次实验结果的平均值来衡量性能。因为CPSO的随机性,在每一次实验中我们统计10次独立CPSO优化实验的平均值作为本次实验的性能。实验结果表明最终的性能对于分类器参数的选取并不敏感。这也验证了选取分类器参数时的尝试性实验结果。表4和表5分别列出了在PU1和Ling上通过优化得到的测试集上的平均性能,以及PN和PS的平均优化结果。
表4.不同分类器及基因库决定子通过优化在PU1测试集上的平均性能
分类器 | 正确率 (%) | 精确率 (%) | 召回率 (%) | 丢失率 (%) | PN(%) | PS(%) | 特征个数 |
线性分类器 | 97.27 | 97.87 | 95.83 | 1.64 | 28.37 | 27.83 | 2 |
线性核SVM | 98.16 | 97.92 | 97.92 | 1.64 | 28.62 | 27.47 | 2 |
RBF核SVM | 98.18 | 97.93 | 97.92 | 1.61 | 28.68 | 27.53 | 2 |
BP神经网络 | 98.69 | 98.39 | 98.61 | 1.61 | 28.56 | 27.59 | 2 |
表5.不同分类器及基因库决定子通过优化在Ling测试集上的平均性能
分类器 | 正确率 (%) | 精确率 (%) | 召回率 (%) | 丢失率 (%) | PN(%) | PS(%) | 特征个数 |
线性分类器 | 98.96 | 97.87 | 95.83 | 0.41 | 47.58 | 4.73 | 2 |
线性核SVM | 99.65 | 98.96 | 99.02 | 0.45 | 48.31 | 4.58 | 2 |
RBF核SVM | 99.53 | 98.74 | 99.32 | 0.52 | 48.14 | 4.65 | 2 |
BP神经网络 | 99.75 | 98.89 | 98.81 | 0.21 | 47.83 | 4.51 | 2 |
本实施例中训练样本测试集不限于使用标准数据集,也可以采用其他的具有代表性的训练样本集,本实施例中分类器不限于所列出的上述分类器,只要是现有技术中根据特征向量可以建立特征向量与分类结果对应关系的分类器都可以使用。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (8)
1.一种垃圾邮件检测的方法,其特征在于,该方法包括步骤:
获取分类为正常邮件和垃圾邮件的训练样本集;
根据训练样本集构建正常邮件代表词库和垃圾邮件代表词库;
根据训练样本集中每封邮件在正常邮件代表词库出现不同词的个数与所述邮件中不同词的个数比值,得到所述邮件的自己浓度;
根据训练样本集中每封邮件在垃圾邮件代表词库中出现不同词的个数与所述邮件中不同词的个数比值,得到所述邮件的非己浓度;
由所述邮件的自己浓度与非己浓度组成所述邮件的浓度特征向量;
根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系;
根据待检测邮件在正常邮件代表词库出现不同词的个数与所述待检测邮件中不同词的个数比值,得到所述待检测邮件的自己浓度;
根据待检测邮件在垃圾邮件代表词库出现不同词的个数与所述待检测邮件中不同词的个数比值,得到所述待检测邮件的非己浓度;
由所述待检测邮件的自己浓度与非己浓度组成所述待检测邮件的浓度特征向量;
根据建立的浓度特征向量与分类的对应关系,得到所述待检测邮件的分类。
2.如权利要求1所述的邮件检测的方法,其特征在于,构建正常邮件代表词库和垃圾邮件代表词库的方法包括步骤:
获取所述训练样本集中每个词在正常邮件中出现次数与在垃圾邮件中出现次数的差值;
根据所述差值选择所述词为正常邮件代表词或垃圾邮件代表词,构成正常邮件代表词库和垃圾邮件代表词库。
3.如权利要求2所述的邮件检测的方法,其特征在于,根据所述差值构成正常邮件代表词库和垃圾邮件代表词库的方法为:
根据所述训练样本集中的词在正常邮件中出现次数与在垃圾邮件中出现次数的差值,将所述词划分为两部分,其中差值大的一部分为正常邮件代表词库,差值小的一部分为垃圾邮件代表词库。
4.如权利要求2所述的邮件检测的方法,其特征在于,根据所述差值构成正常邮件代表词库和垃圾邮件代表词库的方法为:
根据所述训练样本集中的词在正常邮件中出现次数与在垃圾邮件中出现次数的差值,将所述词划分为三部分,其中差值大的一部分为正常邮件代表词库,差值小的一部分为垃圾邮件代表词库,将差值位于中间部分的词丢弃。
5.如权利要求4所述的邮件检测的方法,其特征在于,将训练样本集中词划分为正常邮件代表词库或垃圾邮件代表词库时,获取测试样本作为待检测样本进行分类的错误率高于设定值,则确定所述词为丢弃词。
6.如权利要求1~5任一项所述的垃圾邮件检测的方法,其特征在于,在构建正常邮件代表词库和垃圾邮件代表词库步骤前,还包括对所述训练样本集的词进行预处理的步骤:通过统计所述训练样本集中不同词在每封邮件中是否出现,获取不同词的出现频率,丢弃出现频率高于95%的词后得到预处理后的词。
7.如权利要求1所述的垃圾邮件检测的方法,其特征在于,该方法中采用人工神经网络法根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系。
8.如权利要求1所述的邮件检测的方法,其特征在于,该方法中采用支持向量机根据所述浓度特征向量与所述邮件的分类,建立浓度特征向量与分类的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101155841A CN101295381B (zh) | 2008-06-25 | 2008-06-25 | 一种垃圾邮件检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101155841A CN101295381B (zh) | 2008-06-25 | 2008-06-25 | 一种垃圾邮件检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101295381A CN101295381A (zh) | 2008-10-29 |
CN101295381B true CN101295381B (zh) | 2011-09-28 |
Family
ID=40065647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101155841A Expired - Fee Related CN101295381B (zh) | 2008-06-25 | 2008-06-25 | 一种垃圾邮件检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101295381B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377690B (zh) * | 2011-10-10 | 2014-09-17 | 网易(杭州)网络有限公司 | 反垃圾邮件网关系统及方法 |
CN103166830B (zh) * | 2011-12-14 | 2016-02-10 | 中国电信股份有限公司 | 一种智能选择训练样本的垃圾邮件过滤系统和方法 |
CN103457829B (zh) * | 2012-06-05 | 2016-12-14 | 百度在线网络技术(北京)有限公司 | 基于helpdesk自动化邮件系统的邮件处理方法和系统 |
CN103914494B (zh) * | 2013-01-09 | 2017-05-17 | 北大方正集团有限公司 | 一种微博用户身份识别方法及系统 |
CN103442013A (zh) * | 2013-09-03 | 2013-12-11 | 盈世信息科技(北京)有限公司 | 一种垃圾邮件计算机辅助处理方法及系统 |
CN103441924B (zh) * | 2013-09-03 | 2016-06-08 | 盈世信息科技(北京)有限公司 | 一种基于短文本的垃圾邮件过滤方法及装置 |
CN104484380A (zh) * | 2014-12-09 | 2015-04-01 | 百度在线网络技术(北京)有限公司 | 个性化搜索方法及装置 |
CN104794176A (zh) * | 2015-04-02 | 2015-07-22 | 中国科学院信息工程研究所 | 一种基于多属性的误发邮件检测方法 |
CN104731772B (zh) * | 2015-04-14 | 2017-05-24 | 辽宁大学 | 基于改进特征评估函数的贝叶斯垃圾邮件过滤方法 |
CN104967558B (zh) * | 2015-06-10 | 2018-04-27 | 东软集团股份有限公司 | 一种垃圾邮件的检测方法及装置 |
CN107707462A (zh) * | 2017-10-31 | 2018-02-16 | 下代互联网重大应用技术(北京)工程研究中心有限公司 | 基于云计算的垃圾邮件应急处理方法 |
CN110300383A (zh) * | 2019-05-24 | 2019-10-01 | 深圳市趣创科技有限公司 | 一种垃圾短信过滤程序算法及装置与系统和存储介质 |
CN111865759B (zh) * | 2020-06-23 | 2022-08-02 | 苏宁云计算有限公司 | 邮件处理方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750030A (zh) * | 2005-10-25 | 2006-03-22 | 二六三网络通信股份有限公司 | 一种过滤垃圾邮件的方法 |
CN101106539A (zh) * | 2007-08-03 | 2008-01-16 | 浙江大学 | 基于支持向量机的垃圾邮件过滤方法 |
-
2008
- 2008-06-25 CN CN2008101155841A patent/CN101295381B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750030A (zh) * | 2005-10-25 | 2006-03-22 | 二六三网络通信股份有限公司 | 一种过滤垃圾邮件的方法 |
CN101106539A (zh) * | 2007-08-03 | 2008-01-16 | 浙江大学 | 基于支持向量机的垃圾邮件过滤方法 |
Non-Patent Citations (6)
Title |
---|
.基于多特征模糊关联的垃圾邮件过滤方法.《微电子学与计算机》.2008,第25卷(第3期), |
侯琳 |
廖明涛 |
廖明涛;张德运;侯琳;李金库;.基于多特征模糊关联的垃圾邮件过滤方法.《微电子学与计算机》.2008,第25卷(第3期), * |
张德运 |
李金库 |
Also Published As
Publication number | Publication date |
---|---|
CN101295381A (zh) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101295381B (zh) | 一种垃圾邮件检测方法 | |
CN101166159B (zh) | 一种确定垃圾信息的方法及系统 | |
CN103177024A (zh) | 一种话题信息展现方法和装置 | |
CN101996241A (zh) | 一种基于贝叶斯算法的内容过滤方法 | |
CN111310476A (zh) | 一种使用基于方面的情感分析方法的舆情监控方法和系统 | |
Jain et al. | Predicting spam messages using back propagation neural network | |
CN104317784A (zh) | 一种跨平台用户识别方法和系统 | |
CN103324745A (zh) | 基于贝叶斯模型的文本垃圾识别方法和系统 | |
CN104967587A (zh) | 一种恶意账号的识别方法,及装置 | |
CN102999538B (zh) | 人物搜索方法和设备 | |
Kadam et al. | Word embedding based multinomial naive bayes algorithm for spam filtering | |
CN105117466A (zh) | 一种互联网信息筛选系统及方法 | |
CN110334180B (zh) | 一种基于评论数据的移动应用安全性评估方法 | |
Dada et al. | Random forests machine learning technique for email spam filtering | |
Khan et al. | Text mining approach to detect spam in emails | |
Chatzakou et al. | User identity linkage in social media using linguistic and social interaction features | |
CN105337842B (zh) | 一种与内容无关的垃圾邮件过滤方法 | |
CN101329668A (zh) | 一种信息规则生成方法及装置、信息类型判断方法及系统 | |
Zhu et al. | Extracting discriminative information from e-mail for spam detection inspired by immune system | |
CN102799666A (zh) | 一种基于频繁词集的网络新闻自动文本分类的方法 | |
Luckner | Practical web spam lifelong machine learning system with automatic adjustment to current lifecycle phase | |
Patel et al. | Rumour detection using graph neural network and oversampling in benchmark Twitter dataset | |
Gang et al. | Research on Clue Mining in Criminal Cases of Smart Phone Trojan Horse under the Background of Information Security. | |
Kumari et al. | Robust machine learning technique for detection and classification of spam mails | |
Poonkodi | E-Mail Spam Filtering Through Feature Selection Using Enriched Firefly Optimization Algorithm |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110928 Termination date: 20140625 |
|
EXPY | Termination of patent right or utility model |