首页> 中国专利> 一种基于聚类的垃圾邮件过滤系统及方法

一种基于聚类的垃圾邮件过滤系统及方法

摘要

本发明公开了一种基于聚类的垃圾邮件过滤系统及方法,系统包括聚类模块、邮件训练模块、特征库存储模块、邮件过滤模块;方法包括:S1.1、从邮件备份系统获取训练邮件及未标记邮件;S1.2、聚类预处理模块对邮件进行预处理;S1.3、聚类分析模块对预处理后的邮件划分成不同的类簇;S1.4、类簇中心计算模块计算各类簇的向量表达;S1.5、训练模块对各类簇中的已标记邮件进行学习,更新对应类簇的特征库;S2.1、从邮件系统获取需要过滤的邮件;S2.2、邮件类属性判别模块计算出与该邮件内容最接近的类簇;S2.3、邮件特征提取模块对待判别邮件进行特征提取;S2.4、邮件判别模块依据邮件特征及对应的特征库给出判别结果。本发明具有提取速度快、准确度高、效果好的优点。

著录项

  • 公开/公告号CN103559175A

    专利类型发明专利

  • 公开/公告日2014-02-05

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN201310476384.X

  • 发明设计人 董守斌;许腾;张晶;张凌;隆承志;

    申请日2013-10-12

  • 分类号G06F17/27;H04L29/06;H04L12/58;

  • 代理机构广州市华学知识产权代理有限公司;

  • 代理人蔡茂略

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2024-02-19 22:18:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-23

    未缴年费专利权终止 IPC(主分类):G06F17/27 专利号:ZL201310476384X 申请日:20131012 授权公告日:20160810

    专利权的终止

  • 2016-08-10

    授权

    授权

  • 2014-03-12

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20131012

    实质审查的生效

  • 2014-02-05

    公开

    公开

说明书

技术领域

本发明涉及垃圾邮件过滤技术领域,特别涉及一种基于聚类的垃圾邮件过 滤系统及方法。

背景技术

随着电子邮件的普及,垃圾邮件制造者通过非常廉价的手段将大量的垃圾 邮件发向网络中,严重影响着网络的带宽,干扰用户的正常使用并对用户安全 造成潜在威胁。

目前基于机器学习的邮件过滤系统,多只按照特定的学习算法,对训练邮 件集进行单一的训练学习后,依据学习算法建模生成的特征库对新邮件进行判 别。这种不加区别的对训练数据进行统一训练,作为机器学习算法在邮件过滤 领域普遍采用的方式,虽然能给过滤器提供较好的学习能力,但由于没有对训 练数据进行差异化对待,在过滤器的学习和判别能力上都会有所影响。

发明内容

本发明的目的之一在于克服现有技术的缺点和不足,提供一种基于聚类的 垃圾邮件过滤系统,该系统基于机器学习算法,通过引入聚类分析有差别的对 待训练数据,填补现有技术中过滤器在训练环节对训练数据统一训练和在判别 环节简单依靠训练生成的唯一特征库进行判别的不足。

本发明的目的之二在于提供一种基于聚类的垃圾邮件过滤方法,该方法通 过对训练邮件进行学习,建模形成特征库后对新邮件进行判别,给出是否为垃 圾邮件的结果,具有判别速度快、准确度高的优点。

为了达到上述第一目的,本发明采用以下技术方案:

一种基于聚类的垃圾邮件过滤系统,包括:

聚类模块,用于对训练邮件的文本内容进行分析,将邮件依据主题相似性 划分成不同的簇类,同一个簇中的邮件具有一个或多个主题的相似性;

邮件训练模块,用于对已标注的邮件进行训练学习,更新特征知识库;

特征库存储模块,用于存储各类簇所对应的各特征数据;

邮件过滤模块,用于对新到邮件进行过滤,依据特征库给出该封邮件是否 为垃圾邮件的判别结果。

所述聚类模块包括:

