专利名称:一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法及系统的制作方法
技术领域:
本发明涉及互联网技术,具体涉及一种垃圾邮件过滤的技术及系统。
背景技术:
随着互联网的快速发展,电子邮件已经成为人们在日常生活中信息交互的重要工具。与 此同时,垃圾邮件在网络上也逐渐呈现泛滥之势。大量的商业邮件、政治宣传邮件在没有得 到用户许可的情况下发送到用户的邮箱中,耗费了大量的网络资源、增加了用户的使用成本。 尤其近年来通过电子邮件传播计算机病毒的情况不断出现,更是增加了垃圾邮件的危害性。 中国互联网协会负责人表示,根据有关统计调査,我国网民平均每周收到16封电子邮件,其 中垃圾邮件占8.3封,垃圾邮件数量已经与正常邮件数量相当,并大有超过正常邮件的趋势。
目前基于内容的垃圾邮件过滤主要包括基于规则的方法和基于概率统计的方法。基于规 则的方法主要有决策树方法、粗糙集(Rough Sets)方法。基于规则的方法通过训练得到显式 规则。规则方法学习的过程实际上是归纳总结的过程,通过考查一个个的训练样本,归纳总结 出其中规律性的东西来形成规则。规则方法的主要优点是可以生成人类理解的规则。缺点是 在规律性不明显的应用领域效果较差。基于统计的方法主要有Bayes统计方法和支持向量机 (Support Vector Machine ,简称SVM)
目前大多数反垃圾邮件所使用的技术都是"静态"的,也就是说只需把信息做少许改变 就很容易避过这些反垃圾邮件软件。为了更有力地抗击垃圾邮件,我们需要一种可以自适应 的新技术。这种技术必须能够适应垃圾邮件制造者不断变化的策略。它同样也应适合对垃圾 邮件进行保护的特殊组织。基于潜在语义索引的实时分类垃圾邮件技,具有智能学习功能, 在过滤垃圾邮件方面能表现出高准确率和高速度。
发明内容
本发明实施例的目的是提供一种基于潜在语义索引垃圾邮件过滤垃圾邮件的技术、方法 及系统。使用基于潜在语义索引的垃圾邮件过滤技术能够很好的判断、分类、过滤垃圾邮件。
为了解决现有技术存在的问题,本发明的实施方式提出了一种基于潜在语义索引的垃圾 邮件过滤方法和系统,该系统分成两个子系统潜在语义空间生成系统和邮件判断、分类、 过滤系统
(一)潜在语义空间生成系统的步骤包括
1、 中文和英文分词模块;
2、 词语文档矩阵生成模块
43、 权重计算模块;
4、 词语文档矩阵奇异值分解模块;
5、 语义空间更新模块。
(二)邮件判断、分类、过滤系统的步骤包括
1、 待判断的邮件中文和英文分词模块;
2、 将文本邮件映射到潜在语义空间;
3、 语义空间中文档向量之间的相似度计算;
4、 根据相似度判断、分类、过滤邮件。
从本发明实施例提供的以上技术方案可以看出,本发明实施例通过训练已知的正常或者 垃圾邮件集,生成潜在语义空间。并且随着时间的推移,收集到的更多更好的邮件集之后通 过某种算法实现及时的更新。不断更新的语义空间更加能够判断垃圾邮件,保证潜在语义空 间的实时性。
图1为本发明潜在语义空间生成系统。
图2为本发明潜在语义判断、分类、过滤垃圾邮件邮件系统。
具体实施例方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本 发明进一步详细说明。
如图1所示,本发明为潜在语义空间生成系统,它的具体流程包括-
步骤IOI、对于收到的邮件内容分词
邮件内容分词分为了中文邮件分词和英文邮件分词,英文邮件分词根据邮件内容中英文 单词之间的空格来分,分成一个一个的单词后,并且过滤掉一些没有意义的词语,保存到一
个hash链表中。中文邮件分词则相对复杂,先对其进行中文分句,按照正向最大匹配的原则 就中文内容进行分词,生成的词语保存到一个hash链表中。潜在语义索引是将邮件训练集合 中的邮件做奇异值分解来生成潜在语义空间,因此分词效果对潜在予以空间的生成有非常大 的影响。为此,必须对邮件训练集做一些预处理。首先提取文档集中所用到的所有词语,建 立词语表,以提供给下一步进行筛选。其次、自动排除掉"停用词",如部分冠词、介词、连 词、感叹词或者其它在描述文本语义中没有意义或意义不大的词语,例如"的"、"了"、"于"、 "啊"。再次、通过人工筛选掉一些没有用的词语。然后把剩下的词语建立词语的hash链表。最后,统计词频。在以上步骤的基础上再次扫描文档集中各个文档,统计各个词语在每个文 档中出现频数。此外还需统计词语出现的文档数和文档集中出现的总次数,以及各个文档中 包含有效词语(即出现在保留词表中的词语)的个数,这些统计结果是下一步term-doc matrix权重计算的关键。
步骤102、词语一文档矩阵生成(term-doc matrix)
假设有一个文本集,包含n个文档,用到了m个词语,构造"词语一文档矩阵" I詞^、X^oCpi/oc2,…,^Kg—fem,,^W2,…,^cg,其中 表示词语!在文档j中
出现的频数,有时^还加入了权重,^""'和^^分别是代表词语和文档的列向量矩阵分 为行和列,潜在语义索引就是利用矩阵的奇异值分解得到潜在语义空间。把上一步所收集到 的文本邮件训练集合中的所有出现的词语对应^^',文档邮件集中的每一份邮件对应A^ , 这样就生成了词语一文档矩阵。
步骤103、词语一文档矩阵添加权重
统计词频后,生成词语——文档矩阵,然后进行奇异值分解。但是在大多数情况下,潜 在语义索引并非直接对词语一文档矩阵进行奇异值分解,为了突出各个词语和文档对语义空 间不同程度的贡献,需要定义一种权重函数W (i, j)对词语一文档矩阵M进行加权转换,得 出一个加权后的矩阵M'。在潜在语义索引中定义权重,体现出一种信息规约的作用,会使 潜在语义空间更能呈现主要的语义结构。LSI的主要任务就是提取语义结构,即词语之间潜 在的语义关系。在目前的一些研究中定义了三种权重计算方法。分别是词语局部权重 (LW(i,j))、词语全局权重GWT(i)和文档全局权重GWD(j)。三种权重计算公式相乘作为词语 的总的权重。
步骤104、对加权重后的词语一文档矩阵做奇异值分解
奇异值分解的任务是把词语一文档关系矩阵分解为三个矩阵的乘积形式,即T'x", S"x",
% - 7""'x"tS"x"COdxw) (1.1)
其中,n=min(t,d) 。
T'x"是奇异值分解后的词语向量矩阵,""x"是奇异值分解后的文档向量矩阵。对 角矩阵5^"的对角线元素实际上是j^4的特征值、并且是按照降序顺序排列的。根据SVD公 式,词语一文档矩阵可以用下式表达<formula>formula see original document page 7</formula>
经过奇异值分解(SVD)处理后,可以把矩阵("dx")和对角矩阵S閥的乘积生成新的
矩阵的行视为代表文档的向量,即文档空间。同样把矩阵T'x"和对角矩阵S"x"的乘积生成新
的矩阵的列视为代表词语的向量,即词语空间。通常把上述文档空间、词语空间统称为潜在 语义空间(LSA Space )。
步骤105潜在语义空间的更新
潜在语义分析的目标是建立一个合理的、再现词语间语义结构的潜在语义空间。根据前 文讨论的"词语—文档"双重概率关系,潜在语义空间中呈现出的词语间语义关系是否合理 很大程度上依赖于所选用的训练文档集。但是由于文本中词语使用的随机性,很难一次就选 择一个优秀的训练文档集,进而在LSA后能很好的再现词语间语义关系。如何更新训练集是 一个目前有待解决的问题。目前一个办法就是重建训练文档集,扩充一些包含关键词语描述 的文档,再计算一次截断的奇异值分解,获得一个新潜在语义空间,这种方法被称为SVD
重算(SVD Recomputing) 。 SVD重算的缺点重新计算数据量太大。本发明引入了一种新的 更新算法。这种算法基于已有的潜在语义空间中大多数词语的语义关系是准确的,因此一部 分计算是不必要的,只要充分利用己有的SVD结果,就可以避免这一部分的重复计算这样一 种思想。这种方法能够实现潜在语义空间快速,近似地更新。
X的SVD式为X = 7^Zy ,其秩为k的近似阵为
令A为新添加文档的集合,由p个文档向量组成,每个文档向量仍由原潜在语义空间 中词语在该文档中出现的频数加权计算后得到。由于这些词语未必在每篇文档当中都出现, 因此A为mX p的稀疏矩阵。将A添加在mX n的秩为k近似阵^^后面,得到矩阵Y 。
<formula>formula see original document page 7</formula>(1.4)
Y是一个r^(n+p)的矩阵,若对矩阵Y进行奇异值分解计算,假设可以得到-7 (15)
由公式(2.16)和(2.17)得到
<formula>formula see original document page 7</formula> (1.6)
此式可以化作K^^(&Am7^),继续进行线性变换,将矩降(&d/i ;^)的左半部分化为对角阵,而保留右半部分不变。为此,在上式两边同乘矩阵
A 0、
.o ^
则
A卞
n o
o /
=(&|r/」)
单独考虑上式的右半部分,将其记作z
这里z是一个k x (k + )矩阵。对z作奇异值分解,得到svd式:
因此有
(1.7)
0 /
(1.8)
公式(L8)的左边也可以看作奇异值分解式,原因是 是对角矩阵,〃~和
A 0、
'p乂
仍然是正交矩阵,可以视作左右奇异矩阵。由奇异值分解定理可知, 一个矩阵svd
式是唯一的(除了正负号上的差异),因此可得:
议 0
(1.9) (1. 10)
(1.11)
通过公式(1.9) (1.10) (l.ll)可获得矩阵y的svd式。类似于对矩阵C^M)进行 了 svd重算的过程。
如图2所示,邮件判断、分类、过滤系统子系统,它的具体流程包括 步骤201、待判断的邮件中文和英文分词
对于要待判断的邮件首先进行中英文分词处理具体方法和之前的训练子系统的中英文分 词方法是相同的。这里不再阐述。
步骤202、文档向量的表现形式及相关度计算
对于要判断的邮件doc并没有包含在生成的潜在语义空间X中,因此若要比较待邮件doc 与X中的邮件向量相关度,那就必须把待判断的邮件doc映射到潜在语义空间X中去。而 CC^")中并没有代表待判断邮件doc的行。可以有下述方法计算对应doc的等价于("^")中
行向量的向量可以看出,公式(2. l)将未参加SVD的文档根据其所包含的词语在潜在语义空间中的向量 (以词频为权重)加权的和作为其潜在语义空间向量表示形式。这种文档向量表现形式被称 为"term to term"方式。
潜在语义分析的一个特点是,由训练文档集建立起一个优良的潜在语义空间后,可以被 应用于多种应用系统中。有了 "term to term"方式,就可以避开反复地、计算量巨大的奇 异值分解运算,而使未参与SVD的文档也能以低维向量的表现形式参与和其它文档的相关度 对比。
潜在语义空间中的文本邮件的语义是通过它与同一潜在语义空间中的其它文本邮件文档 之间的相关性呈现出来的。度量邮件文档之间相关度的方法有很多,本发明使用的是余弦相 关度的计算公式。
设^foc,' ^A",…,^c,、"'f和fl^/ ...,A。, *)r表示文档在CCU")的向量。
余弦相关度的计算公式
通过本公式的计算我们可以计算得到待判断邮件文本与训练集生成的潜在语义空间中的 其他邮件的相关度。
步骤205、根据相关度判断、分类、过滤邮件
判断垃圾邮件有两种方法第一种方法首先把训练集合分成明显的两类正常邮件集合 和垃圾邮件集合。再根据之前余弦相关度分别计算出来待判断的邮件文本与正常邮件集合的 每一文档向量的相关度值和垃圾邮件集合中的每一文档向量的相关度值,分别选取正常邮件 集合中的邮件相关度值和垃圾邮件集合中的邮件相关度值中的最大值。再比较选取的两个值 的大小。如果最大值属于正常邮件集合的最大值,那么就表示待判断的邮件与正常邮件集合 中的最大值所代表的邮件语义上更加相识。如果最大值属于垃圾邮件集合中的最大值,那么 表示待判断的邮件与垃圾邮件集合中的某封邮件更加相似。这样就达到了判断、分类、过滤 邮件的目的。第二种方法也是先根据之前的余弦相关度分别计算出来待判断的邮件文本与正 常邮件集合的每一文档向量的相关度值,和垃圾邮件集合中的每一文档向量的相关度值,接着分别选择正常邮件集合和垃圾邮件集合所有相关度值中最大的前r个值,分别计算最大的 前r个值的数学期望,分别得到各自的数学期望值之后再比较大小。如果最大值属于正常邮 件结合的最大值,那么就表示待判断的邮件与正常邮件集合中的最大值所代表的邮件语义上 更加相似。如果最大值属于垃圾邮件集合中的最大值,那么表示待判断的邮件与垃圾邮件集 合中的某一封邮件更加相似。
以上对本发明实施例自学习的基于潜在语义索引的垃圾邮件判断、分类、过滤方法及系 统进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对 于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之 处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法及系统,其特征在于,包括中文和英文分词;词语--文档矩阵生成;权重计算;词语文档矩阵奇异值分解;语义空间更新;将文本邮件映射到潜在语义空间;语义空间中文档向量之间的相似度计算;对待判断的邮件进行判断、分类、过滤。
2、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 其特征在于,所述中英文分词包括英文邮件分词根据邮件内容中英文单词之间的空格或 空格来分,分成一个一个的单词后,并且过滤掉一些没有意义的词语,保存到一个hash链 表中。将中文邮件体的内容进行一些预处理,去掉一些没有用的词语。将中文文本邮件内 容提取出来,先进行分句处理,再进行分词处理。
3、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 其特征在于,所述词语一文档矩阵包括收集到的文本邮件训练集合中的所有出现的词语 对应Termi,文档邮件集中的每一份邮件对应doCj,这样就生成了词语一文档矩阵。
4、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 所述词语一文档矩阵添加权重包括词语局部权重(LW(i, j));词语全局权重GWT(i);文档 全局权重GWD(j);三种权重计算公式相乘作为词语的总的权重。
5、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 所述对加权重后的词语一文档矩阵做奇异值分解包括经过奇异值分解方法(SVD)处理后,可以把矩阵(Dd^;T和对角矩阵5^"的乘积生成新的矩阵的行视为代表文档的向量,即文 档空间。同样把矩阵;r^和对角矩阵5^"的乘积生成新的矩阵的列视为代表词语的向量,即词语空间。通常把上述文档空间、词语空间统称为潜在语义空间(LSA Space)。
6、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 所述潜在语义空间的更新方法包括利用数学条件分布公式,可以在之前训练集合中已经 生成的潜在语义空间的基础上生成新的潜在语义空间,实现语义空间的实时、快速、准确 更新。
7、 如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 所述将文本邮件映射到潜在语义空间包括使未参与SVD的文档能以低维向量的表现形式 参与与其它文档的相关度对比;潜在语义空间中的文本邮件的语义是通过它与同一潜在予以空间中的其它文本邮件文档之间的相关性呈现出来的;利用余弦相关度的计算公式计算 邮件文档之间的相关度。
8、如权利要求1所述的一种基于潜在语义索引的垃圾邮件判断、分类、过滤方法, 所述对待判断的邮件进行判断、分类、过滤包括选取正常邮件和垃圾邮件文本相关度之 中最大的一个,待判断的邮件与正常邮件的相关度大,就表明待判断的邮件更像是正常邮 件;与垃圾邮件的相关度大,就表明待判断的邮件更像是垃圾邮件。选取正常邮件和垃圾 邮件文本相关度之中最大的前r个最大值。分别计算正常邮件相关度和垃圾邮件相关度最大 值之间的数学期望,得到数学期望值,根据数学期望值来判断待判断的邮件是正常邮件还 是垃圾邮件。
全文摘要
本发明涉及文本处理技术领域,尤其是一种垃圾邮件的判断、分类、过滤方法及系统。此系统分成两个子系统,包括潜在语义空间生成子系统和邮件判断、分类、过滤子系统。其中潜在语义空间子系统包括中文和英文分词模块;词语文档矩阵生成模块、权重计算模块、词语文档矩阵奇异值分解模块、语义空间更新模块。邮件判断、分类、过滤子系统的包括待判断的邮件中文和英文分词模块、将文本邮件映射到潜在语义空间、语义空间中文档向量之间的相似度计算、根据相似度判断、分类、过滤邮件。使用本发明提供的实施例可以对垃圾邮件进行判断,从而过滤垃圾邮件,并且能够快速、高效的过滤垃圾邮件。
文档编号H04L12/58GK101594313SQ20081004448
公开日2009年12月2日 申请日期2008年5月30日 优先权日2008年5月30日
发明者何兴高, 党建军, 伟 刘, 周俊怡, 曾志华, 程红蓉 申请人:电子科技大学