本发明实施例涉及通信技术领域,尤其涉及一种过滤垃圾邮件的方法、装置及邮件服务器。
背景技术:
随着网络用户的迅速增加,收发邮件已成为用户进行交流联系的主要手段。由于无需事前征求用户同意就可以在短时间内发送大量邮件给一个或者多个用户,因此邮件为广告宣传提供了成本低廉、传播面广的传播平台;正是由于这种非法利益的驱使,近年来垃圾邮件快速增长,所以迫切需要一个有效的方式来过滤垃圾邮件。
邮件过滤的核心问题是如何使用已知的邮件文本数据集合建立一个文本分类模型,然后使用这个模型对邮件类型进行判别,从而过滤出垃圾邮件。由于垃圾邮件过滤实际上是一个二分类问题,所以传统的分类方法虽然可以达到目的,但是效果并不好。目前邮件过滤主要采用的方法是给予规则过滤的方法,这种方法对于规则的依赖性很强,只要规则选取的好,相应的过滤结果也会非常好。但是垃圾邮件的特征也会不断的变化,导致传统的垃圾邮件过滤技术存在缺陷,对于垃圾邮件误判或漏判的可能性大大增加。
技术实现要素:
本发明实施例提供一种过滤垃圾邮件的方法、装置及邮件服务器,可以提升反垃圾引擎过滤垃圾邮件的能力,减少垃圾邮件误判或漏判的可能性。
第一方面,本发明实施例提供了一种过滤垃圾邮件的方法,包括:
通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分;
获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值;
基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值,其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率;
根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值,其中,所述垃圾分值为正值或负值;
根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
第二方面,本发明实施例还提供了一种过滤垃圾邮件的装置,该装置包括:
邮件预判定模块,用于通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分;
获取模块,用于获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值;
计算模块,用于基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值,其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率;
垃圾分值确定模块,用于根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值,其中,所述垃圾分值为正值或负值;
垃圾邮件判断模块,用于根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
第三方面,本发明实施例还提供了一种邮件服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分;
获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值;
基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值,其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率;
根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值,其中,所述垃圾分值为正值或负值;
根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
本发明实施例通过将聚合规则对应的垃圾分值和预设垃圾过滤技术的对应的参考垃圾评分进行综合运算,实现智能调整垃圾邮件判定结果,是对目前基于预设垃圾过滤技术的综合评分体系的补充,解决垃圾邮件误判或漏判的问题,同时丰富了垃圾邮件拦截的手段,达到了提升垃圾邮件过滤能力的效果。
附图说明
图1是本发明实施例一中的一种过滤邮件的方法的流程图;
图2是本发明实施例二中的一种过滤邮件的方法的流程图;
图3是本发明实施例三中的一种过滤邮件的装置的结构示意图;
图4是本发明实施例四中的一种邮件服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种过滤邮件的方法的流程图,该方法可以由过滤垃圾邮件的装置来执行,该装置被配置于垃圾服务器中,可以由硬件和/或软件实现。该方法可以包括如下步骤:
步骤110、通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分。
其中,预设规则库中第一规则可以是应用设定的垃圾过滤技术对邮件进行判定生成的,还可以由研发和运维人员根据需要自由扩展。其中,设定的垃圾过滤技术包括ip过滤、反向域名解析、发信频率、用户黑白名单、关键字、邮件内容、实时黑名单、用户行为、邮件特征等过滤技术。
可以理解的是,本实施例并不限定规则库的创建方式,理由可以预先应用设定的垃圾过滤技术对邮件进行判定后生成相应的规则,将所述垃圾过滤技术对应的规则存入所述预设规则库。还可以获取研发人员或运维人员输入的基于垃圾邮件的特征和发信行为的组合规则,将所述组合规则存入所述预设规则库。例如,由研发人员或运维人员根据邮件主题、邮件头、发件人地址、指针(ptr)记录、收件人地址、发件人别名等字段,设置相应的自定义组合规则,在邮件判定过程中生成该组合规则,并存入预设规则库。
在反垃圾引擎接收到新邮件时,首先利用该第一规则对其进行判定,由于预先为每个第一规则均设定了垃圾评分分值,将所有第一规则的垃圾评分分值的和作为该邮件的参考垃圾评分。
步骤120、获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值。
其中,历史邮件为设定时间内完成邮件判定的邮件集合。例如,反垃圾引擎将当天内接收的新邮件作为历史邮件。可以理解的是,本发明中设定时间可以根据需要进行自由设置,例如可以设置为一天,也可以设置为一周等。
预先设置规则训练功能的开关,并设置特定时间段内(例如凌晨2点至4点等)该规则训练功能开启,以根据新邮件训练第一规则,更新第一垃圾概率。示例性的,在规则训练功能开启时,将设定时间段内完成判定的邮件作为机器学习训练的样本,对所述第一规则进行训练,根据该第一规则在非垃圾邮件及垃圾邮件的占比计算得到所述第一规则对应的第一垃圾概率,并根据所述第一垃圾概率更新原第一规则的垃圾概率数据库。规则的训练过程是一种在线学习机制,通过以设定时间段内的邮件为训练样本,进行学习训练后,每个第一规则对应生成第一垃圾概率值,并将第一规则对应的第一垃圾概率值更新在内存和数据库中。这样设计可以有效的避免因为要实时学习训练导致反垃圾引擎的大量计算资源被占用,从而影响垃圾邮件过滤操作的执行效率。同时,还可以通过以新邮件为学习训练的样本,对第一规则进行训练,达到适应新邮件的特征的目的,可以有效的过滤出垃圾邮件。既可以避免实时进行规则训练导致的计算资源的大量占用,又可以避免因邮件特征变化导致的漏检或误检问题。
反垃圾引擎在接收到新邮件后,根据第一规则查询该第一规则的垃圾概率数据库,得到第一规则对应的第一垃圾概率值。
步骤130、基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值。
其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率。
反垃圾引擎在对每封新邮件生成第一规则,并获取该第一规则对应的第一垃圾概率值后,利用该第一垃圾概率值基于聚类算法进行智能运算,为每封新邮件算出一个邮件垃圾概率值,即为第二垃圾概率值。示例性的,基于贝叶斯算法,根据由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率,计算得到所述邮件的第二垃圾概率值。
步骤140、根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值。
其中,可以预先将0-1分为多个垃圾概率值区间,将每个垃圾概率值区间记为聚合规则。如聚合规则rulr_00_01对应的垃圾概率区间是[0,0.1),rulr_00_02对应的垃圾概率区间是[0.1,0.2)等。
示例性的,该第二垃圾概率值的取值范围是0.0至0.1,即该邮件被判定为垃圾邮件的概率为10%以内,可以确定其对应聚合规则rulr_00_01。
对该聚合规则进行数据挖掘和分析运算后,最终形成一个相应的垃圾分值。例如,采用设定算法分别统计聚合规则在垃圾邮件中出现的次数及其在非垃圾邮件中出现的次数(即统计根据该聚合规则判断出的垃圾邮件的个数和非垃圾邮件的个数),将上述次数(或个数)代入预设公式得到该聚合规则对应的垃圾分值。这个垃圾分值有可能是负值,也有可能是正值。根据一般规律,在第二垃圾概率值较低时,例如10%以内,对应的聚合规则的垃圾分值可能是负分,用于在将聚合规则及其对应的垃圾分值输入至综合评分体系后(将该垃圾分值累加至参考垃圾评分),拉低垃圾评分的分值。在第二垃圾概率值较高时,例如90%以上,对应的聚合规则的垃圾分值可能是正分,用于在将聚合规则及其对应的垃圾分值输入至综合评分体系后(将该垃圾分值累加至参考垃圾评分),提高垃圾评分的分值。
步骤150、根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
根据所述第二垃圾分值调整所述参考垃圾评分,得到所述邮件的实际垃圾评分;将所述实际垃圾评分与预设阈值进行比较,根据比较结果判断所述邮件是否为垃圾邮件。
示例性的,将该第二垃圾分值与参考垃圾评分加和,在该第二垃圾分值为负值时,加和后拉低该参考垃圾评分的分值,在该第二垃圾分值为正值时,加和后提高该参考垃圾评分的分值。由于判定一封邮件是否为垃圾邮件的方式是将垃圾评分与预设阈值进行比较,若该垃圾评分超过该预设阈值,则确定该封邮件为垃圾邮件,否则,确定该封邮件为正常邮件。由于通过上述方法将第二垃圾分值累加至该参考评分得到实际垃圾评分,此时,将实际垃圾评分与预设阈值进行比较,根据比较结果确定邮件是否为垃圾邮件,可以有效的弥补采用传统过滤技术进行邮件过滤时的误判或漏判的缺陷。
此外,由于将规则作为特征元素进行机器学习、数据挖掘和运算操作,而反垃圾引擎用于判定邮件的规则一般有几十个,与以邮件内容包含的关键字为特征元素进行运算的运算量相比,有效的减小了运算量。
本发明实施例通过将聚合规则对应的垃圾分值和预设垃圾过滤技术的对应的参考垃圾评分进行综合运算,实现智能调整垃圾邮件判定结果,是对目前基于预设垃圾过滤技术的综合评分体系的补充,解决垃圾邮件误判或漏判的问题,同时丰富了垃圾邮件拦截的手段,达到了提升垃圾邮件过滤能力的效果。
实施例二
图2是本发明实施例二中的一种过滤邮件的方法的流程图。如图2所示,该方法包括:
步骤201、反垃圾引擎接收到邮件。
步骤202、经过垃圾过滤技术进行判定。
反垃圾引擎采用预先配置的垃圾过滤技术对新接收到的邮件进行判定。
步骤203、生成第一规则。
反垃圾引擎采用预先配置的垃圾过滤技术对新接收到的邮件进行判定的结果是生成对应于垃圾过滤技术的第一规则。由于每个第一规则都设定了垃圾评分分值,则根据第一规则对应的垃圾评分分值可以初步确定该封邮件的参考评分。此外,第一规则的来源还可以是研发人员或运维人员根据邮件特征和发信行为进行自由配置后由反垃圾引擎匹配后生成。
步骤204、判断是否开启规则训练,若是,则执行步骤205,否则,执行步骤206。
示例性的,预先设定规则训练的时间段,由此触发规则训练开启。因此,可以通过判断当前时间是否满足预先设定的时间段的方式判断是否开启规则训练。
可以理解的是,本实施例并不限定开始规则训练的方式,例如还可以设置在接收到设定数量的新邮件后,开启规则训练等。
步骤205、规则训练,并将训练结果更新到内存和数据库中。
反垃圾引擎在检测到规则训练功能开启后,以完成判定的新邮件作为机器学习训练的样本,通过学习训练后,每个第一规则对应生成第一垃圾概率值。将第一垃圾概率值相应的更新在内存和数据库中。
步骤206、规则综合评分。
根据基于综合评分技术的综合评分模型,确定采用第一规则作为输入,得到的邮件的参考垃圾分值。将新增的聚合规则输入至综合评分模型,以调整该参考垃圾分值,经过综合评分输出邮件的实际垃圾评分。其中,综合评分技术指综合各种过滤技术来认定邮件是否为垃圾邮件的技术。这种综合评分技术体系结构的优势是减少垃圾邮件的误判,同时还可以自由扩展,研发和运维人员只需要丰富和完善反垃圾规则库就行了。
本发明实施例在原有的过滤流程的基础上,增加了一项智能调整邮件垃圾评分分值的机制,生成的聚合规则最终也参与到综合评分体系进行评分运算,这种机制的好处是无须运维人员再去对新增的规则进行手动调分处理,程序通过加强学习就行了。
步骤207、判断训练的效果是否达到目标,若是,则执行步骤208,否则执行步骤206。
判断训练采用的邮件的数量是否达到设定数据,若是,则认为训练的效果达到目标,否则,认为训练的效果未达到目标。例如,可以判断作为训练样本的垃圾邮件的数量是否达到设定的第一数量,和/或,可以判断作为训练样本的非垃圾邮件的数量是够达到设定的第二数量,其中,第一数量和第二数量可以相同或不同。
步骤208、根据规则的第一垃圾概率值综合运算生成聚合规则,并通过数据挖掘和运算,计算该聚合规则的垃圾分值。
当规则在线学习后,新的邮件来临时,反垃圾引擎对每封邮件生成第一规则,并利用这些学习好的第一规则对应的第一垃圾概率值进行智能运算,最终为每封邮件算出一个第二垃圾概率值,根据这个第二垃圾概率值,就可以按波段生成相应的规则(比如垃圾概率值为0.0-0.1的邮件生成rulr_00_01,垃圾概率值为0.1-0.2的邮件生成rulr_01_02等等),这个规则就是通过邮件聚合规则算法(例如数据挖掘算法)生成的新规则,即为聚合规则。
将生成的聚合规则,以及计算好的聚合规则对应的垃圾分值输入综合评分模型,使其也参与到综合评分体系中去。
可以理解的是,本发明实施例并不限定规则聚合的算法,即不限定具体使用哪种算法来进行学习和判分,更关注于调整垃圾邮件判定结果的机制,这种机制很好的解决了垃圾邮件误判,并增强了垃圾邮件过滤的能力。
步骤209、判断垃圾评分是否超过预设阈值,若是,则执行步骤210,否则,执行步骤211。
将上述步骤中综合评分模型输出的邮件的实际垃圾评分与预设阈值进行比较。若实际垃圾评分超过预设阈值,则执行步骤210,否则,执行步骤211。
步骤210、走垃圾邮件处理流程。
若反垃圾引擎判定当前邮件为垃圾邮件,则走垃圾邮件处理流程,例如,丢弃该邮件。
步骤211、走正常邮件处理流程。
本实施例的技术方案,通过提供一种智能调整邮件垃圾评分分值的机制,生成聚合规则并对其进行数据挖掘和分析计算得到对应的垃圾分值,将聚合规则作为新的规则运用至综合评分体系,使聚合规则对应的垃圾分值参与到综合评分体系进行评分运算,无需运维人员再对新增的规则进行手动调整分值处理,解决垃圾邮件误判或漏判的问题,同时丰富了垃圾邮件拦截的手段,达到了提升垃圾邮件过滤能力的效果。
实施例三
图3是本发明实施例三中的一种过滤邮件的装置的结构示意图。该装置被配置于邮件服务器中,由于执行上述实施例提供的过滤邮件的方法。如图3所示,该装置可以包括:邮件预判定模块310、获取模块320、计算模块330、垃圾分值确定模块340和垃圾邮件判断模块350。
邮件预判定模块310,用于通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分;
获取模块320,用于获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值;
计算模块330,用于基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值,其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率;
垃圾分值确定模块340,用于根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值,其中,所述垃圾分值为正值或负值;
垃圾邮件判断模块350,用于根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
本发明实施例提供一种过滤垃圾邮件的装置,通过将聚合规则对应的垃圾分值和预设垃圾过滤技术的对应的参考垃圾评分进行综合运算,实现智能调整垃圾邮件判定结果,是对目前基于预设垃圾过滤技术的综合评分体系的补充,解决垃圾邮件误判或漏判的问题,同时丰富了垃圾邮件拦截的手段,达到了提升垃圾邮件过滤能力的效果。
可选的,该装置还包括:
规则生成模块,用于在通过预设规则库包括的第一规则对新接收的邮件进行预判定之前,应用设定的垃圾过滤技术对邮件进行判定后生成相应的规则,将所述垃圾过滤技术对应的规则存入所述预设规则库。
可选的,该装置还包括:
规则获取模块,用于在通过预设规则库包括的第一规则对新接收的邮件进行预判定之前,获取研发人员或运维人员输入的基于垃圾邮件的特征和发信行为的组合规则,将所述组合规则存入所述预设规则库。
可选的,该装置还包括:
数据库更新模块,用于在获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值之前,在规则训练功能开启时,将设定时间段内完成判定的邮件作为机器学习训练的样本,对所述第一规则进行训练,生成所述第一规则对应的第一垃圾概率,并根据所述第一垃圾概率更新原第一规则的垃圾概率数据库。
可选的,所述计算模块330具体用于:
基于贝叶斯算法,根据由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率,计算得到所述邮件的第二垃圾概率值。
可选的,所述垃圾邮件判断模块350具体用于:
根据所述第二垃圾分值调整所述参考垃圾评分,得到所述邮件的实际垃圾评分;
将所述实际垃圾评分与预设阈值进行比较,根据比较结果判断所述邮件是否为垃圾邮件。
上述过滤垃圾邮件的装置可执行本发明任意实施例所提供的过滤垃圾邮件的方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4是本发明实施例四中的一种邮件服务器的结构示意图。该邮件服务器中配置有上述实施例提供的过滤垃圾邮件的装置。如图4所示,该邮件服务器可以包括存储器410、处理器420及存储在存储器410上并可在处理器420上运行的计算机程序,所述处理器420执行所述计算机程序时实现以下步骤:
通过预设规则库包括的第一规则对新接收的邮件进行预判定,得到所述邮件的参考垃圾评分;
获取以历史邮件为机器学习的训练样本,对所述第一规则进行训练生成的第一垃圾概率值;
基于聚类算法,根据所述第一垃圾概率值计算得到所述邮件的第二垃圾概率值,其中,第一垃圾概率值包括由第一规则判定所述邮件为垃圾邮件的概率,以及由第一规则判定所述邮件为正常邮件的概率;
根据所述第二垃圾概率值的取值范围生成对应的聚合规则,并对所述聚合规则进行数据挖掘得到所述聚合规则对应的垃圾分值,其中,所述垃圾分值为正值或负值;
根据所述参考垃圾评分和垃圾分值的和,判断所述邮件是否为垃圾邮件。
上述邮件服务器可执行本发明任意实施例所提供的过滤垃圾邮件的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。