聚类预处理模块,用于将要进行聚类分析的训练邮件及未标注邮件进行邮 件解码,特征提取后表示成VSM向量形式,作为聚类分析模块的输入;

聚类分析模块,用于根据聚类算法对输入数据进行聚类,划分出K个不同 的类簇,输出各邮件所属的类别标记;

类簇中心计算模块,用于计算每个类簇的中心,利用向量空间模型表示 该类簇的内容特征。

所述邮件训练模块包括:

类属性判别模块,用于给出与邮件内容最相近的类簇,提供给判别模块;

特征提取模块,用于对邮件进行特征提取,提供给判别模块进行分析;

数据更新模块,根据训练邮件的特征更新特征库的数据。

所述邮件过滤模块包括:

类属性判别模块,用于给出与邮件内容最相近的类簇,提供给判别模块;

特征提取模块,用于对邮件进行特征提取,提供给判别模块进行分析;

判别模块,根据类属性判别模块得出的类簇编号,依据该类簇对应的特 征库,用特定的机器学习算法依据该邮件的特征给出是否为垃圾邮件的判别 结果。

为了达到上述第二目的,本发明采用以下技术方案:

基于聚类的垃圾邮件过滤系统的方法,分为训练阶段、过滤阶段两个环节, 具体包括以下步骤:

S1、训练阶段:

步骤S1.1、若本系统在进行初始化时,获取邮件备份系统的训练邮件及未 标注邮件,进入步骤S1.2;若已通过初始化,针对用户反馈的邮件或人工标识 的邮件进行实时训练,跳至步骤S1.5;

步骤S1.2、聚类模块中的聚类预处理模块对要进行聚类分析的训练邮件及 未标注邮件进行邮件解码,提取文本特征后表示成VSM向量形式,发送给聚 类分析模块,进入步骤S1.3;

步骤S1.3、聚类模块中的聚类分析模块,根据分裂式层次聚类算法对输入 数据进行聚类,划分出K个不同的类簇,输出各邮件所属的类别编号,进入步 骤S1.4;

步骤S1.4、聚类模块中的类簇中心计算模块计算每个类簇的中心,利用向 量空间模型表示该类簇的内容特征,跳至步骤S1.6;

步骤S1.5、邮件训练模块中的类属性判别模块通过分析邮件正文内容,给 出与该邮件文本内容最接近的类簇编号,进入到步骤S1.6;

步骤S1.6、邮件训练模块中的特征提取模块对训练邮件进行特征提取,提 取出有效特征并用VSM向量形式表示,传递给邮件判别模块,进入到步骤S1.7;

步骤S1.7、邮件训练模块中的数据更新模块根据训练邮件的特征,采用贝 叶斯算法进行训练学习,更新该邮件所对应类簇的特征库;

S2、过滤阶段:

步骤S2.1、在过滤阶段,邮件系统获取一封新邮件,传递给邮件过滤模块 中的类属性判别模块,进入步骤S2.2;

步骤S2.2、邮件过滤模块中的类属性判别模块通过分析邮件正文内容,给 出与邮件文本内容最相似的类簇编号,进入到步骤S2.3;

步骤S2.3、邮件过滤模块中的特征提取模块对邮件进行特征提取,提取出 有效特征用VSM向量形式表示,传递给邮件过滤模块中的判别模块,进入到 步骤S2.4;

步骤S2.4、邮件过滤模块中的判别模块依据步骤S2.2中给出的最相近的类 簇所对应的特征库,采用贝叶斯算法去计算分析步骤S2.3中得到的邮件特征, 给出该封邮件是否为垃圾邮件的判别结果;

步骤S2.5、邮件判别模块通过邮件的向量特征和该邮件所属类簇对应的特 征库计算该封邮件的得分score,若score值大于或等于预设的判断阈值,则将 该封邮件打上spam标记,输出结果;若score值小于判断阈值,则将该封邮件 打上ham标记,输出结果。

步骤S1.2具体包括:

S1.2.1、聚类模块中的聚类预处理模块依据邮件所采用的编码方式进行解 码,进入步骤S1.2.2;

