CN1889108A - 一种识别垃圾邮件的方法 - Google Patents

一种识别垃圾邮件的方法 Download PDF

Info

Publication number
CN1889108A
CN1889108A CNA2005100816275A CN200510081627A CN1889108A CN 1889108 A CN1889108 A CN 1889108A CN A2005100816275 A CNA2005100816275 A CN A2005100816275A CN 200510081627 A CN200510081627 A CN 200510081627A CN 1889108 A CN1889108 A CN 1889108A
Authority
CN
China
Prior art keywords
spam
mail
word
probability
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100816275A
Other languages
English (en)
Other versions
CN1889108B (zh
Inventor
张小龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2005100816275A priority Critical patent/CN1889108B/zh
Publication of CN1889108A publication Critical patent/CN1889108A/zh
Application granted granted Critical
Publication of CN1889108B publication Critical patent/CN1889108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种识别垃圾邮件的方法,包括:对邮件主题和邮件内容进行分词;根据分词的结果利用样本库判断邮件是否为垃圾邮件;对垃圾邮件进行处理。根据本发明,通过对邮件的内容和邮件主题进行分词,通过对大量样本邮件的学习,利用贝叶斯公式可算出新邮件为垃圾邮件的概率。通过实验表明,本发明尤其是对带有中文字符的邮件,其识别垃圾邮件的成功率较高,识别速度较快。

Description

一种识别垃圾邮件的方法
技术领域
本发明涉及一种邮件的处理方法,尤其涉及一种识别垃圾邮件的方法。
背景技术
随着网络的快速发展,人们使用电子邮件进行通信已是十分普遍。然而,人们会经常收到大量的垃圾邮件,这样,人们需要辨别哪些是垃圾邮件,哪些是正常邮件,对垃圾邮件要进行删除,因此,会极大地耗费邮件使用者的时间,所以,如何识别垃圾邮件是一项十分迫切的课题。
目前,识别垃圾邮件有以下几种方式:规则法,黑名单法,白名单法贝叶斯等。下面对它们分别进行简单说明。
规则法是通过统计垃圾邮件中经常出现的规律,然后总结出规则库,为每条规则设定一个权重分值。对于一封新邮件,首先计算邮件符合哪些规则,对符合的规则的分值求和,就可以得到一个总的分值,当分值超过一个设定的阈值时,就可以认为邮件是垃圾邮件。规则法的缺点是每条规则的权重分值和设定的阈值都只能通过调整来得到,而且需要定时维护规则库,调整权重等,因此,这种方法工作量大。
黑名单法是将现有垃圾邮件的来信人地址加入一个名单中,在以后的收邮件过程中,判断来信人地址是否存在于黑名单中,如果存在,则将其认为是垃圾邮件。黑名单法的优点是操作简单,但缺点是对于假的或者不断变更的垃圾邮件来信人地址没有任何处理办法。
白名单法是将自己认识的来信人地址加入到一个名单中,在以后的收邮件过程中,判断来信人地址是否存在于白名单中,如果存在,则直接将其认为正常邮件。白名单法只能作为降低反垃圾时的误判率的辅助手段。一般必须结合其它反垃圾方法使用。
贝叶斯法是通过对一定量的垃圾邮件和非垃圾邮件进行学习,然后利用贝叶斯公式来判断一封邮件是否为垃圾邮件的方法。不论是学习或者是判断,都必须对邮件内容进行分词处理。然而,这种方法只能对英文进行分词,至今还没有中文的分词方法,因而,不能利用这种方法对中文的垃圾邮件进行识别。
综上所述,现有技术中识别垃圾邮件的各种方法都存在着这样或那样的不足之处。
发明内容
针对现有技术的上述缺陷,本发明的目的是提供一种识别垃圾邮件的方法,其识别垃圾邮件的成功率较高。
本发明是通过下述技术方案实现的,本发明提供了一种识别垃圾邮件的方法,包括:
A、对接收到的邮件主题和/或邮件内容中的中文字符进行分词;
B、根据分词的结果利用样本库进行判断,从而确定所接收到的邮件为垃圾邮件。
所述的步骤A进一步包括:对接收到的邮件主题和邮件内容与词典中的词语进行匹配。
所述的样本库以预定顺序排列,每一条记录代表一个词语;记录中包括词语长度、词语、包含本词语的垃圾邮件个数、包含本词语的正常邮件个数。
为样本库建立索引,该索引为哈希表,其哈希值为预定顺序排列的值,并对应该哈希值字符开头的词语在样本库中出现的起始位置。
所述的预定顺序为Unicode码顺序。
所述的步骤B进一步包括:
B1、利用分词后的词语查询样本库,确定包含该词语的邮件为垃圾邮件的概率;
B2、根据所述的确定的包含词语的邮件为垃圾邮件的概率计算接收到的邮件为垃圾邮件的概率;
B3、当接收到的邮件为垃圾邮件的概率大于或等于预定阈值时,则确定接收到的邮件为垃圾邮件,否则确定接收到的邮件为正常邮件。
所述的步骤B1进一步包括:
B11、从样本库中获得垃圾邮件样本个数、正常邮件样本个数、所述词语出现在垃圾邮件中个数、出现在正常邮件个数;
B12、按公式:(出现在垃圾邮件中个数/垃圾邮件样本个数)/(出现在垃圾邮件中个数/垃圾邮件样本个数+出现在正常邮件个数/正常邮件样本个数)计算该词语对应的该邮件为垃圾邮件的概率。
所述的步骤B2还包括:根据第二预定数目的特征词语所对应的该邮件为垃圾邮件的概率计算该邮件为垃圾邮件的概率。
所述的特征词语为:从其所对应的邮件为垃圾邮件的概率与0.5的绝对差值从大到小选择的词语。
根据本发明,通过对邮件的内容和邮件主题进行分词,通过对大量样本邮件的学习,利用贝叶斯公式可算出新邮件为垃圾邮件的概率。通过实验表明,本发明的方法识别垃圾邮件的成功率较高,识别速度较快。
附图说明
图1示出了本发明的识别垃圾邮件的流程图。
具体实施方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
如图1所示,本发明的基本思想是:在步骤1中,对邮件进行分词,在步骤2中,根据分词结果利用样本库获得该词语所对应的邮件为垃圾邮件的概率,在步骤3中,根据词语所对应的邮件为垃圾邮件的概率,利用贝叶斯公式计算该邮件为垃圾邮件的概率,在步骤4中,判断该邮件为垃圾邮件的概率是否大于等于预定阈值,若是,在步骤5中,表明该邮件为垃圾邮件,并对其进行处理,否则,在步骤6中,表明该邮件为正常邮件。下面首先以中文为例介绍邮件的分词过程。
中文分词技术属于自然语言处理技术范畴。对于一段话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让机算机也能理解?其处理过程就是分词算法。根据本发明,采用基于字符串匹配的分词方法,这种方法又叫做机械分词方法,它是按照一定的策略将待分析的中文字符串与一个“充分大的”机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(即识别出一个词语)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:
(1)正向最大匹配法(由左到右的方向);
(2)逆向最大匹配法(由右到左的方向);
(3)最少切分(使每一句中切出的词数最小)。
此外,还可以使用基于理解的分词方法和基于统计的分词方法。
根据本发明,优选的是,本发明采取正向最大匹配方法,以四个中文字符为词语的最大长度。下面通过“我是一个中国人”这个语句介绍该方法。通过对“我是一个”,“我是一”,“我是”这几个词语在词典中进行查询,均未发现它们,确定“我”是独立的词语;然后查询“是一个中”,“是一个”,“是一”,同样在词典中没有发现它们,确定“是”是独立的词语;然后查询“一个中国”,“一个中”,“一个”,发现词典中只有“一个”这个词语,确定“一个”为词语;最后查询“中国人”,发现有“中国人”这个词语,从而确定“中国人”是一个词语。至此,全句分为“我是一个中国人”,这个过程比较简单,且效率较高。
上面介绍了中文的分词过程,下面介绍贝叶斯的学习和判断。步骤如下:
收集大量的垃圾邮件和正常邮件作为邮件样本。
建立一个样本库,每一条记录对应一个词语,按Unicode码顺序排列。记录中包含的信息为:词语长度(WordLength),词语(Word),包含本词语的垃圾邮件个数(BadCount),包含本词语的正常邮件个数(GoodCount)。
对各个样本邮件的主题和内容作分词处理,对于每个词语在样本库中查寻记录,如果不存在,则在相应位置插入一条记录。如果本邮件为垃圾邮件,则对记录中的BadCount增加1,如果本邮件为正常邮件,则对记录中的GoodCount增加1。
为了更快地在样本库中查找到词语,建立一个用于索引的哈希表。哈希表为65536个整数的数组,对应了全部的Unicode字符空间,对于中文来说,一个Unicode字符就是一个中文字符。每个位置存放了以对应的Unicode字符开头的词语在样本库中出现的起始位置。当要查找某个词语时,只需要按该词语第一个中文字符的Unicode内码取出哈希表中相应位置的整数,然后在样本库中定位到这个位置,就可以很快查找到词语的记录。
比如,在样本库中存放着“中国”,“中间”,“中文”等以“中”字开头的词语,其中“中国”在所有以“中”字开始的词语中是最靠前的。“中”的Unicode的内码为20013,那么,在哈希表中第20013个整数存放就是词语“中国”所在的位置。如果现在要查找“中间”,那么,首先取哈希表中第20013个整数,就得到以“中”字开头的词语在样本库中的起始位置,取哈希表中下一个整数,即是以“中”字开头的词语在样本库中的终止位置,然后按照二分法进行查找,可以高效地得到结果。
对垃圾邮件集和正常邮件集进行了学习后,就可以得到最终的样本库,同时保存样本邮件中的垃圾邮件样本数(BadEmailCount)和正常邮件样本数(GoodEmailCount)。
下面介绍利用上述的样本库判断新邮件是否为垃圾邮件的过程,首先利用分词技术将邮件主题和邮件内容分成若干个词语。然后,在样本库中找到该词语在垃圾邮件中出现的次数BadCount和在正常邮件中所出现的次数GoodCount,以及获得样本库中垃圾邮件样本数(BadEmailCount)和正常邮件样本数(GoodEmailCount)。最后根据BadCount、GoodCount、BadEmailCount和GoodEmailCount获得该邮件是否为垃圾邮件的概率;若在词语中找不到该词语,则忽略该词语。下面介绍如何判断是否为垃圾邮件。假设:
A事件:邮件为垃圾邮件
t1,t2,...,tn代表多个词语
P(A|ti)表示当邮件中出现词语ti时,该邮件为垃圾邮件的概率。P(A|ti)也可简称为词语ti的垃圾概率。显然,
P(A|ti)=(BadCount/BadEmailCount)/((GoodCount/GoodEmailCount)+(BadCount/BadEmailCount))
设t1,t2...tn这些词语的垃圾概率为P1,P2...Pn.
P(A|t1,t2,t3,...,tn)表示在邮件中同时出现多个词语t1,t2,...,tn时,该邮件为垃圾邮件的概率。则根据贝叶斯公式:
P(A|t1,t2,t3,...,tn)=(P1*P2*...Pn)/[P1*P2*...Pn+(1-P1)*(1-P2)*...(1-Pn)]
当P(A|t1,t2,t3,...,tn)超过预定阈值时,就可以判断邮件为垃圾邮件。根据本发明。优选的是,阈值取0.9,即P(A|t1,t2,t3,...,tn)超过0.9时,就可以判断邮件为垃圾邮件。
对于垃圾邮件,可利用黑名单法,将其邮件地址放在黑名单中,同时将垃圾邮件放入垃圾邮件箱,定时清除或作为用于进一步贝叶斯学习的样本。
应该注意到,由于有些词语出现在垃圾邮件或出现在正常邮件中的概率大概相同,所以,利用贝叶斯公式判断是否为垃圾邮件时,可以忽略这些词语,只对那些出现在垃圾邮件或出现在正常邮件中的概率较大的词语(这些词语也称作特征词语)利用贝叶斯进行计算,以便算出为垃圾邮件的概率。例如,可在其为垃圾邮件的概率与0.5的绝对差值中从大到小取若干个特征词语作为判断是否为垃圾邮件的依据,根据本发明,优选的是,取20个这样的特征词语作为判断依据,再利用贝叶斯公式算出为垃圾邮件的概率,这样可节省计算时间。
本发明主要描述了中文的分词过程,判断中文邮件是否为垃圾邮件的过程。还应注意到,本发明的上述过程很容易推广到中英文混合的邮件、英文邮件两种情况,对于有英文的邮件,首先对英文进行分词,分词可采用特定分隔符法,如空格、分号、逗号、句号等分隔符作为每一单词的分隔符,然后,取大量的样本邮件进行学习,建立中文和英文样本库,该样本库结构与上述样本库结构相同,即,每一条记录包括词语长度(WordLength),词语(Word),包含本词语的垃圾邮件个数(BadCount),包含本词语的正常邮件个数(GoodCount)。判断邮件是否为垃圾邮件过程与上述判断过程完全相同。
根据本发明,通过对中文内容进行词语的拆分,从而可利用贝叶斯方法来对包含中文字符的邮件进行识别,以判断其是否为垃圾邮件,通过实验表明,本发明的方法识别垃圾邮件的成功率较高,识别速度较快。
本发明还可配合其它几种反垃圾方法,这样,可进一步提高判断准确率,降低误判率。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。

Claims (9)

1、一种识别垃圾邮件的方法,其特征在于,包括:
A、对接收到的邮件主题和/或邮件内容中的中文字符进行分词;
B、根据分词的结果利用样本库进行判断,从而确定所接收到的邮件为垃圾邮件。
2、根据权利要求1所述的识别垃圾邮件的方法,其特征在于,所述的步骤A进一步包括:对接收到的邮件主题和邮件内容与词典中的词语进行匹配。
3、根据权利要求1所述的识别垃圾邮件的方法,其特征在于,所述的样本库以预定顺序排列,每一条记录代表一个词语;记录中包括词语长度、词语、包含本词语的垃圾邮件个数、包含本词语的正常邮件个数。
4、根据权利要求3所述的识别垃圾邮件的方法,其特征在于,为样本库建立索引,该索引为哈希表,其哈希值为预定顺序排列的值,并对应该哈希值字符开头的词语在样本库中出现的起始位置。
5、根据权利要求3或4所述的识别垃圾邮件的方法,其特征在于,所述的预定顺序为Unicode码顺序。
6、根据权利要求1所述的识别垃圾邮件的方法,其特征在于,所述的步骤B进一步包括:
B1、利用分词后的词语查询样本库,确定包含该词语的邮件为垃圾邮件的概率;
B2、根据所述的确定的包含词语的邮件为垃圾邮件的概率计算接收到的邮件为垃圾邮件的概率;
B3、当接收到的邮件为垃圾邮件的概率大于或等于预定阈值时,则确定接收到的邮件为垃圾邮件,否则确定接收到的邮件为正常邮件。
7、根据权利要求6所述的识别垃圾邮件的方法,其特征在于,所述的步骤B1进一步包括:
B11、从样本库中获得垃圾邮件样本个数、正常邮件样本个数、所述词语出现在垃圾邮件中个数、出现在正常邮件个数;
B12、按公式:(出现在垃圾邮件中个数/垃圾邮件样本个数)/(出现在垃圾邮件中个数/垃圾邮件样本个数+出现在正常邮件个数/正常邮件样本个数)计算该词语对应的该邮件为垃圾邮件的概率。
8、根据权利要求6所述的识别垃圾邮件的方法,其特征在于,所述的步骤B2还包括:根据第二预定数目的特征词语所对应的该邮件为垃圾邮件的概率计算该邮件为垃圾邮件的概率。
9、根据权利要求8所述的识别垃圾邮件的方法,其特征在于,所述的特征词语为:从其所对应的邮件为垃圾邮件的概率与0.5的绝对差值从大到小选择的词语。
CN2005100816275A 2005-06-29 2005-06-29 一种识别垃圾邮件的方法 Active CN1889108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005100816275A CN1889108B (zh) 2005-06-29 2005-06-29 一种识别垃圾邮件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005100816275A CN1889108B (zh) 2005-06-29 2005-06-29 一种识别垃圾邮件的方法

Publications (2)

Publication Number Publication Date
CN1889108A true CN1889108A (zh) 2007-01-03
CN1889108B CN1889108B (zh) 2010-12-15

Family

ID=37578384

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100816275A Active CN1889108B (zh) 2005-06-29 2005-06-29 一种识别垃圾邮件的方法

Country Status (1)

Country Link
CN (1) CN1889108B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136266A (zh) * 2011-12-01 2013-06-05 中兴通讯股份有限公司 邮件分类的方法及装置
CN103324745A (zh) * 2013-07-04 2013-09-25 微梦创科网络科技(中国)有限公司 基于贝叶斯模型的文本垃圾识别方法和系统
CN103944810A (zh) * 2014-05-06 2014-07-23 厦门大学 一种垃圾电子邮件意图识别系统
CN105187408A (zh) * 2015-08-17 2015-12-23 北京神州绿盟信息安全科技股份有限公司 网络攻击检测方法和设备
CN106330670A (zh) * 2016-08-18 2017-01-11 无锡云商通科技有限公司 基于邮件指纹对相同邮件进行判定的方法
CN106453423A (zh) * 2016-12-08 2017-02-22 黑龙江大学 一种基于用户个性化设置的垃圾邮件的过滤系统及方法
CN103944809B (zh) * 2014-05-06 2017-05-24 厦门大学 一种基于混淆模式识别的垃圾邮件识别方法
CN107086952A (zh) * 2017-04-19 2017-08-22 中国石油大学(华东) 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法
CN108462624A (zh) * 2017-02-17 2018-08-28 阿里巴巴集团控股有限公司 一种垃圾邮件的识别方法、装置以及电子设备
CN115277612A (zh) * 2022-08-03 2022-11-01 西安热工研究院有限公司 一种用于内网的垃圾邮件检测过滤方法及系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103905289A (zh) * 2012-12-26 2014-07-02 航天信息软件技术有限公司 一种垃圾邮件过滤方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564167A (zh) * 2004-04-04 2005-01-12 俞盛 对付垃圾邮件的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136266A (zh) * 2011-12-01 2013-06-05 中兴通讯股份有限公司 邮件分类的方法及装置
CN103324745A (zh) * 2013-07-04 2013-09-25 微梦创科网络科技(中国)有限公司 基于贝叶斯模型的文本垃圾识别方法和系统
CN103324745B (zh) * 2013-07-04 2017-04-05 微梦创科网络科技(中国)有限公司 基于贝叶斯模型的文本垃圾识别方法和系统
CN103944810A (zh) * 2014-05-06 2014-07-23 厦门大学 一种垃圾电子邮件意图识别系统
CN103944810B (zh) * 2014-05-06 2017-02-15 厦门大学 一种垃圾电子邮件意图识别系统
CN103944809B (zh) * 2014-05-06 2017-05-24 厦门大学 一种基于混淆模式识别的垃圾邮件识别方法
US10645105B2 (en) 2015-08-17 2020-05-05 NSFOCUS Information Technology Co., Ltd. Network attack detection method and device
CN105187408A (zh) * 2015-08-17 2015-12-23 北京神州绿盟信息安全科技股份有限公司 网络攻击检测方法和设备
CN106330670A (zh) * 2016-08-18 2017-01-11 无锡云商通科技有限公司 基于邮件指纹对相同邮件进行判定的方法
CN106453423A (zh) * 2016-12-08 2017-02-22 黑龙江大学 一种基于用户个性化设置的垃圾邮件的过滤系统及方法
CN106453423B (zh) * 2016-12-08 2019-10-01 黑龙江大学 一种基于用户个性化设置的垃圾邮件的过滤系统及方法
CN108462624A (zh) * 2017-02-17 2018-08-28 阿里巴巴集团控股有限公司 一种垃圾邮件的识别方法、装置以及电子设备
CN108462624B (zh) * 2017-02-17 2021-03-09 阿里巴巴集团控股有限公司 一种垃圾邮件的识别方法、装置以及电子设备
CN107086952A (zh) * 2017-04-19 2017-08-22 中国石油大学(华东) 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法
CN115277612A (zh) * 2022-08-03 2022-11-01 西安热工研究院有限公司 一种用于内网的垃圾邮件检测过滤方法及系统

Also Published As

Publication number Publication date
CN1889108B (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
CN1889108A (zh) 一种识别垃圾邮件的方法
CN1240011C (zh) 应用于操作系统的文件分类管理系统及方法
US8015124B2 (en) Method for determining near duplicate data objects
CN101079031A (zh) 一种网页主题提取系统和方法
CN101251837B (zh) 电子文件列表的显示处理方法和系统
CN101079024A (zh) 一种专业词表动态生成系统和方法
CN103136266A (zh) 邮件分类的方法及装置
CN1290036C (zh) 根据机器可读词典建立概念知识的计算机系统及方法
US20100198864A1 (en) Method for organizing large numbers of documents
CN1677402A (zh) 用于确定复合词的构成词的设备和计算机化方法
CN101079056A (zh) 一种搜索方法和系统
CN101079025A (zh) 一种文档相关度计算系统和方法
CN101155182A (zh) 一种基于网络的垃圾信息过滤方法和装置
CN104008090A (zh) 一种基于概念向量模型的多主题提取方法
CN101079027A (zh) 一种中文分词方法及系统
CN101055621A (zh) 基于内容的敏感网页识别方法
CN101051313A (zh) 用于深层网页数据源集成的数据源发现方法
MX2011005771A (es) Metodo y dispositivo para interceptar correo basura.
CN1783069A (zh) 用于文件数据分析的方法及系统
CN1158460A (zh) 一种跨语种语料自动分类与检索方法
CN1220155C (zh) 基于对话的信息搜索方法和对话机
CN1750030A (zh) 一种过滤垃圾邮件的方法
CN101046809A (zh) 基于关联规则模式的新词识别方法
CN101075260A (zh) 摘要提取方法以及摘要提取模块
CN102567529B (zh) 一种基于双视图主动学习技术的跨语言文本分类方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant