首页> 中国专利> 基于客户端的个性化电子邮件过滤系统和过滤方法

基于客户端的个性化电子邮件过滤系统和过滤方法

摘要

本发明公布了一种基于客户端的个性化电子邮件过滤系统和过滤方法,系统包括接收模块、过滤和更新模块、显示模块;接收模块接收邮件,将邮件进行预处理;过滤和更新模块包括数据库、条件匹配器和智能检测分类器;数据库为训练数据集;条件匹配器用于用户设置过滤条件,根据过滤条件对邮件进行过滤,再利用分类器对邮件进行检测分类,同时利用接收到的邮件对分类器的训练数据集进行实时更新,由此实现个性化的电子邮件过滤分类;显示模块将电子邮件过滤分类的结果显示出来。本发明提供的技术方案不仅过滤方法多样化、性能好,还能满足实时性和个性化的要求。

著录项

  • 公开/公告号CN105871887A

    专利类型发明专利

  • 公开/公告日2016-08-17

    原文格式PDF

  • 申请/专利权人 北京大学;

    申请/专利号CN201610316436.0

  • 发明设计人 谭营;高扬;米古月;

    申请日2016-05-12

  • 分类号H04L29/06(20060101);H04L12/58(20060101);

  • 代理机构北京万象新悦知识产权代理事务所(普通合伙);

  • 代理人黄凤茹

  • 地址 100871 北京市海淀区颐和园路5号

  • 入库时间 2023-06-19 00:20:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-05-16

    未缴年费专利权终止 IPC(主分类):H04L29/06 专利号:ZL2016103164360 申请日:20160512 授权公告日:20190129

    专利权的终止

  • 2019-01-29

    授权

    授权

  • 2016-09-14

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20160512

    实质审查的生效

  • 2016-08-17

    公开

    公开

说明书

技术领域

本发明涉及邮件过滤技术,尤其涉及一种基于客户端的个性化电子邮件过滤系统和过滤方法。

背景技术

目前垃圾邮件过滤方法大多基于两种特征提取方法。其中,一种依赖传统的统计学,通过分析处理待选特征词的统计信息,将其依据可区分性排序,提取出可区分性良好的特征词;这种方法虽然可以提取出大量的有效特征,然而,由于缺乏对这些特征的进一步处理,导致特征向量维度过高,增加了计算的复杂度。

另一种基于人工免疫系统,结合免疫思想,模拟生物抗体的生成过程,提取出具备启发性的特征。然而,该类方法侧重于启发式规则的建立,而较少利用统计学理论分析所提取的特征有效性。

目前的垃圾邮件过滤方法,多采用已有数据集来训练,难以做到根据接收到的邮件进行数据集的实时更新。现有邮件客户端采用的垃圾邮件过滤方法大多是在服务器端进行过滤,然后在客户端上对邮件进行分类显示。这种在服务器端进行过滤的方法,需要采集很多用户的使用情况后,才能进行邮件数据集的更新,从而导致实时性较差。同时,因为在服务器端统一进行邮件过滤,所有用户的邮件过滤效果都相似甚至相同,造成用户个性化的需求难以被满足。

发明内容

为了克服上述现有技术的不足,本发明提供一种基于客户端的个性化电子邮件过滤系统和过滤方法,通过计算免疫浓度特征,由于不同用户收到的邮件各不相同,采用在本地客户端进行训练学习的方法,用户接收到每封邮件都会对训练数据集进行更新,由此实现个性化电子邮件过滤。

本发明提供的技术方案是:

一种基于客户端的个性化电子邮件过滤系统,包括接收模块、过滤和更新模块、显示模块;

所述接收模块用于接收邮件,再将接收到的邮件进行预处理,并将预处理结果传给过滤模块;

所述过滤和更新模块包括数据库、条件匹配器和智能检测分类器;数据库为存储在本地的训练数据集;条件匹配器用于用户设置过滤条件,根据过滤条件对接收到的邮件进行过滤;同时利用智能检测分类器对接收到的邮件进行检测分类,得到接收到邮件的分类,并利用接收到的邮件对智能检测分类器的训练数据集进行实时更新,从而针对每个用户建立其特有的训练数据集,使得智能检测时的分类器因用户而异,由此实现个性化的电子邮件过滤分类;

所述显示模块将电子邮件过滤分类的结果显示出来。

本发明具体使用JAVA语言编程实现上述客户端系统;通过调用WaikatoEnvironment for Knowledge Analysis(Weka)的函数库来实现分类器训练和分类。用户设置的过滤条件包括关键词过滤条件和发件人地址过滤条件等。