S1.2.2、聚类模块中的聚类预处理模块将解码后的邮件文本信息进行去噪、 分词处理,提取出有效特征词信息,进入步骤S1.2.3;

S1.2.3、聚类模块中的聚类预处理模块利用提取出的有效特征词信息表示 成VSM向量形式,交给聚类分析模块。

步骤S1.4具体包括以下步骤:

S1.4.1、聚类模块中的类簇中心计算模块分别统计各类簇中所含的聚类邮 件,进入步骤S1.4.2;

S1.4.2、聚类模块中的类簇中心计算模块分别计算各类簇中心,用VSM特 征向量表示类簇的中心向量Ci

Ci=1|Mi|ΣmMim

其中Ci代表类簇i的质心向量,Mi代表类簇i中的所有邮件,|Mi|为类簇i 中邮件的总数量,m为邮件的VSM向量表达式,计算完毕后,将各类簇中的 训练邮件依次发给训练模块。

步骤S1.5具体包括下述步骤:

S5.1、邮件训练模块中的类属性判别模块依据邮件所采用的编码方式进行 解码,进入步骤S5.2;

S5.2、邮件训练模块中的类属性判别模块将解码后的邮件文本信息进行去 噪、分词处理,提取出有效特征词信息,进入步骤S5.3;

S5.3、邮件训练模块中的类属性判别模块利用提取出的有效特征词信息表 示成VSM向量形式,其中权重采用tf-idf计算,进入步骤S5.4;

S5.4、邮件类属性判别模块分别计算该邮件的特征向量与各类簇中心的特 征向量的相似度,选取相似度最大的类簇,将类簇编号输出给邮件判别模块。

步骤S1.6具体包括下述步骤:

S1.6.1、邮件训练模块中的特征提取模块按照邮件格式,将邮件分为邮件 头和邮件体两部分,对于邮件头部分,进入步骤S1.6.2;对于邮件体部分,跳 至步骤S1.6.3;

S1.6.2、邮件训练模块中的特征提取模块按字段信息提取出邮件头中的有 效信息,作为邮件头的特征,进入步骤S1.6.4;

S1.6.3、邮件训练模块中的特征提取模块采用滑动窗口的指纹特征提取方 法对邮件体特进行特征提取,进入步骤S1.6.4;

S1.6.4、邮件训练模块中的特征提取模块将邮件头和邮件体两部分特征合 并,用向量形式表示,输出给邮件判别模块。

步骤S2.1具体包括下述步骤:

S1.2.1、邮件过滤模块中的类属性判别模块依据邮件所采用的编码方式进 行解码,进入步骤S1.2.2;

S1.2.2、邮件过滤模块中的类属性判别模块将解码后的邮件文本信息进行 去噪、分词处理,提取出有效特征词信息,进入步骤S1.2.3;

S1.2.3、邮件过滤模块中的类属性判别模块利用提取出的有效特征词信息 表示成VSM向量形式,其中权重采用tf-idf计算,进入步骤S1.2.4;

S1.2.4、邮件过滤模块中的类属性判别模块分别计算该邮件的特征向量与 各类簇中心的特征向量的相似度,选取相似度最大的类簇,将类簇编号输出给 邮件判别模块;

所述步骤S2.3具体包括以下步骤:

S2.3.1、邮件过滤模块中的特征提取模块按照邮件格式,将邮件分为邮件 头和邮件体两部分,对于邮件头部分,进入步骤S2.3.2;对于邮件体部分,跳 至步骤S2.3.3;

S2.3.2、邮件过滤模块中的特征提取模块按字段信息提取出邮件头中的有 效信息,作为邮件头的特征,跳至步骤S2.3.4;

S2.3.3、邮件过滤模块中的特征提取模块采用滑动窗口的指纹特征提取方 法对邮件体特进行特征提取,进入步骤S2.3.4;

S2.3.4、邮件过滤模块中的特征提取模块将邮件头和邮件体两部分特征合 并,用向量形式表示,输出给邮件判别模块。

