一种基于主动学习和否定选择的邮件二类分类算法的制作方法

文档序号:14504769阅读:298来源:国知局

本发明涉及一种基于主动学习和否定选择的邮件二类分类算法,通过使用机器学习方法中的主动学习方法构建用户正、负向兴趣集,结合否定学习算法中的自体集和检测机制,实现快速高效的垃圾邮件过滤,属于机器学习和文本分类的交叉技术应用领域。



背景技术:

文本分类技术是一种利用计算机程序对文本集(或其他实体或物件)按照一定的分类体系或标准进行自动分类标记技术,使人们能够更好地了解、更加协调、合理地利用网络文本信息。近年来,文本分类技术被广泛应用于邮件分类、信息过滤、文本语料库构建等领域。文本分类的快速发展为文本挖掘和信息分析处理需求的不断增长提供了有效的解决方案。

准确无误的分类垃圾邮件和合法邮件是垃圾邮件过滤的最终目标。人们在邮件二类分类问题上已做了大量研究。这些研究大体分为两类:一类是系统处理方法,即从服务器端通过修改邮件传输协议、发送和接受规则等,直接屏蔽垃圾邮件。另一类是基于内容的垃圾邮件鉴别方法,该方法部署在邮件服务器端或客户端,通过检测各个邮件的内容,按照一定的规则或字词统计特性对垃圾邮件进行内容鉴别。相对来说第二类方法更加灵活,应用领域更加广泛。

现有方法及发明的缺陷:1)由于专家标注的经济代价太大,且无法对大规模问题进行有效标注,无标记样本数据数量巨大且容易获取;2)现有解决方法中的传统机器学习算法,尤其是有监督学习算法,必须大量标记样本数据,否则泛化性能较低;3)对于垃圾邮件过滤问题,用户的个人喜好对分类结果影响较大;4)在线进行人工样本标注时,专家无法直接选择最佳标注时机。



技术实现要素:

本发明的目的是提供一种基于主动学习和否定选择的邮件二类分类算法,将主动学习方法和否定选择算法应用于垃圾邮件过滤,把待分类的邮件集作为自体集,利用现有已标注邮件集构建的用户正、负向兴趣集作为检测器,将所有通过关键特征选择算法筛选后的邮件关键特征集作为分类对象,最后通过异常检测匹配机制,获得邮件集的分类结果。该算法通过正向和负向兴趣集对邮件集进行双向的二类匹配检测,为垃圾邮件过滤方法提供了一种新的思路。

本发明的技术方案是这样实现的:一种基于主动学习和否定选择的邮件二类分类算法,其特征在于:首先根据已标记的邮件集建立用户双向兴趣集;然后利用否定选择算法中的异常检测机制构建邮件二类分类算法,将待分类邮件集作为自体集进行匹配检测;最后利用匹配结果得出邮件分类结果,并更新用户双向兴趣集;

具体步骤为:

S1、利用由合法邮件与垃圾邮件组成的邮件集S0建立用户的正向兴趣集P和负向兴趣集N,且具体过程如下:

S11、消除S0j(S0j∈S0,1≤j≤|S0|,|S0|表示S0集合中元素的个数)中的附件、标签、标点符号、特殊符号、停用词,对剩余文本进行分词和还原词根,形成S0j的原始特征集AS0j(1≤j≤|S0|,|S0|表示S0集合中元素的个数);

S12、利用基于二项假设的Bi-Test方法,获取AS0j的关键特征集FS0j,FS0j=Bi-Test(AS0j),也即S0j的关键特征集FS0j

S13、初始化若S0j已标记为合法邮件,则将S0j的关键特征集FS0j并入P中,P=P∪FS0j

S14、初始化若S0j已标记为垃圾邮件,则将S0j的关键特征集FS0j并入N中,N=N∪FS0j

S15、如果则对正向兴趣集P和负向兴趣集N作约减操作,即P=P-P∩N,N=N-P∩N;

S2、将待分类的新增样本集New作为自体集,并对New进行预处理,获取其对应的关键特征集FNew;具体处理过程如下:

S21、消除Newi(Newi∈New,1≤i≤|New|,|New|表示New集合中元素的个数)中的附件、标签、标点符号、特殊符号、停用词,对剩余文本进行分词和还原词根处理,得其原始特征集ANewi

S22、利用基于二项假设的Bi-Test方法,获取ANewi的特征集FNewi,FNewi=Bi-Test(ANewi),也即Newi的关键特征集FNewi。由所有FNewi组成关键特征集FNew,代表邮件New进行二类分类操作;FNew={FNew1,FNew2,...,FNewi,…,FNewU}(U=|FNew|),FNewi={f1,f2,…,fZ},fk表示某一关键特征,k的取值范围为:1≤k≤Z,Z表示邮件Newi的关键特征个数,利用One-hot编码方法对所有的关键特征进行编码,转换为数字代码的格式;

S3、将步骤S15得到的P和N作为检测器,对FNew进行异常检测匹配。具体过程如下:

S31、利用公式

计算海明距离的相似度HBij,上式中|B|表示检测器B中的特征个数,FNewij表示FNewi中的第j个特征,Bk表示检测器B的第k个特征,HBij表示FNewi中的第j个特征与B的相似度;

S32、将FNew中的所有集合元素FNewi与P利用相似度公式

进行特征匹配。其中|P|表示检测器P中的特征个数,FNewij表示特征集FNewi的第j个特征,Pk表示检测器P中的第k个特征。得相匹配的特征集合FP,不匹配的特征集合FNP,若FNewi中的所有关键特征都属于FP,则标记邮件Newi为合法邮件,并将该邮件记录在合法邮件集H中;

S33、将FNew中的所有集合元素FNewi与N利用

进行特征匹配,其中|N|表示检测器N中的特征个数,FNewij表示特征集FNewi的第j个特征,Nk表示检测器N中的第k个特征;得相匹配的特征集合FN,不匹配的特征集合FNN;若FNewi中的所有关键特征都属于FN,则标记邮件Newi为垃圾邮件,并将该邮件放入垃圾邮件集S中;

S4、对不匹配的关键特征,将关键特征集还原为邮件后,交给用户进行标记,并对用户标记结果进行分类;具体过程如下:

S41、对两个不匹配集合FNP和FNN做交集得XN,设为最具有标注价值的关键特征集,XN=FNP∩FNN,将XN推荐给用户进行标注,由于用户是对邮件进行标注,所以需要将XN还原为邮件集NNew,用户标注完成后再将邮件集还原为关键特征集XN;

S42、按照用户标注的结果,将已标注的垃圾邮件记录到垃圾邮件集合S中,剩余邮件记录到合法邮件H中;

S43、按照步骤1中的方法将用户标注后的NNew划分为正向兴趣子集XNP和负向兴趣子集XNN,若则将其交集从正向兴趣子集中移除,XNP=XNP-XNP∩XNN;

S5、根据用户标记的正、负向兴趣子集对P和N进行更新。具体过程如下:

S51、由于用户的动态需求,用户个性喜好会有所变化,在将新的兴趣子集并入双向用户兴趣集前,要先进行过期兴趣特征的淘汰;

a、检测XNN∩P是否为空集。若不为空,交集中的特征即为需要淘汰的过期兴趣特征,将此交集从P中删除。

b、检测XNP∩N是否为空集,若不为空,将此交集从N中移除;

S52、将正向兴趣子集XNP并入用户正向兴趣集P中,P=P∪XNP,更新用户兴趣集P完成;

S53、将负向兴趣子集XNN并入用户负向兴趣集N中,N=N∪XNN,更新用户兴趣集N完成;

S6、返回正向用户兴趣集P和负向用户兴趣集N,以及分类结果:合法邮件集H和垃圾邮件集S。

本发明与背景技术相比,具有以下优点:

1)本发明提出的算法特征选择的计算复杂度为O(|Newi|),|Newi|为新增样本集中的特征数量。分类匹配的计算复杂度为O((|P|+|N|)×|FNewi|),其中|P|、|N|和|FNewi|分别表示集合P、N和FNewi中的特征总数,且因FNewi是关键特征集,|Newi|>>|FNewi|,相较于计算复杂度为O(|S|×log(|S|))+O(|S|)的传统特征选择(|S|为样本集的原特征数量),本发明所提算法的计算复杂度O(|Newi|)能有效减少CPU处理时间。

2)将用户个性喜好转换成正、负向用户兴趣集,对新增样本集中的关键特征分别与正、负向兴趣集中的关键特征进行相似度评估,通过评估能够准确地确定特征的类别,提高了特征的分类精度。且从正、负双向进行邮件分类匹配,能够加速邮件分类过程。

3)利用双向用户兴趣集作为检测器,新增样本的关键特征集作为自体集,通过NS算法中的异常检测机制,对两者进行异常检测匹配,结果为匹配时,算法自动对特征进行精准分类,结果为不匹配时,算法收集为未知类别特征,推荐给用户进行确定化标注,降低了用户的标注负担。

附图说明

图1为用户双向兴趣集生成示意图。

图2为邮件集预处理示意图。

图3为新样本集的分类匹配过程示意图。

图4为用户标注邮件过程的示意图。

图5为基于主动学习和否定选择的邮件二类分类算法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用与限定本发明。

本发明提出的基于主动学习和否定选择的邮件二类分类算法包括以下步骤:

S1、利用由合法邮件与垃圾邮件组成的邮件集S0建立用户的正向兴趣集P和负向兴趣集N,且具体过程如下:

S11、消除S0j(S0j∈S0,1≤j≤|S0|,|S0|表示S0集合中元素的个数)中的附件、标签、标点符号、特殊符号、停用词,对剩余文本进行分词和还原词根,形成S0j的原始特征集AS0j(1≤j≤|S0|,|S0|表示S0集合中元素的个数)。

S12、利用基于二项假设的Bi-Test方法,获取AS0j的关键特征集FS0j,FS0j=Bi-Test(AS0j),也即S0j的关键特征集FS0j

S13、初始化若S0j已标记为合法邮件,则将S0j的关键特征集FS0j并入P中,P=P∪FS0j

S14、初始化若S0j已标记为垃圾邮件,则将S0j的关键特征集FS0j并入N中,N=N∪FS0j

S15、如果则对正向兴趣集P和负向兴趣集N作约减操作,即P=P-P∩N,N=N-P∩N。

S2、将待分类的新增样本集New作为自体集,并对New进行预处理,获取其对应的关键特征集FNew。具体处理过程如下:

S21、消除Newi(Newi∈New,1≤i≤|New|,|New|表示New集合中元素的个数)中的附件、标签、标点符号、特殊符号、停用词,对剩余文本进行分词和还原词根处理,得其原始特征集ANewi

S22、利用基于二项假设的Bi-Test方法,获取ANewi的特征集FNewi,FNewi=Bi-Test(ANewi),也即Newi的关键特征集FNewi。由所有FNewi组成关键特征集FNew,代表邮件New进行二类分类操作。FNew={FNew1,FNew2,...,FNewi,…,FNewU}(U=|FNew|),FNewi={f1,f2,…,fZ},fk表示某一关键特征,k的取值范围为:1≤k≤Z,Z表示邮件Newi的关键特征个数。利用One-hot编码方法对所有的关键特征进行编码,转换为数字代码的格式。

S3、将步骤S15得到的P和N作为检测器,对FNew进行异常检测匹配。具体过程如下:

S31、利用公式

计算海明距离的相似度HBij,上式中|B|表示检测器B中的特征个数,FNewij表示FNewi中的第j个特征,Bk表示检测器B的第k个特征,HBij表示FNewi中的第j个特征与B的相似度。

S32、将FNew中的所有集合元素FNewi与P利用相似度公式

进行特征匹配。其中|P|表示检测器P中的特征个数,FNewij表示特征集FNewi的第j个特征,Pk表示检测器P中的第k个特征。得相匹配的特征集合FP,不匹配的特征集合FNP。若FNewi中的所有关键特征都属于FP,则标记邮件Newi为合法邮件,并将该邮件记录在合法邮件集H中。

S33、将FNew中的所有集合元素FNewi与N利用

进行特征匹配。其中|N|表示检测器N中的特征个数,FNewij表示特征集FNewi的第j个特征,Nk表示检测器N中的第k个特征。得相匹配的特征集合FN,不匹配的特征集合FNN。若FNewi中的所有关键特征都属于FN,则标记邮件Newi为垃圾邮件,并将该邮件放入垃圾邮件集S中。

S4、对不匹配的关键特征,将关键特征集还原为邮件后,交给用户进行标记,并对用户标记结果进行分类。具体过程如下:

