CN103441924B - 一种基于短文本的垃圾邮件过滤方法及装置 - Google Patents
一种基于短文本的垃圾邮件过滤方法及装置 Download PDFInfo
- Publication number
- CN103441924B CN103441924B CN201310393771.7A CN201310393771A CN103441924B CN 103441924 B CN103441924 B CN 103441924B CN 201310393771 A CN201310393771 A CN 201310393771A CN 103441924 B CN103441924 B CN 103441924B
- Authority
- CN
- China
- Prior art keywords
- text
- word segmentation
- fingerprint
- carried out
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/212—Monitoring or handling of messages using filtering or selective blocking
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Theoretical Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于短文本的垃圾邮件过滤方法,包括:对电子邮件中的文本进行分词处理并获得分词结果;使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;根据所述分词结果计算电子邮件的邮件指纹;根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;根据所述聚类结果过滤垃圾电子邮件。本发明还公开了一种基于短文本的垃圾邮件过滤装置。采用本发明,可对电子邮件中的文本进行分词处理和TF-IDF技术排序处理,实现噪音过滤;根据电子邮件的文本长度,采用一个或多个BKDR哈希函数来计算电子邮件的邮件指纹,可有效地强化分词结果的作用;利用归一化处理,使得电子邮件能通过比对指纹的相似性进行聚类处理,实现垃圾电子邮件的过滤。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于短文本的垃圾邮件过滤方法及基于短文本的垃圾邮件过滤装置。
背景技术
随着互联网的广泛应用,电子邮件以其快速、简单、廉价的优点受到人们的青睐,成为一种高效的大众传播媒介。与此同时,大量无用邮件涌入人们的邮箱,给他们的学习和生活带来灾难。垃圾邮件是用户最讨厌的,他们浪费了用户的时间、金钱及网络带宽,同时,弄乱用户的邮箱,有些邮件甚至是有害的,如包含色情内容或病毒等。据有关研究报告,全世界电子邮件中每天有超过10%都是垃圾邮件。因此,研发一种有效拦截过滤垃圾有效的方法是很有必要的。
目前,已有不少方法可以对垃圾邮件进行过滤。如中国专利申请CN201010179995.4,发明名称为“一种基于N-Gram分词模型的反向神经网络基于短文本的垃圾邮件过滤装置”,此专利使用N-Gram分词模型对邮件样本进行分词,并使用TF-IDF算法对分词进行权重排序,然后使用zipf法则提取最重要的特征分词列表(没有被挑中的特征分词则被丢弃)。然后通过文本中是否包含这些“重要特征分词”构造出文档的特征向量,并以此特征向量进行神经网络的学习和分类。然而,对于正文内容很短的短文本信息,使用zipf法则来提取最重要的特征分词,并丢弃不重要的特征分词之后,剩下的信息就更少了,如果直接使用这么少的信息进行文本分类,最终的结果甚至可能是错误的,严重情况下甚至会将正常邮件归类成垃圾邮件,导致用户没有读到或者没有及时读到这封邮件。另外,当前大量的垃圾邮件常常使用html方式进行包装,并通过添加大量不可见或者不同大小的字体,来干扰文本分类的效果,因此,此专利不适用于正文内容很短的垃圾邮件的过滤。
发明内容
本发明所要解决的技术问题在于,提供一种基于短文本的垃圾邮件过滤方法及装置,可结合分词处理、TF-IDF技术及BKDR哈希函数,对电子邮件进行噪音去除,关键信息放大,以及相似文本信息聚类,最终实现对邮件进行分类。
为了解决上述技术问题,本发明提供了一种基于短文本的垃圾邮件过滤方法,包括:a、对电子邮件中的文本进行分词处理并获得分词结果;b、使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;c、根据所述分词结果计算电子邮件的邮件指纹;d、根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;e、根据所述聚类结果过滤垃圾电子邮件。
作为上述方案的改进,步骤a包括:a1、对文本进行预处理并抽取出中文文本和/或英文文本;a2、分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
作为上述方案的改进,步骤c包括:c1、构建特征数组;c2、提取任一预设参数;c3、根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值;c4、分别对所述哈希值进行取模处理获得模值;c5、根据所述模值更新所述特征数组;c6、判断当前已经处理的哈希值个数是否少于预设值,判断为是时,提取一个与已使用的预设参数相异的其它预设参数,并返回执行步骤c3,判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
作为上述方案的改进,步骤d包括:d1、根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度;d2、根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
相应地,本发明还提供了一种基于短文本的垃圾邮件过滤装置,包括:分词模块,用于对电子邮件中的文本进行分词处理并获得分词结果;排序模块,用于使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;邮件指纹模块,用于根据所述分词结果计算电子邮件的邮件指纹;类聚模块,用于根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;过滤模块,用于根据所述聚类结果过滤垃圾电子邮件。
作为上述方案的改进,所述分词模块包括:预处理单元,用于对文本进行预处理并抽取出中文文本和/或英文文本;分词单元,用于分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
作为上述方案的改进,所述邮件指纹模块包括:特征数组单元,用于构建特征数组;参数单元,用于提取任一预设参数;哈希函数单元,用于根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值;取模单元,用于分别对所述哈希值进行取模处理获得模值;更新单元,用于根据所述模值更新所述特征数组;判断处理单元,用于判断当前已经处理的哈希值个数是否少于预设值,判断为是时,提取一个与已使用的预设参数相异的其它预设参数,判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
作为上述方案的改进,所述类聚模块包括:相似度单元,用于根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度;类聚单元,用于根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
实施本发明,具有如下有益效果:
对电子邮件中的文本进行分词处理和TF-IDF技术排序处理后,获得分词列表,即可将电子邮件所包含的噪音进行过滤,保留电子邮件中进行过html干扰处理的文本;然后,根据电子邮件的文本长度,采用一个或多个BKDR哈希函数来计算电子邮件的邮件指纹,使得两个电子邮件计算出相同的邮件指纹的可能性大大降低,可有效地强化分词结果的作用,使得相似的电子邮件更加容易被比对出来;随后,进行归一化处理获得电子邮件的邮件指纹,使得内容稍有不同的电子邮件能通过比对指纹的相似性进行聚类处理;最后,根据所述聚类结果过滤垃圾电子邮件,解决了对短文本垃圾邮件进行计算机自动化过滤的问题。
附图说明
图1是本发明一种基于短文本的垃圾邮件过滤方法的第一实施例流程图;
图2是本发明一种基于短文本的垃圾邮件过滤方法的第二实施例流程图;
图3是本发明一种基于短文本的垃圾邮件过滤装置的结构示意图;
图4是本发明一种基于短文本的垃圾邮件过滤装置中分词模块的结构示意图;
图5是本发明一种基于短文本的垃圾邮件过滤装置中邮件指纹模块的结构示意图;
图6是本发明一种基于短文本的垃圾邮件过滤装置中类聚模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1是本发明一种基于短文本的垃圾邮件过滤方法的第一实施例流程图,包括:
S100、对电子邮件中的文本进行分词处理并获得分词结果。
对电子邮件中的文本进行分词处理时,需要将HTML标签、中文字符和英文字符分离出来,然后,对中文字符和英文字符分别进行分词,获得分词结果。
S101、使用TF-IDF技术对所述分词结果进行排序处理获得分词列表。
从电子邮件中提取出分词结果(中文分词、英文分词)后,使用TF-IDF算法按照区分能力从高到低对分词结果进行排序处理,排序后,获得分词列表。
需要说明的是,中文分词和英文分词需要分别排序,因为中文分词数量众多,一起排序之后中文分词会比较占优势,对过滤英文垃圾邮件不利。
优选地,排序后,只保留排名靠前的50%的分词结果。
S102、根据所述分词结果计算电子邮件的邮件指纹。
需要说明的是,所述邮件指纹为数组形式,一个电子邮件对应一个邮件指纹。
优选地,邮件指纹为长度为512的整数数组。其中512的数组长度为权衡计算量和可能的相似邮件识别能力之后的经验值。
S103、根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果。
S104、根据所述聚类结果过滤垃圾电子邮件。
邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件即可判断为垃圾邮件。
需要说明的是,用户举报垃圾邮件之后,相关信息将会提交管理员审核。管理员审核后,用户举报的垃圾邮件以及和此垃圾邮件相似的其他垃圾邮件,都会记录到垃圾邮件特征库。对于此后收到的未知是否垃圾邮件的新到达邮件,也可以通过计算特征邮件指纹,并比对是否在已知的垃圾邮件特征指纹库中,进行过滤判断,实现短文本的垃圾邮件的准确过滤。
图2是本发明一种基于短文本的垃圾邮件过滤方法的第二实施例流程图,包括:
S200、对文本进行预处理并抽取出中文文本和/或英文文本。
工作时,首先获取电子邮件,并对电子邮件中的文本进行预处理。对于超文本标记语言(HypertextMarkupLanguage,HTML)文档,将其中的HTML标签(HTMLtag)提取出来单独处理;针对剩余的信息,将中文字符和英文字符分离出来,转换成只有英文字符的文本和只有中文字符的文本。
S201、分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
对于英文文本,使用传统的分词方式获得分词结果(以标点符号和空格分隔各个分词)。
对于中文文本,则使用机械的排列组合方式从句子中分离出词语,获得分词结果。分离方法如下:对于一个中文字符数为L的中文文本,扫描所述中文文本中的每一个中文文字C,以S个中文字符为步长将每一个中文文字C后面的文字逐个提取出来,组成文字组合;其中,S为1、2、3、4……。例如,对于句子“我是中国人”设定扫描步长为3,分词最大长度为3,则可能的分词为:我,我是,我是中,是,是中,是中国,中,中国,中国人,国,国人,人。
优选地,所述S为4。
使用此分词的好处是无需中文词典,由于中文的特性,使用此办法分词肯定可以覆盖到绝大部分的中文词语。另外可以处理形如“我a是a中a国a人”的带有干扰信息的文本。而且使用此分词方法,还可以获得很多次重要分词,在后续处理会将这些分词按照区分能力进行排序,区分能力低的词语会排到较后的位置。一些次重要的词语对文本分类有较大作用的。例如对于“芙王”这个分词,经过程序处理之后发现它是垃圾邮件的一个有较大区分作用的分词,仔细查看发现这个词来源于销售假烟“芙蓉王”的垃圾邮件样本,而“芙蓉”可能会在其他正常邮件中经常出现,所以“芙蓉”对于垃圾邮件的区分作用不如“芙王”。
S202、使用TF-IDF技术对所述分词结果进行排序处理获得分词列表。
从电子邮件中提取出分词结果(中文分词、英文分词)后,使用TF-IDF算法按照区分能力从高到低对分词结果进行排序处理,排序后,获得分词列表。
需要说明的是,中文分词和英文分词需要分别排序,因为中文分词数量众多,一起排序之后中文分词会比较占优势,对过滤英文垃圾邮件不利。
优选地,排序后,只保留排名靠前的50%的分词结果。
S203、构建特征数组。
优选地,构造长度为512的整数数组,并将数组成员初始化为0。
需要说明的是,512的数组长度为权衡计算量和可能的相似邮件识别能力之后的经验值。
S204、提取任一预设参数。
需要说明的是,预设参数为质数,提取不同的预设参数可构造不同的BKDR哈希函数。
优选地,预设参数包括131,137,139。
S205、根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值。
依次读取步骤S202中获得的分词列表的分词结果,每读取一个分词,则计算这个分词的哈希值。
需要说明的是,一个分词相当于一个字符串。计算哈希值时,需要对字符串中的每个字符,把之前计算出的哈希值与预设参数相乘,并和当前字符相加,获得当前的哈希值,直到字符串的字符串终结,则能够获取当前字符串对应的哈希值。
这个哈希函数逻辑简单,计算量少,另外关键是可以通过设定预设参数,使同一个字符串便能哈希出不同的结果。如果在某些偶然情况下两个不同的字符串,能够哈希出相同的哈希值的概率为万分之一,则通过使用两个不同预设参数的哈希函数同时计算哈希值,使得两个不同字符串哈希出相同哈希值的概率大大减少到一亿分之一。
S206、分别对所述哈希值进行取模处理获得模值。
使除数为特征数组的长度,即除数为512。对步骤S205中计算出的每个哈希值对512取模。
例如,选定预设参数为131,“中国”这个分词计算出来的哈希值是47826238462,则取模后的模值为510(47826238462%512=510)。
S207、根据所述模值更新所述特征数组。
需要说明的是,更新所述特征数组时,需对模值所对应的特征数组的数组成员进行加1处理。
例如,特征数组为vector,且数组成员均为0,若“中国”这个分词计算出来的哈希值是47826238462,则取模后的值为510,此时,则对vector[510]所对应的整数值加1,即对特征数组vector中第510位的数组成员进行加1处理,更新特征数组vector。
S208、判断当前已经处理的哈希值个数是否少于预设值。判断为是时,提取一个与已使用的预设参数相异的其它预设参数,并返回执行步骤S205;判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
当处理完分词列表中的所有分词后(即所有分词均完成哈希值计算、取模、更新特征数组等处理),判断当前已经处理的哈希值个数是否少于预设值。
如果已经处理的哈希值个数少于预设值的,提取一个与已使用的预设参数相异的其它预设参数(即选定另外一个预设参数),并返回执行步骤S205,重新对所有分词进行哈希值计算、取模、更新特征数组等处理。
如果已经处理的哈希值个数大于或等于预设值,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
阀值=已经处理的哈希值个数/特征数组长度。
根据阀值对所述特征数组进行归一化处理时,需扫描特征数组,如果特征数组的数组成员的值大于阀值,则将数组成员的值置1,否则置0。处理后的特征数组,即为电子邮件对应的邮件指纹。通过比对不同电子邮件生成的邮件指纹,即可将相似的电子邮件聚类起来。
需要说明的是,根据阀值对所述特征数组进行归一化处理,即让特征数组的数组成员的值要么是0,要么是1,这样处理后信息变的模糊化,两个相似的特征数组,处理后仍然会很相似,很有可能只有几个数组成员的值不一样。通过比对两个特征数组有多少个相同位置的数组成员相等,即可判定两个分词的相似程度。
优选地,所述预设值为1024。1024是经验值,如果预设值太小,则生成指纹信息量过少,容易将两个短文本聚类在一起,如果预设值太大,则生成的指纹信息量过大,容易将两个相似的短文本判定为不一样。
S209、根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度。
通过比对两个特征数组(邮件指纹)有多少个相同位置的数组成员相等,即可判定两个分词的相似度。
例如,两个二进制字符串“11000011”及“11100011”则他们只有一个bit不一样,他们的相似度是(8-1)/8。
又如,两个二进制字符串“11000011”及“11101011”则他们只有两个bit不一样,他们的相似度是(8-2)/8。
S210、根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
S211、根据所述聚类结果过滤垃圾电子邮件。
邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件即可判断为垃圾邮件。
需要说明的是,用户举报垃圾邮件之后,相关信息将会提交管理员审核。管理员审核后,用户举报的垃圾邮件以及和此垃圾邮件相似的其他垃圾邮件,都会记录到垃圾邮件特征库。对于此后收到的未知是否垃圾邮件的新到达邮件,也可以通过计算特征邮件指纹,并比对是否在已知的垃圾邮件特征指纹库中,进行过滤判断。
图3是本发明一种基于短文本的垃圾邮件过滤装置的结构示意图,如图3所示,基于短文本的垃圾邮件过滤装置1包括:
分词模块2,用于对电子邮件中的文本进行分词处理并获得分词结果。分词模块2对电子邮件中的文本进行分词处理时,需要将HTML标签、中文字符和英文字符分离出来,然后,对中文字符和英文字符分别进行分词,获得分词结果。
排序模块3,与所述分词模块2相连,用于使用TF-IDF技术对所述分词结果进行排序处理获得分词列表。排序模块3使用TF-IDF算法按照区分能力从高到低对分词模块2所获得的分词结果进行排序处理,排序后,获得分词列表。其中,中文分词和英文分词需要分别排序,因为中文分词数量众多,一起排序之后中文分词会比较占优势,对过滤英文垃圾邮件不利。优选地,排序后,只保留排名靠前的50%的分词结果。
邮件指纹模块4,与所述排序模块3相连,用于根据所述分词结果计算电子邮件的邮件指纹。
类聚模块5,与所述邮件指纹模4块相连,用于根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果。
过滤模块6,与所述类聚模块5相连,用于根据所述聚类结果过滤垃圾电子邮件。过滤模块6将邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件判断为垃圾邮件,实现短文本的垃圾邮件的准确过滤。
如图4所示,分词模块2包括:
预处理单元21,用于对文本进行预处理并抽取出中文文本和/或英文文本。
工作时,预处理单元21获取电子邮件,并对电子邮件中的文本进行预处理。对于超文本标记语言(HypertextMarkupLanguage,HTML)文档,将其中的HTML标签(HTMLtag)提取出来单独处理;针对剩余的信息,将中文字符和英文字符分离出来,转换成只有英文字符的文本和只有中文字符的文本。
分词单元22,与所述预处理单元21相连,用于分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
分词单元22对英文文本,使用传统的分词方式获得分词结果(以标点符号和空格分隔各个分词)。
分词单元22对中文文本,使用机械的排列组合方式从句子中分离出词语,获得分词结果。分离方法如下:对于一个中文字符数为L的中文文本,扫描所述中文文本中的每一个中文文字C,以S个中文字符为步长将每一个中文文字C后面的文字逐个提取出来,组成文字组合;其中,S为1、2、3、4……。例如,对于句子“我是中国人”设定扫描步长为3,分词最大长度为3,则可能的分词为:我,我是,我是中,是,是中,是中国,中,中国,中国人,国,国人,人。
如图5所示,邮件指纹模块4包括:
特征数组单元41,用于构建特征数组。优选地,构造长度为512的整数数组,并将数组成员初始化为0。
参数单元42,与所述特征数组单元41相连,用于提取任一预设参数。优选地,预设参数包括131,137,139。
哈希函数单元43,与所述参数单元42相连,用于根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值。
需要说明的是,哈希函数单元43对于排序模块3获得的分词列表,每读取一个分词,则计算这个分词的哈希值。其中,一个分词相当于一个字符串。计算哈希值时,需要对字符串中的每个字符,把之前计算出的哈希值与预设参数相乘,并和当前字符相加,获得当前的哈希值,直到字符串的字符串终结,则能够获取当前字符串对应的哈希值。
取模单元44,与所述哈希函数单元43相连,用于分别对所述哈希值进行取模处理获得模值。取模单元44使除数为特征数组的长度,对哈希函数单元43中计算出的每个哈希值取模。
例如,特征数组的长度为512,“中国”这个分词计算出来的哈希值是47826238462,则取模后的模值为510(47826238462%512=510)。
更新单元45,与所述取模单元44相连,用于根据所述模值更新所述特征数组。更新所述特征数组时,需对模值所对应的特征数组的数组成员进行加1处理。
例如,特征数组为vector,模值为510,此时,则对vector[510]所对应的整数值加1,即对特征数组vector中第510位的数组成员进行加1处理,更新特征数组vector。
判断处理单元46,与所述更新单元45及哈希函数单元43分别相连,用于判断当前已经处理的哈希值个数是否少于预设值,判断为是时,提取一个与已使用的预设参数相异的其它预设参数,判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
当处理完分词列表中的所有分词后(即所有分词均完成哈希值计算、取模、更新特征数组等处理),判断处理单元46判断当前已经处理的哈希值个数是否少于预设值。如果已经处理的哈希值个数少于预设值的,提取一个与已使用的预设参数相异的其它预设参数(即选定另外一个预设参数),并返回哈希函数单元43,哈希函数单元43、取模单元44及更新单元45重新对所有分词进行哈希值计算、取模、更新特征数组等处理。如果已经处理的哈希值个数大于或等于预设值,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
阀值=已经处理的哈希值个数/特征数组长度。
根据阀值对所述特征数组进行归一化处理时,需扫描特征数组,如果特征数组的数组成员的值大于阀值,则将数组成员的值置1,否则置0。处理后的特征数组,即为电子邮件对应的邮件指纹。通过比对不同电子邮件生成的邮件指纹,即可将相似的电子邮件聚类起来。
如图6所示,类聚模块5包括:
相似度单元51,用于根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度。
相似度单元51通过比对两个特征数组(邮件指纹)有多少个相同位置的数组成员相等,即可判定两个分词的相似度。
例如,两个二进制字符串“11000011”及“11100011”则他们只有一个bit不一样,他们的相似度是(8-1)/8。
类聚单元52,与所述相似度单元51相连,用于根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
工作时,预处理单元21对文本进行预处理并抽取出中文文本和/或英文文本,而分词单元22分别对所述中文文本和英文文本进行分词处理,并获得分词结果。排序模块3,使用TF-IDF技术对所述分词单元22的分词结果进行排序处理获得分词列表。特征数组单元41构建特征数组,而参数单元42提取任一预设参数,哈希函数单元43则根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值,取模单元44分别对所述哈希值进行取模处理获得模值,更新单元45根据所述模值更新所述特征数组,判断处理单元46判断当前已经处理的哈希值个数是否少于预设值,判断为是时,提取一个与已使用的预设参数相异的其它预设参数,并返回哈希函数单元43,哈希函数单元43、取模单元44及更新单元45重新对所有分词进行哈希值计算、取模、更新特征数组等处理,判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。然后,相似度单元51根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度,类聚单元52根据所述相似度对电子邮件进行聚类处理并获得聚类结果。最后,过滤模块6根据所述聚类结果过滤垃圾电子邮件。
由上可知,对电子邮件中的文本进行分词处理和TF-IDF技术排序处理后,获得分词列表,即可将电子邮件所包含的噪音进行过滤,保留电子邮件中进行过html干扰处理的文本;然后,根据电子邮件的文本长度,采用一个或多个BKDR哈希函数来计算电子邮件的邮件指纹,并通过取模、更新特征数组等处理后,使得两个电子邮件计算出相同的邮件指纹的可能性大大降低,可有效地强化分词结果的作用,使得相似的电子邮件更加容易被比对出来;随后,进行归一化处理获得电子邮件的邮件指纹,使得内容稍有不同的电子邮件能通过比对指纹的相似性进行聚类处理;最后,根据所述聚类结果过滤垃圾电子邮件,解决了对短文本垃圾邮件进行计算机自动化过滤的问题。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (6)
1.一种基于短文本的垃圾邮件过滤方法,其特征在于,所述基于短文本的垃圾邮件过滤方法包括:
a、对电子邮件中的文本进行分词处理并获得分词结果;
b、使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;
c、根据所述分词结果计算电子邮件的邮件指纹;
d、根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;
e、根据所述聚类结果过滤垃圾电子邮件;
步骤c包括:
c1、构建特征数组;
c2、提取任一预设参数;
c3、根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值;
c4、分别对所述哈希值进行取模处理获得模值;
c5、根据所述模值更新所述特征数组;
c6、判断当前已经处理的哈希值个数是否少于预设值,
判断为是时,提取一个与已使用的预设参数相异的其它预设参数,并返回执行步骤c3,
判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
2.如权利要求1所述的基于短文本的垃圾邮件过滤方法,其特征在于,步骤a包括:
a1、对文本进行预处理并抽取出中文文本和/或英文文本;
a2、分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
3.如权利要求1所述的基于短文本的垃圾邮件过滤方法,其特征在于,步骤d包括:
d1、根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度;
d2、根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
4.一种基于短文本的垃圾邮件过滤装置,其特征在于,所述基于短文本的垃圾邮件过滤装置包括:
分词模块,用于对电子邮件中的文本进行分词处理并获得分词结果;
排序模块,用于使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;
邮件指纹模块,用于根据所述分词结果计算电子邮件的邮件指纹;
类聚模块,用于根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;
过滤模块,用于根据所述聚类结果过滤垃圾电子邮件;
所述邮件指纹模块包括:特征数组单元,用于构建特征数组;参数单元,用于提取任一预设参数;哈希函数单元,用于根据当前提取的预设参数,使用BKDR哈希函数计算所述分词列表中各分词结果的哈希值;取模单元,用于分别对所述哈希值进行取模处理获得模值;更新单元,用于根据所述模值更新所述特征数组;判断处理单元,用于判断当前已经处理的哈希值个数是否少于预设值,判断为是时,提取一个与已使用的预设参数相异的其它预设参数,判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
5.如权利要求4所述的基于短文本的垃圾邮件过滤装置,其特征在于,所述分词模块包括:
预处理单元,用于对文本进行预处理并抽取出中文文本和/或英文文本;
分词单元,用于分别对所述中文文本和英文文本进行分词处理,并获得分词结果。
6.如权利要求4所述的基于短文本的垃圾邮件过滤装置,其特征在于,所述类聚模块包括:
相似度单元,用于根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度;
类聚单元,用于根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310393771.7A CN103441924B (zh) | 2013-09-03 | 2013-09-03 | 一种基于短文本的垃圾邮件过滤方法及装置 |
PCT/CN2013/086166 WO2015032120A1 (zh) | 2013-09-03 | 2013-10-29 | 一种基于短文本的垃圾邮件过滤方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310393771.7A CN103441924B (zh) | 2013-09-03 | 2013-09-03 | 一种基于短文本的垃圾邮件过滤方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103441924A CN103441924A (zh) | 2013-12-11 |
CN103441924B true CN103441924B (zh) | 2016-06-08 |
Family
ID=49695590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310393771.7A Active CN103441924B (zh) | 2013-09-03 | 2013-09-03 | 一种基于短文本的垃圾邮件过滤方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103441924B (zh) |
WO (1) | WO2015032120A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744905B (zh) * | 2013-12-25 | 2018-03-30 | 新浪网技术(中国)有限公司 | 垃圾邮件判定方法和装置 |
CN105989033A (zh) * | 2015-02-03 | 2016-10-05 | 北京中搜网络技术股份有限公司 | 一种基于资讯指纹的资讯去重方法 |
CN106294350B (zh) * | 2015-05-13 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 一种文本聚合方法及装置 |
CN104834747B (zh) * | 2015-05-25 | 2018-04-27 | 中国科学院自动化研究所 | 基于卷积神经网络的短文本分类方法 |
US9882858B2 (en) | 2015-06-02 | 2018-01-30 | International Business Machines Corporation | Validating E-mails using message posting services |
CN106874253A (zh) * | 2015-12-11 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 识别敏感信息的方法及装置 |
CN105955978B (zh) * | 2016-04-15 | 2019-07-02 | 宝利九章(北京)数据技术有限公司 | 用于数据泄露防护的方法和系统 |
CN106330670A (zh) * | 2016-08-18 | 2017-01-11 | 无锡云商通科技有限公司 | 基于邮件指纹对相同邮件进行判定的方法 |
CN111611786B (zh) * | 2017-04-07 | 2023-03-21 | 创新先进技术有限公司 | 文本相似度的计算方法及装置 |
CN107168951B (zh) * | 2017-05-10 | 2019-07-05 | 山东大学 | 一种基于规则与词典的监狱犯人短信自动审核方法 |
CN109408795B (zh) * | 2017-08-17 | 2022-04-15 | 中国移动通信集团公司 | 一种文本识别方法、设备、计算机可读存储介质及装置 |
CN108304442B (zh) * | 2017-11-20 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种文本信息处理方法、装置及存储介质 |
CN108334567B (zh) * | 2018-01-16 | 2021-09-10 | 北京奇艺世纪科技有限公司 | 垃圾文本判别方法、装置及服务器 |
CN108829660B (zh) * | 2018-05-09 | 2021-08-31 | 电子科技大学 | 一种基于随机数分治递归的短文本签名生成方法 |
CN109522559B (zh) * | 2018-11-26 | 2023-03-31 | 安徽继远软件有限公司 | 一种电网营配系统中文分词的方法及系统 |
CN110457694B (zh) * | 2019-07-29 | 2023-09-22 | 腾讯科技(上海)有限公司 | 消息提醒方法及装置、场景类型识别提醒方法及装置 |
CN112134920B (zh) * | 2020-08-12 | 2022-08-30 | 新华三技术有限公司 | 一种文件识别方法及装置 |
CN113011194B (zh) * | 2021-04-15 | 2022-05-03 | 电子科技大学 | 融合关键词特征和多粒度语义特征的文本相似度计算方法 |
CN116775849B (zh) * | 2023-08-23 | 2023-10-24 | 成都运荔枝科技有限公司 | 一种线上问题处理系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227435A (zh) * | 2008-01-28 | 2008-07-23 | 浙江大学 | 基于Logistic回归的中文垃圾邮件过滤方法 |
CN101295381A (zh) * | 2008-06-25 | 2008-10-29 | 北京大学 | 一种垃圾邮件检测方法 |
CN102377690A (zh) * | 2011-10-10 | 2012-03-14 | 网易(杭州)网络有限公司 | 反垃圾邮件网关系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732157B1 (en) * | 2002-12-13 | 2004-05-04 | Networks Associates Technology, Inc. | Comprehensive anti-spam system, method, and computer program product for filtering unwanted e-mail messages |
US7788576B1 (en) * | 2006-10-04 | 2010-08-31 | Trend Micro Incorporated | Grouping of documents that contain markup language code |
CN101106539A (zh) * | 2007-08-03 | 2008-01-16 | 浙江大学 | 基于支持向量机的垃圾邮件过滤方法 |
CN101415159B (zh) * | 2008-12-02 | 2010-06-02 | 腾讯科技(深圳)有限公司 | 对垃圾邮件进行拦截的方法和装置 |
US8718318B2 (en) * | 2008-12-31 | 2014-05-06 | Sonicwall, Inc. | Fingerprint development in image based spam blocking |
-
2013
- 2013-09-03 CN CN201310393771.7A patent/CN103441924B/zh active Active
- 2013-10-29 WO PCT/CN2013/086166 patent/WO2015032120A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227435A (zh) * | 2008-01-28 | 2008-07-23 | 浙江大学 | 基于Logistic回归的中文垃圾邮件过滤方法 |
CN101295381A (zh) * | 2008-06-25 | 2008-10-29 | 北京大学 | 一种垃圾邮件检测方法 |
CN102377690A (zh) * | 2011-10-10 | 2012-03-14 | 网易(杭州)网络有限公司 | 反垃圾邮件网关系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2015032120A1 (zh) | 2015-03-12 |
CN103441924A (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103441924B (zh) | 一种基于短文本的垃圾邮件过滤方法及装置 | |
CN103136266A (zh) | 邮件分类的方法及装置 | |
CN103634473B (zh) | 基于朴素贝叶斯分类的手机垃圾短信过滤方法与系统 | |
CN101540017B (zh) | 基于字节级n元文法的特征提取方法及垃圾邮件过滤器 | |
CN102158428B (zh) | 快速高准确率的垃圾邮件过滤方法 | |
CN100589453C (zh) | 一种反垃圾邮件的处理装置和方法 | |
CN105893615B (zh) | 基于手机取证数据的机主特征属性挖掘方法及其系统 | |
CN103186845A (zh) | 一种垃圾邮件过滤方法 | |
CN101784022A (zh) | 短信过滤、分类方法及系统 | |
CN103313248B (zh) | 一种识别垃圾信息的方法和装置 | |
CN107145516B (zh) | 一种文本聚类方法及系统 | |
CN103257957A (zh) | 一种基于中文分词的文本相似性识别方法及装置 | |
CN100587714C (zh) | 一种过滤垃圾邮件的方法 | |
CN107294834A (zh) | 一种识别垃圾邮件的方法和装置 | |
Temma et al. | The document similarity index based on the Jaccard distance for mail filtering | |
CN105323248B (zh) | 一种基于规则的交互式中文垃圾邮件过滤方法 | |
CN107145568A (zh) | 一种快速的新闻事件聚类系统及方法 | |
CN109446299A (zh) | 基于事件识别的搜索电子邮件内容的方法及系统 | |
CN106230690B (zh) | 一种结合用户属性的邮件分类方法及系统 | |
CN1614607A (zh) | 垃圾邮件过滤的方法和系统 | |
Reddy et al. | Classification of Spam Messages using Random Forest Algorithm | |
JP4686724B2 (ja) | 迷惑メールのフィルタ機能を有する電子メールシステム | |
US20180276459A1 (en) | Document Structure Analysis Device with Image Processing | |
CN113746814B (zh) | 邮件处理方法、装置、电子设备及存储介质 | |
CN113378156B (zh) | 一种基于api的恶意文件检测方法和系统 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180108 Address after: 510000 Guangdong city of Guangzhou province Panyu District Xiaoguwei Street Mingzhi University City Street No. 1 Building 5 building 503 room information hub Patentee after: Critics of science and Technology (Guangzhou) Co. Ltd. Address before: 100080 room 8003, cyber building, No. 19 South Haidian Road, Beijing, Haidian District Patentee before: MaiMailtech (Beijing) Co., Ltd. |
|
TR01 | Transfer of patent right |