本发明相对于现有技术具有如下的优点及效果:

第一、本发明优化了过滤器的学习流程,通过有差别的对训练邮件进行学 习,使得过滤器的判别效果更加优秀;

第二、人工代价小:采用机器学习算法,过滤器的训练、判别自动化,无 需人工制定判别规则;

第三、实时响应快:采用运算代价较小的贝叶斯算法,符合邮件系统过滤 的实时要求;

第四、判别准确度高:依据主题性分离邮件进行差异化训练,提高邮件 的判别精确度。

附图说明

图1是本实施例中一种基于聚类的邮件过滤系统的结构示意图;

图2是本实施例中聚类模块的结构示意图;

图3是本实施例中邮件训练模块的结构示意图;

图4是本实施例中邮件过滤模块的结构示意图;

图5是本实施例中一种基于聚类的邮件过滤系统的训练环节流程示意图;

图6是本实施例中聚类分析模块的流程示意图;

图7是本实施例中一种基于聚类的邮件过滤系统的判别环节流程示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方 式不限于此。

实施例

一种基于聚类的垃圾邮件过滤系统,如图1所示,包括:

聚类模块,用于对训练邮件的文本内容进行分析,将邮件依据主题相似性 划分成不同的簇类,同一个簇中的邮件具有一个或多个主题的相似性;

邮件训练模块,用于对已标注的邮件进行训练学习,生成特征知识;

邮件过滤模块,用于对新到邮件进行过滤,依据特征库给出该封邮件是否 为垃圾邮件的判别结果。

特征库存储模块,用于存储各类簇所对应的各特征数据。

如图2所示,为更好的实现本发明,所述聚类模块包括:

聚类预处理模块,用于将要进行聚类分析的训练邮件及未标注邮件进行邮 件解码,特征提取后表示成VSM向量形式,作为聚类分析模块的输入;

聚类分析模块,用于根据聚类算法对输入数据进行聚类,划分出K个不同 的类簇,输出各邮件所属的类别标记;

类簇中心计算模块,用于计算每个类簇的中心,利用向量空间模型表示该 类簇的内容特征。

如图3所示,为更好的实现本发明,所述邮件训练模块包括:

类属性判别模块,用于给出与邮件内容最相近的类簇,提供给判别模块;

特征提取模块,用于对邮件进行特征提取,提供给判别模块进行分析;

数据更新模块,根据类属性判别模块得出的类簇编号,依据该类簇对应的 特征库,用特定的机器学习算法依据该邮件的特征给出是否为垃圾邮件的判别 结果。

如图4所示,为更好的实现本发明,所述邮件过滤模块包括:

类属性判别模块,用于给出与邮件内容最相近的类簇,提供给判别模块;

特征提取模块,用于对邮件进行特征提取,提供给判别模块进行分析;

判别模块,根据类属性判别模块得出的类簇编号,依据该类簇对应的特征 库,用特定的机器学习算法依据该邮件的特征给出是否为垃圾邮件的判别结 果。

一种基于聚类的垃圾邮件过滤方法,分训练阶段、过滤阶段两个环节,如 图5所示,训练阶段具体包括以下步骤:

步骤S1、若本系统在进行初始化时,邮件备份系统获取训练邮件及未标注 邮件,送到聚类预处理模块,进入步骤S2;若已通过初始化,针对用户反馈的 邮件或人工标识的邮件进行训练,跳至步骤S5;

步骤S2、如图6所示,聚类模块中的聚类预处理模块检测邮件编码类型, 依据对应类型进行解码,接着进行去噪处理,只提取邮件标题及正文部分,若 正文部分含有HTML格式,则去除如”<>”的html标记。此后利用中科院的分 词工具ICTCLAS对文本内容进行分词,并去除对分类没有贡献的停用词,如 比如汉语中的“吗、的、地、得”与英语中的“the、a、an”等。计算各有效 词项的词频,并表示成VSM向量形式。数据处理完毕后发送给聚类模块中的 聚类分析模块,进入步骤S3;