S41、对两个不匹配集合FNP和FNN做交集得XN,设为最具有标注价值的关键特征集,XN=FNP∩FNN。将XN推荐给用户进行标注。由于用户是对邮件进行标注,所以需要将XN还原为邮件集NNew,用户标注完成后再将邮件集还原为关键特征集XN。

S42、按照用户标注的结果,将已标注的垃圾邮件记录到垃圾邮件集合S中,剩余邮件记录到合法邮件H中。

S43、按照步骤1中的方法将用户标注后的NNew划分为正向兴趣子集XNP和负向兴趣子集XNN,若则将其交集从正向兴趣子集中移除,XNP=XNP-XNP∩XNN。

S5、根据用户标记的正、负向兴趣子集对P和N进行更新。具体过程如下:

S51、由于用户的动态需求,用户个性喜好会有所变化,在将新的兴趣子集并入双向用户兴趣集前,要先进行过期兴趣特征的淘汰。

a、检测XNN∩P是否为空集。若不为空,交集中的特征即为需要淘汰的过期兴趣特征,将此交集从P中删除。

b、检测XNP∩N是否为空集。若不为空,将此交集从N中移除。

S52、将正向兴趣子集XNP并入用户正向兴趣集P中。P=P∪XNP,更新用户兴趣集P完成。

S53、将负向兴趣子集XNN并入用户负向兴趣集N中。N=N∪XNN,更新用户兴趣集N完成。

S6、返回正向用户兴趣集P和负向用户兴趣集N,以及分类结果:合法邮件集H和垃圾邮件集S。

下面结合具体例子来详细描述算法中的一些步骤。

一、用户双向兴趣集的构建

选择PU3语料集为实验数据集,其中共有4139个邮件,含有合法邮件2111个(占总数的51%),垃圾邮件2028个(占总数的49%)。分别从合法邮件和垃圾邮件中抽取30%的邮件作为已标注邮件用于建立用户双向兴趣集,其余70%邮件分成10份,作为10个新增样本集,进行分类测试。如图1所示,对已标注邮件集进行预处理和关键特征选择,并对获得的正、负向兴趣集进行约减操作,获得最终的正向兴趣集P和负向兴趣集N。

二、新增样本集二类分类

选取一份新增样本集New,预处理操作过程如图2所示,得New的关键特征集FNew。然后将FNew、正向兴趣集P和负向兴趣集N作为基于主动学习和否定选择算法的邮件二类分类算法的输入。分别对FNew与P、FNew与N进行特征异常检测,利用相似度计算公式

计算FNew中关键特征与P中正向兴趣特征的相似度,得出FNew中关键特征的正向兴趣特征匹配度。利用相似度公式

计算FNew中关键特征与N中负向兴趣特征的相似度,得出FNew中关键特征的负向兴趣特征匹配度。其中上述FNew、P和N中的特征都是数字编码的形式。最后得出匹配和不匹配的特征集合,过程如图3所示。FNew与P进行特征匹配,得相匹配的特征集合FP,不匹配的特征集合FNP。FNew与N进行特征匹配,得相匹配的特征集合FN,不匹配的特征集合FNN。FP中是和正向兴趣集P能完全匹配的关键特征,FN中是能够和负向兴趣集N能完全匹配的关键特征。若某一邮件的所有关键特征都包含在FP或FN中,则可以判定该邮件的类别。已判定类别的邮件放入相应的集合:合法邮件集H或垃圾邮件集S中,并将该邮件的关键特征集从FNew中移除,进入下一步,直到FNew中没有关键特征集为止。

三、未知类别邮件用户标注,更新正、负向兴趣集

取FNP和FNN的交集,XN=FNP∩FNN,得未知类别邮件的关键特征集XN。将XN中的关键特征还原为邮件后,送给用户进行标注,用户只需对垃圾邮件进行标注,然后将标注结果返回。对于标注结果的处理过程如图4所示。根据用户标注结果,存储标注后的邮件分类,以及利用用户标注结果更新用户正向和负向兴趣集。

四、输出邮件分类结果和已更新的正、负向兴趣集

输出已经整理好的合法邮件集H和垃圾邮件集S,以及更新后的用户正、负向兴趣集P和N。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1