本发明还提供一种基于客户端的个性化电子邮件过滤方法,分为训练阶段和过滤阶段,本方法基于免疫浓度特征,采用在本地进行训练学习的方法,针对用户接收到的每封邮件,通过本地数据集的实时更新,得到每个用户个性化的训练数据集,实现不同用户个性化的邮件过滤要求,从而解决邮件过滤的实时性和个性化的问题;具体包括如下步骤:

1)在训练阶段,执行如下步骤:

11)针对已有的电子邮件数据集,根据词的信息量和倾向度,生成两类检测器集合,分别为正常邮件检测器集合和垃圾邮件检测器集合;

12)针对已有的电子邮件数据集,利用步骤11)构建好的检测器集合,构建免疫浓度特征向量,得到所述电子邮件数据集中的每封邮件对应的免疫浓度特征向量;

13)利用步骤12)得到的每封邮件对应的免疫浓度特征向量,训练分类器,得到训练好的分类器模型;

2)在过滤阶段,执行如下步骤:

21)对接收邮件进行预处理,对接收到的每封邮件进行解析,得到所述邮件的标题、正文、收件人地址、发件人地址,所述标题、收件人地址、发件人地址,设置过滤条件(包括标题过滤条件、收发地址过滤条件等),用于进行邮件分类;对所述正文进行分词,每封邮件均被划分成多个特征词;

22)对接收邮件进行分类过滤,执行如下操作:

221)对接收到的每封邮件,利用步骤11)构建好的检测器集合,将接收到的每封邮件重构成相应的免疫浓度特征向量,得到接收到的每封邮件对应的免疫浓度特征向量;

222)利用步骤13)所述分类器模型对邮件进行分类,得到分类结果;

223)根据分类结果和用户设置的过滤条件,对接收邮件进行过滤处理,得到过滤处理结果;

23)根据用户交互操作进行实时更新并显示出来,包括如下情况:

23a)当接收邮件被归类为垃圾邮件时,所述邮件进入“垃圾邮件箱”;

23b)当接收邮件被归类为正常邮件时,所述邮件进入“收件箱”;

23c)当用户发现垃圾邮件箱中存在正常邮件,或者收件箱中存在垃圾邮件时,用户可手动将错分的邮件重新分类;对所述重新分类的邮件,进行分词处理得到分词,转入步骤1)用所述分词更新检测器集合,并依次重新构建免疫浓度特征向量和训练分类器。

针对上述过滤方法,进一步地,步骤11)所述词的信息量和倾向度分别通过词筛选方法和倾向度计算方法计算得到;所述词筛选方法具体是:

对于已有的电子邮件数据集,通过式1计算得到所有特征词的信息增益I(t),并将所有特征词根据信息增益I(t)的大小进行排序,将排序位于前m%的特征词添加到基因库;在本发明实施例中,优选地,m取值为50。

上式中,P(Ci)表示Ci类别的文档在数据集中的频率;P(t)表示数据集中含有特征词t的文档的概率;表示数据集中不含有特征词t的文档的概率;P(Ci|t)表示某文档在特征词t出现的前提下,其属于类别Ci的概率;表示在特征词t不出现的前提下,该文档属于类别Ci的概率。

所述倾向度计算具体是:对于所述基因库中的每个特征词,计算该特征词在垃圾邮件中出现的频率和正常邮件中出现的频率;当该特征词在正常邮件中出现的频率大于该特征词在垃圾邮件中出现的频率时,将该特征词记入正常邮件检测器集合;当该特征词在垃圾邮件中出现的频率大于该特征词在正常邮件中出现的频率时,将该特征词记入垃圾邮件检测器集合;当两者频率相等时,该特征词不纳入任何检测器集合。由此生成两类检测器集合。

针对上述过滤方法,进一步地,步骤12)所述构建免疫浓度特征向量,具体方法是:对电子邮件数据集中的每封邮件的不同特征词出现在垃圾邮件检测器集合和正常邮件检测器集合的数量进行计数;设N表示每封邮件中不同特征词的个数,S表示每封封邮件中出现在垃圾邮件检测器集合的特征词数量,L表示每封邮件中出现在正常邮件检测器集合的特征词数量;构建得到一个二维向量,记作(S/N,L/N),作为免疫浓度特征向量,由此得到所述电子邮件数据集中的每封邮件对应的免疫浓度特征向量。

针对上述过滤方法,进一步地,所述分类器采用支持向量机SVM。

针对上述过滤方法,进一步地,在步骤13)所述训练的过程中,使用二次规划方法对分类器进行参数优化。

