CN101540017B - 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 - Google Patents
基于字节级n元文法的特征提取方法及垃圾邮件过滤器 Download PDFInfo
- Publication number
- CN101540017B CN101540017B CN200910071908.0A CN200910071908A CN101540017B CN 101540017 B CN101540017 B CN 101540017B CN 200910071908 A CN200910071908 A CN 200910071908A CN 101540017 B CN101540017 B CN 101540017B
- Authority
- CN
- China
- Prior art keywords
- byte
- feature
- gram
- information
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
基于字节级n元文法的特征提取方法及垃圾邮件过滤器,涉及到包括垃圾邮件过滤技术在内的信息处理技术领域。它解决了现有文本特征提取方法中存在的需要词库支持,并不能够同时适应对英文、汉字、图形以及其它形式信息的特征提取、鉴别的问题,本发明的特征提取方法所提取的特征信息为m个长度为n个字节的信息片段序列。本发明的垃圾邮件过滤器中的分类器采用上述方法提取邮件的特征信息作为判断依据,并采用逻辑回归模型这一判别学习模型从理论上保证能够取得良好的过滤性能;本发明的垃圾邮件过滤器中的训练器采用在线学习方式,采用TONE(Train On or Near Error)方法调整特征权重。本发明的垃圾邮件过滤器尤其适用于中文垃圾邮件的过滤。
Description
技术领域
本发明涉及到包括垃圾邮件过滤技术在内的信息处理领域,具体涉及到信息过滤、信息推送、模式识别领域。
背景技术
在处理对象为包含多种信息类型的信息单元(如网页、电子邮件)时,用户的特定信息需求有两种表现形式:信息过滤和信息推送。它们具有相同的本质:用户的信息需求不变,需要从不断到来的信息中甄别出信息的属性,即用户是否需求该信息。由于处理对象为包含多种信息类型的信息单元,语言是信息的重要载体,信息过滤和信息推送时主要依靠文本信息。但仅依靠文本信息丢失了大量有价值的信息,不能仅使用文本信息。例如对于垃圾邮件过滤,图像特征被使用[ImprovingImageSpamFilteringUsingImageTextFeaturesGiorgioFumera,FabioRoli,BattistaBiggioandIgnazioPillai.FourthConferenceonEmailandAnti-Spam(CEAS2007)](使用图象文本信息特征提升图象垃圾邮件过滤性能)。但单独处理各种信息形式的复杂度极高,同时还面临多信息融合的困难。
随着电子邮件的广泛应用,伴随而来的垃圾邮件问题日益严重。它不仅消耗网络资源、占用网络带宽、浪费用户的宝贵时间和上网费用,而且严重威胁网络安全,已成为网络公害,带来了严重的经济损失。中国互联网协会反垃圾邮件中心发布的2007年第四季度反垃圾邮件调查报告显示,垃圾邮件在规模上不断增长,2007年第四季度中国网民平均每周收到的垃圾邮件比例为55.65%。迫切需要有效的技术解决垃圾邮件泛滥的问题。
近几年,基于机器学习的文本分类法在垃圾邮件过滤中发挥了巨大的作用,邮件过滤本质上是一个在线二值分类问题,过滤器将邮件区分为Spam(垃圾邮件)或Ham(正常邮件)。典型的方法包括贝叶斯方法、支持向量机(SVM,SupportVectorMachine)方法、最大熵方法、PPM(PredictionbyPartialMatch)压缩算法等。机器学习方法过滤正确率高、成本低,是当前的主流方法,具有广泛的应用前景。应用机器学习方法对垃圾邮件进行过滤时涉及到3个问题:模型选择、特征抽取(邮件表示)以及训练方法。
从模型上看,机器学习技术可以分为生成模型(如贝叶斯模型)和判别模型(如SVM、最大熵模型)。在相关领域——文本分类中,判别模型的分类效果比生成模型的分类效果要好,特别在没有足够多的训练数据的时候,这种现象更明显。在生成模型方面,著名的Bogo系统就是基于贝叶斯模型的,在TREC评测中作为基准(Baseline)系统。用于数据压缩的CTW(contexttreeweight)和PPM(PredictionbyPartialMatch)等压缩算法被引入到了垃圾邮件过滤。CTW和PPM是数据压缩中使用的动态压缩算法,其原理是根据已经出现的数据流预测后面要出现的数据流,预测的越准,所需的编码也就越少,并据此进行分类。2004年,Hulten和Goodman在PU-1垃圾邮件过滤测试集上做实验,证明了在邮件过滤上,判别模型的分类效果比生成模型的分类效果要好。不严格的在线支持向量机(RelaxedOnlineSVM)克服了支持向量机计算量大的问题被用于解决垃圾邮件过滤的问题,并在TREC2007评测中取得了很好效果。Goodman和Yih提出使用在线逻辑回归模型,避免了SVM、最大熵模型的大量计算,并取了与上一年度(2005年)最好结果可比的结果。
在特征抽取(即邮件表示)上,邮件的文本内容是当前过滤器处理的重点。邮件过滤的依据是邮件的特征,特征项的定义,是影响分类性能的关键因素。和文本分类问题相比,邮件过滤有其特殊之处。反垃圾邮件技术在进步,发送垃圾邮件的技术也在不断地提高。由于巨大的利益驱动,狡猾的垃圾邮件发送者对其电子邮件信息进行多方面的伪装,通过各种手段将垃圾邮件伪装为正常邮件。同时,大量垃圾邮件以图像的形式出现,导致传统方法失效;单纯的依赖邮件的文本内容对含有病毒的垃圾邮件无能为力。大多数英文过滤器以词作为过滤单元,中文过滤器则是以词作为过滤单元。由于垃圾邮件对文本的内容进行了变形,使得上述方法存在缺陷。非精确的字符串匹配被用于解决这个问题,参见D.Sculley.AdvancesinOnlineLearning-basedSpamFiltering(垃圾邮件过滤的在线学习技术进展)Medford,MA,USA:TuftsUniversity.2008.,但该方法只对英文垃圾邮件过滤有效,无法直接用于中文垃圾邮件过滤。在信息检索领域的字符级n元文法被引入垃圾邮件过滤,并在TREC评测中取得优于词袋(Bagofword)假设的结果,参见V.Keselj,E.Milios,A.Tuttle,S.Wang,R.Zhang.DalTREC2005SpamTrack:SpamFilteringUsingN-gram-basedTechniques(DalTREC2005垃圾邮件过滤评测:n-gram技术).TheFourteenthTextREtrievalConference(TREC2005)Proceedings.2005.
使用字符级n-gram可以有效解决字符变形,但对于病毒邮件、文本内容转换为图像、转换为PDF文件、以MP3附件形式发送的垃圾邮件无能为力(后两种形式为2008年新出现的,目前尚未见有效处理手段)。鉴于大量垃圾邮件将文本内容转换为图像,基于图像分析(ImageAnalysis)的过滤技术近年来得到重视。使用该技术,增大了垃圾邮件过滤系统的复杂性,且效果有限。
在训练方法上,最简单也是最常用的训练方法就是对每一封邮件都进行训练。这种方法在实际应用中已经获得了很好的效果,但是有两个问题。第一个问题是内容相近的邮件可能被多次训练,增加资源的耗费。第二个问题是会出现过度训练的问题,使过滤器过度拟合已经出现的邮件,而对未见过的邮件的泛化能力较弱。改用TOE(TrainOnError)方法后,仅当邮件被误判时才进行训练,这种方法只能用于判别学习模型。这样可防止过度训练、减小空间占用并提高速度。尽管过度训练会极大的影响过滤器的准确率,但TOE训练法在另一个方向走过了头,仅对误判的邮件进行训练导致过滤器训练数据不足,其对准确率仍有影响。TONE(TrainOnorNearError)在TOE基础上加以改进,预设一个分数界限,当邮件得分与判断阀值之差的绝对值在界限之内时,即使正确判断也进行训练,参见D.Sculley,G.M.Wachman.RelaxedOnlineSVMsintheTRECSpamFilteringTrack(在TREC垃圾邮件过滤评测中应用不严格的在线支持向量机模型).TheSixteenthTextREtrievalConference(TREC2007).2007。
对于信息过滤和信息推送,由于不断有新的信息到来,批处理学习方式并不适合这类任务,在线学习得到应用,如微软公司申请的专利(公开号为CN1716293)提出了增量反垃圾邮件查找与更新服务,即在线学习模式;Goodman和Yih在论文J.GoodmanandW.Yih.OnlineDiscriminativeSpamFilterTraining(在线判别垃圾邮件过滤训练).ThirdConferenceonEmailandAnti-Spam(CEAS2006).2006:113-115.(http://www.ceas.cc/2006/22.pdf)中描述了在线逻辑回归模型。
发明内容
为了解决现有文本特征提取方法中存在的需要词库支持,并不能够同时适应对多语文字(如英语、汉语)、图形以及其它形式信息的特征提取、鉴别的问题,本发明提出了一种基于字节级n元文法的特征提取方法及垃圾邮件过滤器。
本发明的基于字节级n元文法(byteleveln-gram)的特征提取方法为:
对提取对象信息进行大小为n的滑动窗口操作,获得m个长度为n的字节片断序列作为特征信息,其中m、n为大于0的整数。
采用上述特征提取方法的垃圾邮件过滤器,它由分类器、特征权重库和训练器组成,其中:
分类器,用于对接收邮件进行特征提取并获得特征信息,还用于根据所述特征信息和特征权重库中的特征信息将接收邮件分为垃圾邮件和正常邮件,所述特征提取方法采用基于字节级n元文法的特征提取方法;
特征权重库,用于存储垃圾邮件的特征及其权重,并根据训练器提供的信息实时更新特征信息;所述用户是能够反馈垃圾邮件信息的垃圾邮件过滤器的使用者,包括垃圾邮件过滤器的实际使用者,即垃圾邮件过滤器的服务对象,还包括垃圾邮件服务商的工作人员;
训练器,根据用户的反馈对邮件的过滤结果进行在线学习,更新调整特征权重库中的信息。
本发明所述的训练器采用TONE训练方法进行垃圾邮件过滤器的训练。
所述分类器中的特征提取方法,可以提取信息流中的前m个长度为n的字节片断(以下称n-gram),也可以根据信息增益(InformationGain)、交叉熵(CrossEntropy)等统计方法提取n-gram。
本发明提出了字节级n元文法获取邮件特征,有效解决了垃圾邮件特征获取的问题,应用该特征不仅简化了特征提取,还使得过滤器能够处理图像、病毒邮件的能力,为大幅提高垃圾邮件过滤器的性能奠定了基础;采用TONE训练方法进行垃圾邮件过滤器的训练,减轻了系统对训练数据的需求,提高了系统的效率,同时还提高了系统的鲁棒性。
本发明提出的垃圾邮件过滤器的性能在TREC06数据上优于当年评测的最好成绩,在SEWM07立即反馈上1-ROCA值达到了0.0000%,并以绝对优势获得了SEWM08评测的所有在线过滤任务的第一名。
本发明所述的垃圾邮件过滤器尤其适用于对中文邮件的过滤。
附图说明
图1是本发明所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器的结构示意图。
具体实施方式
具体实施方式一:本实施方式所述的基于字节级n元文法(byteleveln-gram)的特征提取方法为:对提取对象信息进行大小为n的滑动窗口操作,获得m个长度为n的字节片断序列作为特征信息。
本实施方式中的特征选取方法,可以选择长度为n个字节滑动窗口,然后使用所述滑动窗口选取信息中连续的m个长度为n个字节的信息片断gram作为特征,第i+1个字节片断是以第i个字节片断中的第二个字节为首字节的,其中i为大于0的整数,并且i<m。
本实施方式中的特征信息提取方法,可以提取信息的前m个长度为n个字节的信息片段(n-gram)作为特征信息,还可以提取信息的后m个长度为n个字节的信息片段(n-gram)作为特征信息。
本实施方式中的特征信息提取方法,还可以根据信息增益(InformationGain)、交叉熵(CrossEntropy)等统计方法提取m个长度为n个字节的信息片段(n-gram)作为特征信息。
本实施方式采用字节级的片断序列作为特征提取出来,与以往的字序列的特征提取方式不同。它适用于对文字信息、图片信息、HTML格式邮件、图像文件、压缩文件等等现有各种格式的文件的特征提取
具体实施方式二:本实施方式所述的是一种基于具体实施方式一所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,它由分类器、特征权重库和训练器组成,其中:
分类器,用于对接收邮件进行特征提取并获得特征信息,还用于根据所述特征信息和特征权重库中的特征信息将接收邮件分为垃圾邮件和正常邮件,所述特征提取方法采用基于字节级n元文法的特征提取方法;
特征权重库,用于存储垃圾邮件的特征及其权重,并根据训练器提供的信息实时更新特征信息;所述用户是能够反馈垃圾邮件信息的垃圾邮件过滤器的使用者,包括垃圾邮件过滤器的实际使用者,即垃圾邮件过滤器的服务对象,还包括垃圾邮件服务商的工作人员;
训练器,根据用户的反馈对邮件的过滤结果进行在线学习,更新调整特征权重库中的信息。
所述分类器在提取了m个长度为n的字节片段之后,选取区别度大于设定阈值的字节片段作为特征信息。
本实施方式中的训练器采用在线学习方式。
所述分类器中的特征提取方法,可以提取信息流中的前m个n个字节(以下称n-gram),也可以根据信息增益(InformationGain)、交叉熵(CrossEntropy)等统计方法提取区别度大的字节n-gram。
所述分类器中的特征提取方法可以采用下述方法:选择长度为n个字节滑动窗口,然后使用所述滑动窗口选取邮件信息流中的m个n字节长度的信息片断gram作为特征,其中第i+1个信息片断的以第i个信息片断中的第二个字节为首字节,所述m、n和i为大于0的整数,并且i<m;所述m的大小根据邮件的实际长度确定。
具体实现上,可以将长度为n个字节的窗口从信息流的第一个字节处开始,自左向右连续移动,每次移动的步长为1个字节,窗口中出现的n个字节即为一个字节级n-gram(n元文法)。也可以信息流的尾端开始,自右至左形成字节级n-gram。对于n-gram,n=1时称为一元文法(unigram),n=2时称为二元文法(bigram),n=3时称为三元文法(trigram),n>3时,通常直接称为n-gram,如4-gram,5-gram。如:以ASCII编码的“hellowolrd”,它对应的字节级一元文法特征为:h、e、l、l、o、w、o、l、r、d,即所有单个的字节;它对应的字节级二元文法特征为:he、el、ll、lo、ow、wo、ol、lr、rd;它对应的字节级4-gram特征为:hell、ello、llow、lowo、owol、wolr、olrd。再如,以GB2312编码的“计算机”,它的机器内码为BCC6CBE3BBFA,字节级一元文法(为二进制串)为BC、C6、CB、E3、BB、FA;字节级二元文法(为二进制串)为BCC6、C6CB、CBE3、E3BB、BBFA;等等。而“计算机”对应的字符级一元文法为“计”、“算”、“机”;字符级二元文法为“计算”、“算机”。再如,对于十六进制串00090607,其所对应字节级一元文法为00、09、06、07;由于该串不存在对应字符,因此没有字符级以元文法。这是字符级n-gram和字节级n-gram的核心差异,这个差异导致了字节级n-gram能够有效提取含有图像、PDF文件、病毒等的邮件的特征。
在上述特征提取的过程中,可以提取部分n-gram来作为特征,即将区分度不大的特征删除,这样做,一方面可以达到降低提取的特征数量,加快处理速度;另一方面,由于删除了区分度不大的特征,降低了长邮件的影响,提高了过滤器/分类器的性能。
本实施方式所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器具有以下特点:
1、无需任何词典支持,无需进行分词处理;无需语言学先验知识;无需对邮件进行预处理,将邮件当作无差别的字节流对待,不用考虑文字编码的问题,同时具有处理复杂文件的能力,如HTML格式邮件、图像文件、压缩文件。与以词字、词组等为特征元素相比,这样定义特征元素能有效防止垃圾邮件信息被绕过的情况。如product进行文字变形,变换为p!roduct,pro_duct,prod-uct等等,基于词字、词组的过滤器就可能识别不出该特征,而基于字节的n元文法仍可以有效识别出该特征。例如,当n=4时,product进行特征抽取如下:prod、rodu、oduc、duct,以向量的形式表示为{duct,oduc,prod,rodu};当product文字变形后变为prod-uct时进行特征抽取如下:prod、rod-、od-u、d-uct、-uct,以向量的形式表示为{-uct、d-uct、od-u、prod、rod-};两者共有的特征是prod。当出现特征prod时,则该完整的单词为product的概率比只捕捉到特征prod时的概率要大得多。
2、更适合对中文信息的处理:中文使用至少2个字节表示一个字(如GB2312使用两个字节表示1个汉字,GB18030使用两个字节或四个字节表示1个汉字),不使用空格作为词的分隔符,因此,如果对汉字进行文字变换程度太大的话,是很难让人读懂的,如“胡锦涛”,常见的变形文字是“胡.锦.涛”、“hu锦涛”等,这种文字变形使得典型的以词为过滤单元的方法失效。但在基于字节级n元文法下,能够提取有效特征,表明了该邮件的性质。
3、适合对邮件附件、所包含的图片的处理:采用本发明的垃圾邮件过滤器,由于在对邮件的特征提取的过程中采用基于字节级n元文法的特征提取方法,能够提取邮件的文本内容;在处理邮件的附件、所包含的图片等组成成分时,还提取了它们的二进制特征,因此能够在一个简单的框架下处理以往很难处理问题。采用字节级n元文法提取邮件特征,避免了繁杂的邮件解析、汉字编码转换等工作,并使系统具有处理图像、病毒邮件的能力。
本实施方式所述的特征提取方法以字节为单位,适用于对英文信息、中文信息、图片信息进行特征提取,它可以适用于信息过滤、信息推送、模式识别技术领域。
现有垃圾邮件过滤器的学习方式可以分为在线学习和离线学习(批量学习)。在离线学习方式下,通过训练样本调整分类器的参数。在实际应用时,不再调整分类器的参数。在在线学习方式下,分类器根据用户的反馈不断调整特征的权重,使系统能够适应不断变化的应用环境。在线学习适用于需要快速更新的环境,受制于在线更新学习器,参数更新算法的复杂度要低,以适应实际应用的需求。离线学习方式反之。为了避免垃圾邮件被过滤器过滤,垃圾邮件发送者不断改进垃圾邮件。这就要求垃圾邮件过滤器具有良好的适应能力。在线学习方式能够满足过滤不断变化的垃圾邮件的要求,这也是TREC(TextREtrievalConference)和CEAS(ConferenceonEmailandAnti-Spam)评测采用在线学习方式的原因。
本实施方式中的训练器采用在线学习方式,这也是国际垃圾邮件过滤评测(如TREC、CEAS垃圾邮件过滤评测)采用的方式。所用的邮件在线过滤模式如图1所示,以分类器和训练器为中心分为分类和训练(即学习)两部分。分类器根据在线更新的特征库,过滤按实际顺序输入的邮件流,判断每个邮件的属性。训练器根据用户的反馈对邮件的过滤结果进行在线学习,并进一步调整过滤器的特征权重、更新特征权重库;提高过滤器的适应能力与性能。
本实施方式所述的特征提取方法是采用具体实施方式一所述的基于字节级n元文法的特征提取方法,该特征提取方法是分类器和训练器工作的基础,它的优点有:(1)可以避免现有以词作为特征提取单元的方法中存在的分词错误问题,并提高系统处理速度;(2)能够有效解决垃圾邮件中的字符变形问题;(3)具有处理复杂格式信息的能力,简化了复杂信息的处理。例如对于垃圾邮件过滤,采用本发明提出的方法,可以使垃圾邮件过滤器具备处理图像、PDF文件以及病毒的能力。本实施方式尤其适用于包含文本信息的复杂信息对象的特征提取。
采用本实施方式的垃圾邮件过滤器,由于在对邮件的特征提取的过程中采用基于字节级n元文法的特征提取方法,即提取邮件的文本内容,在处理邮件的附件、所包含的图片等组成成分时,提取了它们的二进制特征,因此能够在一个简单的框架下处理以往很难处理问题。采用字节级n元文法提取邮件特征,避免了繁杂的邮件解析、汉字编码转换等工作,并使系统具有处理图像、病毒邮件的能力。由于提取的是字节级n-gram,这使系统具备了任何信息单元的能力,使其能够有效处理到目前还未出现的某一类垃圾邮件,例如未来可能出现的嵌入视频的垃圾邮件。
在实际使用的时候,提取的字节级的数据,以n个字节为一单元(gram),然后提取邮件的前m个单元进行判断。例如,n=4,m=3000,即:使用字节级4-gram,并且每一封邮件仅取前3000个4-gram。邮件的特征值为布尔值,即邮件包含某个4-gram,其值为1,否则为0。
由于特征数量较大,可以采用哈希链表或二级索引等方式组织存储,加快访问速度。本实施方式中采用哈希链表方式组织存储。
本实施方式中的分类器采用逻辑回归(LogisticRegression,LR)模型,所述逻辑回归(LR)模型和SVM一样,是一种判别学习模型。
判别学习模型与以贝叶斯为代表的生成模型有本质差异。传统生成模型认为数据都是某种分布生成的,并试图根据这种分布建模。采用最大似然估计(maximumlikelihoodestimation,简称MLE)来求解模型参数,并用平滑算法来解决数据稀疏问题。这种方法仅当以下两个条件都满足时才是最优的:第一,数据的概率分布形式是已知的;第二,存在足够大的训练数据时才能采用最大似然估计(MLE)来求解模型参数,但在实际应用中,这两个条件很多时候无法满足。
判别学习模型是与生成模型相对应的一类建模方法。其假设条件比采用最大似然估计(MLE)弱得多,只要求训练数据和测试数据来自同一个分布即可。而且,判别学习算法的目标往往与实际应用的评价标准密切相关(如使模型在训练数据上的错误率最小化)。因此判别学习模型的性能往往要优于生成模型。
逻辑回归模型和SVM本质上是一致的,都是判别学习模型。但从计算复杂度上看,逻辑回归模型的计算复杂要明显低于SVM,其分类速度要也比SVM快得多。
在基于内容的邮件过滤系统中,影响一封邮件是垃圾邮件还是非垃圾邮件的因素是该邮件中的特征。应用逻辑回归模型,可以根据邮件的特征判断该邮件是垃圾邮件的概率:
其中: 是该封邮件的所有特征组成的向量, 是该特征向量相对应的特征权重向量,即特征x1的权重为w1,特征x2的权重为w2,等等。
定义一个分界值,通常设为0.5。比较P(y)和分界值,若P(y)大于等于分界值,就判断为垃圾邮件;否则就判断为正常邮件。
具体算法为:
Output:prediction
if(p>0.5)
predictspam;
else
predictham;
本实施方式中的训练器采用TONE方法进行训练/学习,即调整特征权重时使用TONE方法。
TONE(TrainOnorNearError)方法也被称之为ThickThreshold方法,该方法是在TOE基础上加以改进,预设一个分数界限,当邮件得分与判断阀值之差的绝对值在界限之内时,即使正确判断也进行训练。
对于本实施方式采用的逻辑回归模型,当邮件的得分大于等于0.5时,就判断成垃圾邮件;反之,当邮件的得分小于0.5时,就判断成正常邮件。采用TONE训练方法,在下述两种情况下进行训练:(1)过滤器分类错误;(2)如果设定阈值为0.5,则得分介于0.4到0.6之间的邮件都需要进行训练。
TONE训练方法只对分类面附近的样本进行训练,通过分类器将分类错误和在分类面附近的样本向“安全区域”调整。直观上,这个过程与支持向量机模型有异曲同工之妙。支持向量机模型在寻找最大化最近距离的分类面(即最优分类面);在TONE方法中,恰当地设置阀值,可以起到相同的作用。据我们所知,尚未有讨论TONE方法和最优分类面关系的文献。
本实施方式中的训练器对特征权重库的更新方法采用梯度下降的方法。使用梯度下降方法时,选取合适的特征学习速率以保证适当的学习速率。
采用的权重更新算法为:
initialization:
Input:(第i封邮件特征向量),yi(第i封邮件的属性)
Output:更新后的
if(abs(p-0.5)<θorpredictionerror)//TONE
if(yi==1)
else
当yi为1表示该邮件是垃圾邮件,为0表示该邮件是正常邮件,特征的权重向量的初始值是0;θ为TONE算法中的阈值,p为第i封邮件为垃圾邮件的概率;Rate为学习速率,为常数。
具体实施方式三:本实施方式是采用目前已有的全部公开中文垃圾邮件公有测试集(TREC06c、SEWM07和SEWM08)对具体实施方式二所述的垃圾邮件过滤器进行测试的方法和结论。
过滤器的性能在目前已有的全部公开中文垃圾邮件公有测试集(TREC06c、SEWM07和SEWM08)上验证,表1是测试数据的情况。起始字符是TREC的测试集由TREC(TextREtrievalConference)提供,TREC评测由美国国防部高级研究规划局(DARPA,DefenseAdvancedResearchProjectsAgency和美国国家标准技术研究院(NIST,NationalInstituteofStandardsandTechnology)主办。起始字符是SEWM(SearchEngineandWebMining)的测试集由华南理工大学提供,SEWM垃圾邮件过滤评测由中国计算机学会主办。
表1垃圾邮件过滤测试集
表1中的“SEWM07”评测中使用的测试集与华南理工随后公布的SEWM2007测试集不同,评测中使用的测试集包含20000封正常邮件,55056封垃圾邮件。
实验使用(1-ROCA)%作为过滤器的评估指标,lam%也被使用,用于参考。
lam%表示逻辑平均误判率,定义为lam%=logit-1(logit(ham%)/2+logit(spam%)/2),其中logit(x)=log(x/(1-x)),logit-1(x)=ex/(1+ex),ham%为正常邮件错误判断为垃圾邮件的比率,spam%为垃圾邮件错误判断为正常邮件的比率。
1-ROCA:ROC曲线下部面积,以hm%为横坐标,以sm%为纵坐标,取不同的T值时,做ROC曲线(实际表达recall-fallout),求得ROC曲线上方面积为ROCA,ROC曲线下方面积为1-ROCA。1-ROCA的值介于0和1之间,该值越小,表示过滤器效能越好。
测试工具采用TREC提供的评估工具(下文称为TREC工具)。
实验在所有的中文垃圾邮件过滤测试集上进行,测试包括TREC06c、SEWM07、SEWM08的公开语料。这些测试语料涉及到的测试任务有立即反馈(ImmediateFeedback)、延迟反馈(DelayedFeedback)、主动学习(ActiveLearning)。在立即反馈测试中,过滤器按接收到的邮件次序将邮件分成正常邮件或垃圾邮件,并计算每一封邮件分值。过滤器在对邮件进行分类之后可以立即得到该邮件是否分类正确(即该邮件的金标准(GoldStandard))。立即反馈假定用户在接收到邮件后立即作出判断。然而,真实用户不可能立即向过滤器返回正确的类别。用户经常一次读多封邮件,这导致过滤器不可能马上获得邮件的正确分类,延迟反馈模拟了这种情况。在延迟反馈中,过滤器需要等待一定数据邮件之后才能获得某一封邮件的分类。主动学习任务测试过滤器如何最有效的利用反馈信息,降低系统的训练次数和对标注数据的依赖。在主动学习测试中,给定一定的配额(quota),过滤器在配额消耗完后测试系统不再提供反馈。
表2到表4是实验的主要结果,分别给出了过滤器在立即反馈、延迟反抗和主动学习上的性能。SEWM07评测没有参赛队进行了在线学习任务,只进行了批处理(离线)任务,因此没有在线任务的最佳系统。SEWM07没有进行延迟反馈测试,TREC06C和SEWM07没有进行主动反馈测试,没有相关实验数据,因此表中相应位置为空。表中“最佳系统/第二名系统”表示评测中最佳系统或第二名系统,“/”在后表示最佳系统,“/”在前表示第二名系统。如“0.0023/”表示最佳系统的性能,“/0.0094”表示第二名系统的性能。本发明所述的垃圾邮件过滤器参加了SEWM08评测,包揽了SEWM08所有在线任务的第一,在表中SEWM08下的“最佳系统/第二名系统”标识了第二名系统的性能。
表2垃圾邮件过滤器的立即反馈性能
表中的“最佳系统”是指当年评测的最佳系统,排序依据为1-ROCA。
表3垃圾邮件过滤器的延迟反馈性能
表4垃圾邮件过滤器的主动反馈性能
从表2到表4的实验结果可以看出,本发明所述的垃圾邮件过滤器性能优异,要么远远优于当年评测的最佳系统,要么在评测中获得第一,并远远领先第二名。
本发明与专利CN101227435A(基于Logistic回归的中文垃圾邮件过滤方法,发明人徐从富,王庆幸等)、论文王庆幸,徐从富,何俊.基于Logistic回归的中文垃圾邮件过滤方法.计算机科学,2008年35卷10期(以下简称徐从富发明与论文)相比,其共同点是采用逻辑回归模型;核心差异在于特征提取方式,本发明采用字节级n-gram,这是本发明的核心内容,徐从富发明与论文采用词;本发明采用在线学习方式动态更新特征及其权重,徐从富发明与论文采用批处理(离线方式)学习方式,导致过滤器无法动态更新特征及其权重,导致过滤器的性能低于本发明。
Claims (8)
1.垃圾邮件过滤系统中的基于字节级n元文法的特征提取方法,其特征在于,该方法的提取对象是邮件,并且将邮件作为无差别的字节流对待,它对提取对象信息进行大小为n个字节的滑动窗口操作,获得m个长度为n的字节片断序列作为特征信息,所述m、n为大于0的整数,它是提取对象信息中的前m个长度为n的字节片断序列作为特征信息,或者后m个长度为n的字节片断序列作为特征信息。
2.根据权利要求1所述的基于字节级n元文法的特征提取方法,其特征在于所述m个长度为n个字节的信息片断是连续选取的,第i+1个字节片断是以第i个字节片断中的第二个字节为首字节的。
3.采用权利要求1所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,它由分类器、特征权重库和训练器组成,其中
分类器,用于对接收邮件进行特征提取并获得特征信息,还用于根据所述特征信息和特征权重库中的特征信息将接收邮件分为垃圾邮件和正常邮件;
特征权重库,用于存储垃圾邮件的特征及其权重,并根据训练器提供的信息实时更新特征信息;所述用户是能够反馈垃圾邮件信息的垃圾邮件过滤器的使用者,包括垃圾邮件过滤器的实际使用者,即垃圾邮件过滤器的服务对象,还包括垃圾邮件服务商的工作人员;
训练器,根据用户的反馈对邮件的过滤结果进行在线学习,更新调整特征权重库中的信息;
其特征在于所述分类器中的特征提取方法采用基于字节级n元文法的特征提取方法。
4.根据权利要求3所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,其特征在于所述分类器中采用哈希链表或二级索引方式组织存储提取的特征信息。
5.根据权利要求3所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,其特征在于所述分类器采用逻辑回归模型作为过滤模型。
6.根据权利要求3所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,其特征在于所述训练器采用在线学习方式。
7.根据权利要求3所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,其特征在于所述训练器采用TONE方法调整特征权重。
8.根据权利要求3所述的基于字节级n元文法的特征提取方法的垃圾邮件过滤器,其特征在于所述训练器对特征权重库的更新方法采用梯度下降方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910071908.0A CN101540017B (zh) | 2009-04-28 | 2009-04-28 | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910071908.0A CN101540017B (zh) | 2009-04-28 | 2009-04-28 | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101540017A CN101540017A (zh) | 2009-09-23 |
CN101540017B true CN101540017B (zh) | 2016-08-03 |
Family
ID=41123198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910071908.0A Expired - Fee Related CN101540017B (zh) | 2009-04-28 | 2009-04-28 | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101540017B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917352B (zh) * | 2010-06-12 | 2012-07-25 | 盈世信息科技(北京)有限公司 | 识别图片垃圾邮件的方法及系统 |
CN103544141B (zh) * | 2012-07-16 | 2016-09-07 | 哈尔滨安天科技股份有限公司 | 二进制数据中有意义字符串提取方法和系统 |
US20150295869A1 (en) * | 2014-04-14 | 2015-10-15 | Microsoft Corporation | Filtering Electronic Messages |
US9984068B2 (en) * | 2015-09-18 | 2018-05-29 | Mcafee, Llc | Systems and methods for multilingual document filtering |
CN106250064B (zh) * | 2016-08-19 | 2020-05-12 | 深圳大普微电子科技有限公司 | 固态硬盘控制装置和基于学习的固态硬盘数据存取方法 |
CN106503152A (zh) * | 2016-10-21 | 2017-03-15 | 合网络技术(北京)有限公司 | 标题处理方法和装置 |
CN107066447B (zh) * | 2017-04-19 | 2021-03-26 | 广东惠禾科技发展有限公司 | 一种无意义句子识别的方法和设备 |
CN108804443A (zh) * | 2017-04-27 | 2018-11-13 | 安徽富驰信息技术有限公司 | 一种基于多特征融合的司法类案搜索方法 |
CN107171937A (zh) * | 2017-05-11 | 2017-09-15 | 翼果(深圳)科技有限公司 | 反垃圾邮件的方法及系统 |
CN107657060B (zh) * | 2017-10-20 | 2020-06-30 | 中电科新型智慧城市研究院有限公司 | 一种基于半结构化文本分类的特征优化方法 |
CN107832925A (zh) * | 2017-10-20 | 2018-03-23 | 阿里巴巴集团控股有限公司 | 互联网内容风险评价方法、装置及服务器 |
CN113012713A (zh) * | 2021-03-02 | 2021-06-22 | 哈尔滨理工大学 | 一种基于机器学习中逻辑回归算法的音乐流派分类方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227435A (zh) * | 2008-01-28 | 2008-07-23 | 浙江大学 | 基于Logistic回归的中文垃圾邮件过滤方法 |
-
2009
- 2009-04-28 CN CN200910071908.0A patent/CN101540017B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227435A (zh) * | 2008-01-28 | 2008-07-23 | 浙江大学 | 基于Logistic回归的中文垃圾邮件过滤方法 |
Non-Patent Citations (3)
Title |
---|
夏成锋.基于n–gram及SVM的中文垃圾邮件过滤.《广东广播电视大学学报》.2008,第17卷(第67期),100-103. * |
成宝国 等.一个基于Naive Bayesian垃圾邮件过滤器的改进.《计算机技术与发展》.2006,第16卷(第2期),98-99. * |
李军 等.基于在线线性判别学习模型的垃圾邮件过滤方法.《哈尔滨理工大学学报》.2008,第13卷(第3期),48-50. * |
Also Published As
Publication number | Publication date |
---|---|
CN101540017A (zh) | 2009-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101540017B (zh) | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 | |
CN107609121A (zh) | 基于LDA和word2vec算法的新闻文本分类方法 | |
US8489689B1 (en) | Apparatus and method for obfuscation detection within a spam filtering model | |
CN103441924B (zh) | 一种基于短文本的垃圾邮件过滤方法及装置 | |
US8112484B1 (en) | Apparatus and method for auxiliary classification for generating features for a spam filtering model | |
CN104516947B (zh) | 一种融合显性和隐性特征的中文微博情感分析方法 | |
Faguo et al. | Research on short text classification algorithm based on statistics and rules | |
CN101227435A (zh) | 基于Logistic回归的中文垃圾邮件过滤方法 | |
CN104050556B (zh) | 一种垃圾邮件的特征选择方法及其检测方法 | |
CN107729403A (zh) | 互联网信息风险提示方法及系统 | |
CN104899230A (zh) | 舆情热点自动监测系统 | |
CN111708888A (zh) | 基于人工智能的分类方法、装置、终端和存储介质 | |
CN103136266A (zh) | 邮件分类的方法及装置 | |
CN108199951A (zh) | 一种基于多算法融合模型的垃圾邮件过滤方法 | |
CN109582794A (zh) | 基于深度学习的长文分类方法 | |
CN103886077B (zh) | 短文本的聚类方法和系统 | |
CN107357895A (zh) | 一种基于词袋模型的文本表示的处理方法 | |
Mestry et al. | Automation in social networking comments with the help of robust fasttext and cnn | |
CN106570170A (zh) | 基于深度循环神经网络的文本分类和命名实体识别一体化方法及系统 | |
CN114756675A (zh) | 文本分类方法、相关设备及可读存储介质 | |
CN101655911A (zh) | 基于免疫抗体网络的模式识别方法 | |
CN106844596A (zh) | 一种基于改进的svm中文文本分类方法 | |
CN101329668A (zh) | 一种信息规则生成方法及装置、信息类型判断方法及系统 | |
CN105337842A (zh) | 一种与内容无关的垃圾邮件过滤方法 | |
Shams et al. | Personalized spam filtering with natural language attributes |
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: 20160803 Termination date: 20170428 |
|
CF01 | Termination of patent right due to non-payment of annual fee |