公开/公告号CN101001244A
专利类型发明专利
公开/公告日2007-07-18
原文格式PDF
申请/专利权人 腾讯科技(深圳)有限公司;
申请/专利号CN200610001155.2
申请日2006-01-13
分类号H04L29/06(20060101);
代理机构11018 北京德琦知识产权代理有限公司;
代理人宋志强;麻海明
地址 518044 广东省深圳市福田区振兴路赛格科技园2栋东403室
入库时间 2023-12-17 18:50:31
法律状态公告日
法律状态信息
法律状态
2016-01-27
专利权的转移 IPC(主分类):H04L29/06 登记生效日:20160106 变更前: 变更后: 申请日:20060113
专利申请权、专利权的转移
2009-10-28
授权
授权
2007-09-12
实质审查的生效
实质审查的生效
2007-07-18
公开
公开
技术领域
本发明涉及电子邮件技术领域,特别是消除垃圾邮件误判的方法及系统。
背景技术
随着电子邮件中垃圾邮件的迅速增加,各种为对付垃圾邮件而进行的技术研究也迅速发展起来。到目前为止,至少存在8至10种以上基本的邮件过滤技术,它们或单独或被组合起来共同抵抗垃圾邮件的袭击。其中,一些垃圾邮件过滤技术简单地使用是或否来明确定义垃圾邮件,而另一些过滤技术使用打分规则来评判一个邮件接近于垃圾邮件的程度。目前基于垃圾邮件过滤的技术主要采用在邮件客户端或服务器端来实现。还有一些可以专门针对某个用户或者一群用户,比如某几个域内所有用户的垃圾邮件过滤网关。考虑到在一个反垃圾邮件体系中,通常会采用多级技术进行串联,因此整体的反垃圾邮件效果相当于将每一级的过滤率和误判率进行累加。这样累计的结果就是最终可能拦截率达到了一个比较好的效果,但是也会形成过高的误判率,可能给用户造成灾难性的危害。垃圾邮件的共同特点一方面是量大,另一方面是在内容和/或形式上具有较大的重复性。
在邮件服务器端,可以直接将垃圾邮件屏蔽掉,这样不仅使得用户不会受到垃圾邮件的骚扰,而且也可以减少服务器对邮件的处理量,节约处理器资源和带宽流量,目前在服务器上采用的过滤手段主要可以从互联网协议(Internet protocol,IP)连接、简单邮件传输协议(Simple Message TransferProtocol,SMTP)以及邮件内容等三个层面来进行识别、过滤。当前的反垃圾邮件技术可以分为四大类:过滤器(Filter)、反向查询(Reverse lookup)、挑战(challenges)和密码术(cryptography)。
这些解决办法中的每一类技术都可以拦截掉一部分垃圾邮件,减少垃圾邮件,但是都有各自的局限性。现有在邮件服务器上的垃圾过滤方法经过多层级连,虽然可以达到比较好的拦截效果,但是也造成级连的误判率很高。另外,在服务器层面被拦截掉垃圾邮件不会进入到客户端,这样被误判为垃圾邮件的非垃圾邮件对于用户来说就丢失了,这对用户的损害是十分严重的,尤其是丢失了重要度比较高的邮件,并且这种误判是无法挽回的。
发明内容
有鉴于此,本发明提出了消除垃圾邮件误判的方法及系统,其目的在于降低对垃圾邮件的误判率。
根据上述目的,本发明提供了一种消除垃圾邮件误判的方法,该方法包括:A.将服务器接收到的所有邮件按照相似度进行分类,并统计每个类别中的邮件数目;B.对所接收的邮件进行初步判断,将所接收的邮件初步判断为垃圾邮件和非垃圾邮件;C.对于初步判断为垃圾邮件的邮件,将该邮件所在类别中包含的邮件数目与预设的阀值相比较,判定该邮件是否为垃圾邮件。
优选地,步骤C包括:当该邮件所在类中包含的邮件数目大于等于预设的阀值时,判定该邮件为垃圾邮件;当该邮件所在类中包含的邮件数目小于预设的阀值时,判定该邮件为非垃圾邮件。
优选地,步骤C包括:当该邮件所在类中包含的邮件数目大于预设的阀值时,判定该邮件为垃圾邮件;当该邮件所在类中包含的邮件数目小于等于预设的阀值时,判定该邮件为非垃圾邮件。
在上述技术方案中,所述初步判断包括规则过滤、IP连接控制过滤、DNS域名反查过滤、贝叶斯过滤或者它们任意的组合。
本发明还提供了一种消除垃圾邮件误判的方法,该方法包括:A.将服务器接收到的所邮件按照相似度进行分类,并统计每个类别中的邮件数目;B.对所接收的邮件进行初步判断,将所接收的邮件初步判断为垃圾邮件和非垃圾邮件;C.对于初步判断为垃圾邮件的邮件,根据该邮件所在类别中包含的邮件数目与预设的阀值相比较的结果,得出该邮件属于垃圾邮件的概率;D.将该邮件属于垃圾邮件的概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。
优选地,步骤D包括:当该邮件属于垃圾邮件的概率大于等于预设的阀值概率时,判定该邮件为垃圾邮件;当该邮件属于垃圾邮件的概率小于预设的阀值概率时,判定该邮件为非垃圾邮件。
优选地,步骤D包括:当该邮件属于垃圾邮件的概率大于预设的阀值概率时,判定该邮件为垃圾邮件;当该邮件属于垃圾邮件的概率小于等于预设的阀值概率时,判定该邮件为非垃圾邮件。
其中,所述初步判断包括规则过滤、IP连接控制过滤、DNS域名反查过滤或者它们任意的组合。
所述步骤B包括:得到每封邮件属于垃圾邮件的初步概率,根据该初步概率将邮件初步分为垃圾邮件和非垃圾邮件。步骤D之前进一步包括:根据该邮件属于垃圾邮件的初步概率和步骤C中得到的该邮件属于垃圾邮件的概率,按照预设的权重系数,加权计算得到该邮件属于垃圾邮件的最终概率。步骤D中所述该邮件属于垃圾邮件的概率为该邮件属于垃圾邮件的最终概率。
步骤B中所述根据该初步概率将邮件初步分为垃圾邮件和非垃圾邮件的步骤包括:当该初步概率大于等于预设的初步阀值概率时,判定该邮件为垃圾邮件;当该初步概率小于预设的初步阀值概率时,判定该邮件为非垃圾邮件。
步骤B中所述根据该初步概率将邮件初步分为垃圾邮件和非垃圾邮件的步骤包括:当该初步概率大于预设的初步阀值概率时,判定该邮件为垃圾邮件;当该初步概率小于等于预设的初步阀值概率时,判定该邮件为非垃圾邮件。
优选地,所述初步判断包括贝叶斯过滤。
本发明还提供了一种消除垃圾邮件误判的系统,该系统包括:邮件接收模块,用于接收邮件,并将所接收的邮件分别发送给垃圾邮件过滤模块和相似度模块;垃圾邮件过滤模块,用于对所接收的邮件进行初步判断,将所接收的邮件初步分为垃圾邮件和非垃圾邮件,并将初步判断为垃圾邮件的邮件发送给相似度模块;相似度模块,用于将所接收到的邮件按照相似度进行分类并统计每个类别中的邮件数目,以及将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,判定该邮件是否为垃圾邮件。
所述相似度模块包括:相似度分类模块,用于将所接收到的邮件按照相似度进行分类并统计每个类别中的邮件数目;相似度二元判断模块,用于将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,判定该邮件是否为垃圾邮件。
所述垃圾邮件过滤模块包括采用规则过滤的模块、采用IP连接控制过滤的模块、采用域名系统DNS域名反查过滤的模块、采用贝叶斯过滤的模块或者它们任意的组合。
该系统进一步包括:非垃圾邮件集,用于存放被垃圾邮件过滤模块和相似度模块判定为非垃圾邮件的邮件;垃圾邮件集,用于存放被相似度模块判定为垃圾邮件的邮件。
本发明还提供了一种消除垃圾邮件误判的系统,该系统包括:邮件接收模块,用于接收邮件,并将所接收的邮件分别发送给垃圾邮件过滤模块和相似度模块;垃圾邮件过滤模块,用于对所接收的邮件进行初步判断,将所接收的邮件初步分为垃圾邮件和非垃圾邮件,并将初步判断为垃圾邮件的邮件发送给相似度模块;相似度模块,用于将所接收到的邮件按照相似度进行分类并统计每个类别中的邮件数目,以及根据初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较的结果,得出该邮件属于垃圾邮件的概率,并将该邮件属于垃圾邮件的概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。
所述相似度模块包括:相似度分类模块,用于将所接收到的邮件按照相似度进行分类并统计每个类别中的邮件数目;相似度统计判定模块,用于根据初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较的结果,得出该邮件属于垃圾邮件的概率,并将该邮件属于垃圾邮件的概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。
所述垃圾邮件过滤模块得到每封邮件属于垃圾邮件的初步概率,根据该初步概率将邮件初步分为垃圾邮件和非垃圾邮件;相似度模块根据该邮件属于垃圾邮件的初步概率和该邮件属于垃圾邮件的概率,按照预设的权重系数加权计算得到该邮件属于垃圾邮件的最终概率,并将该邮件属于垃圾邮件的最终概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。
所述垃圾邮件过滤模块包括采用规则过滤的模块、采用IP连接控制过滤的模块、采用域名系统DNS域名反查过滤的模块、采用贝叶斯过滤的模块或者它们任意的组合。
该系统进一步包括:非垃圾邮件集,用于存放被垃圾邮件过滤模块和相似度模块判定为非垃圾邮件的邮件;垃圾邮件集,用于存放被相似度模块判定为垃圾邮件的邮件。
从上述方案中可以看出,由于本发明在现有的垃圾邮件过滤模块上添加了相似度分类模块和相似度判定模块,对现有垃圾邮件过滤模块初步判断为垃圾邮件的那部分数量庞大的邮件进行进一步判断,判定出最终的垃圾邮件和非垃圾邮件,降低了将邮件误判为垃圾邮件的情况。由于只需在现有的垃圾过滤模块上添加一个相似度模块,对于现有系统来说不会有很大的变更,各模块也相对独立。本发明的相似度模块支持标准的SMTP协议,方便将此发明嵌入到其它应用当中。并且,现有的测试表明,在拦截率降低3%时本发明能够消除大约44%的误判,尤其对于个人发给个人重要程度较高的误判邮件判别具有显著的效果。如果进一步结合系统白名单,则可以将邮件列表部分的误判消除,从而将误判率降至到很低的水平。
附图说明
图1为根据本发明第一实施例的系统结构示意图;
图2为根据本发明第一实施例的流程示意图;
图3为根据本发明第二实施例的系统结构示意图;
图4为根据本发明第二实施例的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下举实施例对本发明进一步详细说明。
本发明中所说的相似包括但不限于文本相似、结构相似等。如果两封邮件的词语有90%以上相同并以相同顺序出现,即可认为是文本相似;如果两封邮件的结构特征,譬如邮件头、邮件体(body)中的结构(空行数、段落形式等)、邮件的尺寸大小等这样一些特征相似,即可认为是结构相似。
本发明的第一实施例以二值型判断为例说明本发明,所谓二值型即将邮件直接判断为是或不是垃圾邮件。
图1为本发明第一实施例中的垃圾邮件判断系统的结构示意图。参照图1,本发明第一实施例中的系统包括邮件接收模块、垃圾邮件过滤模块、相似度模块、非垃圾邮件集和垃圾邮件集。其中邮件接收模块接收所有发送到SMTP服务器(SMTP Server)的邮件,并将每一封收到的邮件另外拷贝一份,一份送入垃圾邮件过滤模块,一份送入相似度模块,当然也可以采用其它方法将所接收的邮件分别送入这两个模块。垃圾邮件过滤模块对所接收的邮件进行初步判断,将所接收的邮件初步分为垃圾邮件和非垃圾邮件,并将初步判断为垃圾邮件的邮件发送给相似度模块。垃圾邮件过滤模块一般包括串联的多级过滤模块,如过滤模块1、过滤模块2...过滤模块N,每级过滤模块相对独立,完成对应层面的垃圾邮件的截取,通常包括规则过滤、IP连接控制过滤、DNS域名反查过滤、贝叶斯过滤。相似度模块用于将所接收到的邮件按照相似度进行分类并统计每个类别中的邮件数目,以及将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,判定该邮件是否为垃圾邮件。相似度模块包含相似度分类模块和相似度二元判定模块,前者主要完成对所有的邮件按照特有的相似特征分成若干类;后者主要利用二元模型完成消除误判的功能,即将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,判定该邮件是否为垃圾邮件。
非垃圾邮件集用于存放从邮件服务器上面的邮件,包括两部分,一部分是未被垃圾过滤模块拦截的邮件,另一部分是经过相似度模块判别消除误判的非垃圾邮件。而垃圾邮件集则存放经过相似度模块判别之后认为是垃圾邮件的邮件。
下面,参照图2说明第一实施例的流程。
步骤S110,SMTP服务器上的邮件接收模块收到所有发过来的新邮件M,对于每一封收到的邮件都做一份拷贝Mc,存放在服务器上的某个位置。
步骤S120,所有新接收的邮件和它的拷贝分为两路下行,一路是将全部新邮件送入反垃圾过滤模块,另一路是将拷贝邮件送入到相似度分类模块,相似度分类模块对此邮件集进行实时的处理,将相似的邮件归类为Ci(i用于标识每一个相似类),并且统计每一类当中的邮件数目MailCount。
步骤S130,所有经过反垃圾过滤模块的邮件被区分为垃圾邮件集SpamMail和非垃圾邮件集GoodMail,将这些初步被认为非垃圾邮件的邮件直接发往非垃圾邮件集,同时将初步被认定为垃圾邮件的邮件送入到相似度二元判定模块。
步骤S140,相似度二元判定模块将被初步认定为垃圾邮件所在的相似类别中的邮件数目SimilarMailCount与预定阀值N进行比较,该N值表示如果超过了此值的邮件属于垃圾邮件,如果SimilarMailCount>=N,此时该邮件被判定为是真正的垃圾邮件;而对于SimilarMailCount<N,则判定为非垃圾邮件。当然也可以在SimilarMailCount>N时,将该邮件判定为真正的垃圾邮件,而在SimilarMailCount<=N时,判定为非垃圾邮件。
步骤S150,对于步骤S140中被进一步判定为非垃圾邮件的邮件全部发往到非垃圾邮件集;对于判定为垃圾邮件的邮件,则送向垃圾邮件集。
本发明的第二实施例在第一实施例相似度二值系统模型的基础上,提出了相似度概率系统模型,即先得到邮件属于垃圾邮件的概率,然后根据概率再判定其是否属于垃圾邮件,该方法能够适应更广泛范围的统计方法。
参照图3,本发明第二实施例中的系统包括:邮件接收模块、垃圾邮件过滤模块、相似度模块、非垃圾邮件集和垃圾邮件集。其中邮件接收模块接收所有发送到SMTP Server的邮件,并将每一封收到的邮件另外拷贝一份,一份送入垃圾邮件过滤模块,一份送入相似度模块,当然也可以采用其它方法将所接收的邮件分别送入这两个模块。垃圾邮件过滤模块对所接收的邮件进行初步判断,将所接收的邮件初步分为垃圾邮件和非垃圾邮件,并将初步判断为垃圾邮件的邮件发送给相似度模块。垃圾邮件过滤模块一般包括串联的多级过滤模块,如过滤模块1、过滤模块2...过滤模块N-1、过滤模块N,每级过滤模块相对独立,完成对应层面的垃圾邮件的截取,通常包括规则过滤、IP连接控制过滤、DNS域名反查过滤、贝叶斯过滤等。更进一步,垃圾邮件过滤模块可以得到每一封邮件属于垃圾邮件的统计概率值,根据该概率值判定垃圾邮件和非垃圾邮件,并将垃圾邮件送入相似度模块。
相似度模块用于将所接收到的邮件按照相似度进行分类,并统计每个类别中的邮件数目,以及将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,得出该邮件属于垃圾邮件的概率,将该邮件属于垃圾邮件的概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。相似度模块包含相似度分类模块和相似度统计判定模块,前者主要完成对所有的邮件按照特有的相似特征分成若干类;后者主要利用统计模型完成消除误判的功能,即将初步判断为垃圾邮件的邮件所在类别中包含的邮件数目与预设的阀值相比较,得出该邮件属于垃圾邮件的概率,将该邮件属于垃圾邮件的概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。如果垃圾邮件过滤模块送来的邮件具有该邮件属于垃圾邮件的初步概率,那么相似度模块的相似度统计判定模块根据该邮件属于垃圾邮件的初步概率和垃圾邮件过滤模块得到的该邮件属于垃圾邮件的概率,按照预设的权重系数,加权计算得到该邮件属于垃圾邮件的最终概率,将该最终概率与预设的阀值概率相比较,判定该邮件是否为垃圾邮件。
非垃圾邮件集用于存放从邮件服务器上面的邮件,包括两部分,一部分是未被垃圾过滤模块拦截的邮件,另一部分是经过相似度模块判别消除误判的非垃圾邮件。而垃圾邮件集则存放经过相似度模块判别之后认为是垃圾邮件的邮件。
参照图4,本发明第二实施例的工作流程如下:
步骤S210,SMTP服务器上的邮件接收模块收到所有发过来的新邮件M,对于每一封收到的邮件都做一份拷贝Mc,存放在服务器上的某个位置。
步骤S220,所有新接收的邮件和它的拷贝分为两路下行,一路是将全部新邮件送入反垃圾过滤模块,另一路是将拷贝邮件集送入到相似度分类模块,相似度分类模块对此邮件集进行实时的处理,将相似的邮件归类为Ci(i用于标识每一个相似类),并且统计每一类当中的邮件数目MailCount。
步骤230,一封邮件经过基于概率型的过滤模块若干级级连过滤之后得到的是每一封邮件属于垃圾邮件的统计概率值Pf,根据Pf落入的概率区间,一方面将已经被过滤模块认定为非垃圾的邮件([0,n1%])送入到非垃圾邮件集,另一方面将无法判定((n1%,n2%))和暂时已经判定为垃圾邮件(spam)的垃圾邮件([n2,1])作为初步判定为垃圾邮件的邮件送入到相似度模块。
步骤S240,相似度分类模块先根据初步判定为垃圾邮件的邮件所在的相似类别中的邮件数目N,根据预先设定算法,计算此时此封邮件属于垃圾邮件的概率Ps。总体来说,Ps变化的趋势是随着N值的增加而增大。得到Ps值之后,将Pf与Ps值进行加权处理,得到此封邮件的最终被判定为spam的概率值P。
步骤S250,最后将P值与预设的垃圾邮件的阀值概率相比较,最终判定这封邮件是否为垃圾邮件。
步骤S260,对于步骤S2500中被进一步判定为非垃圾邮件的邮件全部发往到非垃圾邮件集;对于判定为垃圾邮件的邮件,则送向垃圾邮件集。
下面通过具体例子说明上述过程。判断属于垃圾邮件的概率区间预先设定为以下三部分:好邮件[0,20%];不能确定(20%,80%);暂时判定[80%,1]。假设一封邮件经过过滤模块N-1后被认定是spam的概率是Pf=60%,它落在了上述第二个区间中,那么这封邮件会被送入相似度模块。首先会将这封邮件定位于相似度分类模块得到的某个与之相似的邮件分类,从而得到了该分类中邮件的数目,即与该邮件相似的邮件数目N。假设得到垃圾邮件概率Ps的算法如下:
N>0,则Ps=10%;
若N∈(0,10],Ps乘上权重系数1.2;
若N∈(10,20],Ps乘上权重系数2.2;
若N∈(20,40],Ps乘上权重系数5.0;
若N∈(40,无穷),Ps乘上权重系数8.8。
那么,如果此时统计出来N=31,则Ps=10%*5.0=50%。
接下来将Pf与Ps值进行加权处理,假定预设Pf赋予权重0.4以及Ps赋予权重0.6,那么此封邮件最终被认定属于垃圾的概率为:P=60%*0.4+50%*0.6=54%。假设预设的垃圾邮件的阀值概率为75%,由于54%<75%,则此封邮件被认定为是好邮件送入到非垃圾邮件集。以上的算法根据不同的策略可以进行多种变化。
此外,如果垃圾邮件过滤模块不是根据概率判定垃圾邮件,即没有Pf,那么相似度模块中的相似度统计判定模块则将Ps作为最终的概率P,并由此判定邮件是否为垃圾邮件。
机译: 消除不请自来的垃圾邮件或垃圾邮件的系统和方法
机译: 根据信息密度消除数据流中垃圾邮件的系统和方法
机译: 根据信息密度消除数据流中垃圾邮件的系统和方法