与现有技术相比,本发明的有益效果是:

现有的垃圾邮件过滤方法,大多采用已有数据集来训练,并且数据集很少做到根据接收到的邮件进行实时更新。因为它们采用的方法是在服务器端进行过滤,而服务器中的数据集需要采集很多用户的使用情况以后,才可能进行更新。

本发明提供的垃圾邮件过滤方法通过对每封邮件构建免疫浓度特征向量,能够有效提取邮件的特征,从而提高分类性能,提升垃圾邮件过滤效果。基于免疫浓度特征方法,在具有较好过滤效果的基础上,针对每个用户接收到的邮件各不相同的特点,在本地对每个用户建立个性化的邮件检测分类器,从而实现一种个性化的垃圾邮件过滤客户端。客户端系统还包括其它基于规则的过滤方法,比如白名单、关键词等方法,使得过滤方法多样化,从而提升系统整体性能。本发明提供的客户端是在本地进行训练学习,用户接收到每封邮件,都会对训练数据集进行更新。而不同用户收到的邮件各不相同,所以这种本地数据集的实时更新,可以实现每个用户都不同的个性化的训练数据集,从而实现不同用户之间个性化的垃圾邮件过滤效果;解决实时性和个性化的问题。

综上,本发明提供的技术方案,一方面过滤方法多样化、性能好(垃圾邮件过滤的准确率、召回率、F度量值等指标能达到98%以上),另一方面能满足实时性和个性化的要求。

附图说明

图1是本发明提供的基于免疫浓度特征的过滤方法的流程框图。

图2是本发明实施例实现的基于免疫浓度的垃圾邮件客户端系统的结构框图。

图3为本发明实施例中客户端系统登录以后的主界面截图。

图4为本发明实施例中客户端系统的邮件阅读界面截图。

图5为本发明实施例中客户端系统的过滤功能设置界面截图。

具体实施方式

下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。

本发明提供了一种基于免疫浓度特征的垃圾邮件过滤方法,提出一种新的免疫浓度特征提取方法,并将该方法应用到电子邮件客户端系统。该系统支持多个账户同时登录,从邮件服务器读取用户邮件,提取没封邮件的浓度特征,并使用分类器产生相应的邮件分类结果。基于免疫浓度特征的垃圾邮件过滤方法可分为训练阶段和过滤阶段,训练阶段将训练数据集输入分类器,对分类器的参数进行学习和优化,最终得到最优效果下的分类器;过滤阶段将训练得到的分类器用于本客户端中接收的邮件;具体步骤包括:

S1)将已有电子邮件集合作为数据集,从中提取免疫浓度特征向量,输入分类器并进行训练和学习,生成分类器模型;本发明实施例中采用SVM作为分类器;

S2)各用户收到邮件后,对各用户的邮件分别进行解析,得到邮件的标题、正文和收件人与发件人地址;

S3)将邮件的正文进行分词,根据分词后的邮件正文、检测器集生成免疫浓度特征向量,并使用S1中生成的分类器模型对邮件进行分类。

本发明提供的基于免疫浓度特征的过滤方法的具体实施流程如图1所示,对接收的每一封邮件,分别进行解析,得到邮件标题、发信人地址和邮件正文。解析之后得到的邮件标题和发信人地址等部分,通过匹配用户设置的过滤条件进行过滤,包括关键词过滤、发件人地址过滤等;解析之后的邮件正文部分,在进行分词之后构建免疫浓度特征,计算分类结果。最终将用户设置的过滤条件,以及分类器的分类结果相结合,对客户端系统中的邮件统一进行过滤。依据本发明提供的过滤方法,以下实施例建立了基于免疫浓度的垃圾邮件客户端系统,该系统使用JAVA语言编程实现,调用了Weka的函数库来实现分类器训练和分类。图2是本发明实施例实现的基于免疫浓度的垃圾邮件客户端系统的结构框图,系统主要包括三大模块:接收模块、过滤模块和显示模块。接收模块将接收到的邮件进行预处理,并将预处理结果传给过滤模块。过滤模块通过过滤条件和智能检测分类方法,对用户收到的邮件进行过滤,同时实时更新分类器,实现个性化的分类。显示模块将过滤结果显示出来,垃圾邮件进入垃圾邮件箱。系统具体实现步骤如下:

第一步:构建检测器集合;

检测器集合(检测集)是一种检测器的集合,本发明中分为两种,一种是垃圾邮件检测器集合,另一种是正常邮件检测器集合。其中,通过计算特征词对两类邮件的倾向度,将更倾向于出现在垃圾邮件中的特征词归入垃圾邮件检测器集合,将更倾向于出现在正常邮件中的特征词归入正常邮件检测器集合。

