APP下载

基于SVM的中文垃圾邮件预测系统研究

2020-04-21徐娟卞良

数字技术与应用 2020年1期

徐娟 卞良

摘要:为有效拦截、过滤垃圾邮件,本文研究基于SVM的中文垃圾邮件过滤技术。经测试实验表明,该方法能够有效的预测中文垃圾邮件,在准确率、精度、召回率方面表現较优。

关键词:支持向量机算法;中文垃圾邮件预测;中文分词

中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2020)01-0038-02

0 引言

随着互联网技术的高速发展,电子邮件为人们提供便捷地服务,同时随之产生的垃圾邮件也带来了巨大的影响。大量垃圾邮件不仅占用网络带宽,同时也消耗存储空间。不仅影响网络传输和运算速度,同时严重影响邮件服务器的正常工作。

1 相关技术

1.1 中文分词技术

我们采用jieba分词进行中文语句切分,jieba分词是一种结合基于规则和基于统计这两类方法的分词工具,它提供全模式、搜索引擎模式以及精确模式三种分词方式。全模式主要目标是扫出所有可以成词的词语,分词力度较细。搜索引擎模式,适合用于搜索引擎分词。除了可以进行分词外,它还可以进行词性标注。精确模式分词适用于文本分析。

1.2 垃圾邮件过滤技术

目前垃圾邮件过滤主要是黑白名单过滤、基于规则过滤和基于内容统计过滤三种方式。朴素贝叶斯、支持向量机、最近邻等算法是基于内容统计的过滤方式。

黑白名单是一种被广泛应用的垃圾邮件过滤技术。黑名单主要基于拒绝列表,首先将目标邮件的Email地址、IP地址或域名加入拒绝列表,也称“黑名单”,当邮件服务器接收到新邮件时,先到拒绝列表上查找。白名单主要基于信任列表,信任列表也称白名单,其内容和黑名单拒绝列表一致。但其检验原则是:信任列表中存在的名单用户均合法,均为可靠联系人。当邮件服务器检测到与拒绝列表相反的用户时,将用户的邮箱地址标记为可信任并记入白名单。每当接收到白名单内联系人的邮件时,邮件系统自动将其标记为正常邮件。

朴素贝叶斯过滤法是中文、英文垃圾邮件检测领域中的常用方法,被广泛应用于各类反垃圾邮件软件中。朴素贝叶斯算法是一种基于规则的分类法,该算法将邮件分为两种类型,即垃圾邮件和非垃圾邮件(正常邮件),算法通过分析两类邮件中各特征词分别出现的初始概率,并进行记录。

支持向量机(Support Vector Machine),简称SVM,是美国统计学习理念的创始人Vapnik等提出的一种机器学习方法。该算法首先将训练数据集由低维空间映射至高维空间,在目标高维空间内求解最优线性分类超平面,由此在输入空间产生一个最优非线性决策边界。在实际应用中,我们获得的训练数据并不总是完美的线性可分,其中可能会有个别噪声点,这些噪声点错误的被分类到了其他类中,将会直接导致分类结果产生严重误差。如果将这些特异的噪点去除后,可以很容易的线性可分。但是,我们无法确定对于庞大数据集中哪些是噪声点。对于这类线性不可分问题,本文选择RBF核函数解决。

1.3 评价指标

本文使用准确率(Accuracy)、精度(Precision)、召回率(Recall)来评价预测算法。下文中变量均源于表1中2*2混肴矩阵。真正例(TP)是指模型将正类别样本正确地预测为正类别。真负例(TN)是指模型将负类别样本正确地预测为负类别。假正例(FP)是指模型将负类别样本错误地预测为正类别。假负例(FN)是指模型将负类别样本正确地预测为负类别。

正确率是我们最常见的评价指标,也称查准率,通常来说,正确率越高,分类器越好。正确率的求解公式为:Accuracy = (TP+TN)/(TP+FP+FN+TN);

精度是精确性的度量指标,表示被分为正例的示例中实际为正例的比例。精度求解公式为:Precision=TP/(TP+FP);

召回率是覆盖面的度量指标,也称查全率,召回率度量有多个正例被分为正例。召回率计算公式为:Recall=TP/(TP+FN)。

2 垃圾邮件预测

本文实现了基于RBF核函数的SVM中文垃圾邮件检测系统,并对邮件检测系统进行量化评价。人工收集、汇总8000封邮件作为数据集,我们选取数据集中3100垃圾邮件、2900正常邮件为训练样本数据集,并对训练样本做类别标注。对已标注类别的训练样本,首先,对所有的文本进行数据预处理,去除特殊字符、停顿词。然后,使用jieba分词进行中文分词,得到总词库,使用词频向量法,选取3000高频分别构建正常邮件和垃圾邮件的特征向量。最后,根据得到的特征词,采用Java、Scikit-Learn库进行预测机模型训练。针对测试样本数据集中的每一封邮件,采用模型预测其类别,对整体结果进行统计分析。垃圾邮件预测流程如图1所示。

3 测试与结果

本文测试样本集,包含垃圾邮件数为1036封、正常邮件数为964封,测试结果:在964个正常邮件测试样本中,使用本文的邮件检测系统分类正确的邮件数为896,在1036个垃圾邮件测试样本中,使用本文的邮件检测系统分类正确的邮件数为932。由此可得到本系统的平均准确率为91.4%左右,精度92.9%,召回率89.6%。

4 结语

本文研究基于支持向量机SVM的中文垃圾邮件过滤技术。经测试实验表明,该方法能够有效的预测中文垃圾邮件,在准确率、精度、召回率方面表现较优。人工收集汇总数据存在人为主观性、收集数据量少的特点,训练数据集中提取得特征词无法较为全面表征垃圾邮件特征。在后续工作中,我们将采用自动化邮件采集器,同时改进特征提取方法并引入特征词数据字典,从而进一步提高分类准确性。

参考文献

[1] 施丽容.基于P2P网络结构的垃圾邮件识别技术研究[D].成都:西南交通大学,2008.

[2] 周志华.机器学习[J].航空港,2018(2):94.