步骤S3、聚类模块中的聚类分析模块,根据分裂式层次聚类算法对输入数 据进行聚类,具体的聚类算法采用的是CLUTO聚类工具中的rb算法,其中权 重计算采用tf-idf方法,相似度计算采用余弦相似度。聚类的类簇数目K值设 为11,分析完毕后,给出各邮件所属的类簇编号,进入步骤S4;

步骤S4、聚类模块中的类簇中心计算模块分别统计每个类簇中的邮件,依 据各类簇中各邮件由步骤S2得到的特征向量计算出对应类簇的中心向量,用 该中心向量表示类簇。类簇中心向量Ci的计算方法如下:

Ci=1|Mi|ΣmMim

其中Ci代表类簇i的质心向量,Mi代表类簇i中的所有邮件,|Mi|为类簇i 中邮件的总数量,m为邮件的VSM向量表达式,跳至步骤S6;

步骤S5、训练模块中的类属性判别模块检测邮件的编码方式,采用对应的 编码进行解码,然后对邮件文本信息进行去噪、采用ICTCLAS对文本内容进 行分词,依据特征词项权重大小,提取出最多50个有效特征词信息并表示成 VSM向量形式(优先选取权重大的),其中权重采用tf-idf计算,计算与各类 簇中心的特征向量的余弦相似度sim(D,D′):

sim(D,D)=2Σi=1nwi×wiΣi=1nwi2×Σi=1nwi2

其中D为邮件的向量表示,D‘i为类簇i的中心向量,wi和w’i分别为对应的 特征权重。选取相似度最大的类簇,将类簇编号输出,进入到步骤S6;

步骤S6、邮件特征提取模块分别读取已标注的邮件,按照邮件格式,将邮 件分为邮件头(head)和邮件体(body)两部分,对于邮件头部分,按邮件头 字段信息:From、To、Subject、Reply-To等提取出邮件头中的有效信息,作为 邮件头的特征;对于邮件体部分,采用滑动窗口的指纹特征提取方法,然后将 邮件头和邮件体两部分特征合并,用向量形式表示,进入步骤S7;

步骤S7、特征数据更新模块根据训练邮件的特征进行训练学习,更新该邮 件所对应类簇的特征库。

如图7所示,过滤阶段具体包括以下步骤::

步骤S1、在过滤阶段,通过邮件系统取得需要过滤的邮件,传递给邮件类 属性判别模块,进入步骤S2;

步骤S2、邮件过滤模块中的类属性判别模块依据邮件所采用的编码方式进 行解码,然后对邮件文本信息进行去噪、分词处理,提取出有效特征词信息并 表示成VSM向量形式,其中权重采用tf-idf计算,计算与各类簇中心的特征向 量的相似度Sim(D,D′):

sim(D,D)=2Σi=1nwi×wiΣi=1nwi2×Σi=1nwi2

其中D为邮件的向量表示,D‘i为类簇i的中心向量,wi和w’i分别为对 应的特征权重。选取相似度最大的类簇,将类簇编号输出,进入到步骤S3;

步骤S3、邮件过滤模块中的特征提取模块分别读取已标注的邮件,按照邮 件格式,将邮件分为邮件头(head)和邮件体(body)两部分,对于邮件头部 分,特征提取模块按字段信息提取出邮件头中的有效信息,作为邮件头的特征; 对于邮件体部分,特征提取模块采用滑动窗口的指纹特征提取方法,然后将邮 件头和邮件体两部分特征合并,用向量形式表示,依据该训练邮件是否为spam 的标识,进行训练学习,对应更新该邮件所属类簇的特征库i,进入步骤S4;

步骤S4、邮件过滤模块中的判别模块通过邮件的向量特征和该邮件所属 类簇对应的特征库计算该封邮件的得分score,若score值大于或等于预设的 判断阈值,则将该封邮件打上spam标记,输出结果;若score值小于判断阈 值,则将该封邮件打上ham标记,输出结果。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号