在检测器集合的生成阶段,主要工作在于将词筛选算法与倾向度函数相结合,根据特征词的信息量(本实施例中采用信息增益作为信息量的衡量指标,具体计算方式见下文)和倾向度来生成两种类别的检测器集合。具体地:

11)词筛选方法:对于已有的电子邮件数据集,将邮件正文分词处理后得到各个特征词。对于邮件正文的分词,本实施例中的具体实施方式是,将每个汉字作为一个特征词,每个单词作为一个特征词,比如,“城市”划分为“城”和“市”两个特征词。分词完成后,每封邮件被划分成了N个特征词。计算所有特征词的信息增益I(t),其计算公式如式1所示,并将所有特征词根据信息增益I(t)的大小进行排序。将信息增益排序中排名位于前m%的特征词添加到基因库,实验证明m=50时效果最佳;

上式中,Ci代表邮件i的类别(正常邮件或垃圾邮件);P(Ci)表示Ci类别(正常邮件或垃圾邮件)的文档在数据集中的频率;P(t)表示数据集中含有特征词t的文档的概率;表示数据集中不含有特征词t的文档的概率;P(Ci|t)表示某文档在特征词t出现的前提下,其属于类别Ci的概率;表示在特征词t不出现的前提下,该文档属于类别Ci的概率。

12)倾向度计算:对于基因库中的每个特征词,计算该特征词在每个检测集(本实施例为垃圾邮件和正常邮件)中出现的频率。

在垃圾邮件中出现频率更大的特征词,记入垃圾邮件检测器集合DSS;在正常邮件中出现频率更大的特征词,记入正常邮件检测器集合DSL;我们认为,在垃圾邮件中出现频率更大的特征词,应归属于垃圾邮件检测器集;在正常邮件中出现频率中更大的特征词,应该归属于正常邮件检测器集)。

第二步:构建免疫浓度特征向量;

对于已有的电子邮件数据集,计数每封邮件的不同特征词出现在垃圾邮件检测器集合DSS和正常邮件检测器集合DSL的数量。设N表示每邮件中不同特征词的个数,S表示每封邮件中出现在垃圾邮件检测器集合的特征词数量,L表示每封邮件中出现在正常邮件检测器集合的特征词数量。则构建的免疫浓度特征向量是一个二维向量:(S/N,L/N)。

第三步:训练分类器

上一步将每封邮件重构成了对应的免疫浓度特征向量,利用这些特征向量对分类器进行训练。本实施例中的分类器选择支持向量机(SVM)。训练的过程中,使用二次规划方法对分类器模型进行参数优化。

第四步:客户端系统对接收邮件的预处理

图4为本发明实施例中客户端系统的邮件阅读界面截图,如图4所示,客户端系统收到邮件后,对邮件进行解析,得到邮件的标题、正文和收件人与发件人地址;其中标题、收发地址可通过用户设置的过滤条件进行基于过滤条件的邮件过滤;邮件正文实现分词后,用于上一步训练好的分类器模型;

第五步:客户端系统对邮件进行分类过滤

上一步中,客户端系统中的每封邮件都被划分成了多个特征词。打开客户端系统的过滤功能,具体如图5所示。此时再次利用第一步中构建好的检测器集合,按照第二步中的方法,将每封邮件重构成相应的免疫浓度特征向量,并使用第三步中训练好的分类器模型对邮件进行分类。最后,根据分类结果,以及用户对标题、收发地址等设置的过滤条件(比如匹配发件人地址是否存在于黑名单列表中,或者标题中是否含有某些关键字),对客户端系统中的邮件进行过滤处理,其结果显示在客户端中如图3所示。

第六步:根据用户交互操作特点进行实时更新

将上一步的过滤结果显示出来,被归类为垃圾邮件的电子邮件进入“垃圾邮件箱”,正常邮件进入“收件箱”。但是,当用户发现垃圾邮件箱中存在正常邮件,或者收件箱中存在垃圾邮件时,用户可以手动将错分的邮件重新分类。同时,对这些邮件分词处理后,跳回第一步,用这些分词来更新检测器集合,并依次重新构建免疫浓度特征向量和训练分类器。检测器集合的更新方法,以一封被用户手动标注为垃圾邮件的电子邮件为例:将该邮件中不属于正常邮件检测器集的特征词,全部加入垃圾邮件检测器集。同理,被手动标注为正常邮件的电子邮件,将其不属于垃圾邮件检测器集的特征词,全部加入正常邮件检测器集。

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号