APP下载

基于自然语言处理技术的邮件检测系统

2019-09-25邓金

数字技术与应用 2019年6期
关键词:垃圾邮件

邓金

摘要:隨着电子时代的发展,人与人之间的通信越来越便捷。邮件是如今社交中非常重要的交流工具,然而邮件在给人带来有效交流信息的同时,也会给人带来大量的垃圾信息。本文针对对垃圾邮件的辨别,提出一种基于自然语言处理技术的邮件检测系统方案。首先利用TF-IDF特征提取技术、PCA降维技术获得训练样本中最能够识别垃圾邮件的特征,然后使用朴素贝叶斯分类算法对邮件进行检测。

关键词:垃圾邮件;TF-IDF;PCA;朴素贝叶斯分类算法

中图分类号:TP391 文献标识码:A 文章编号:1007-9416(2019)06-0117-02

0 引言

在如今的日常生活中,无论是工作需要,抑或是生活交流,邮件已经成为当代人的重要交通工具。然而,交流便利的同时,会有很多非法分子通过邮件传递垃圾信息,例如我们会时不时接收到来自陌生人的骚扰信息、广告信息等。针对这样的垃圾邮件,本文在传统朴素贝叶斯分类过滤邮件的基础上,引入TF-IDF和PCA技术,提高了传统垃圾邮件过滤的准确率。

1 自然语言处理相关技术

1.1 TF-IDF技术

TF-IDF技术主要通过对单词权重的计算,来得到文本的特征词。它的计算式如下:

(1)

其中,W(ti,dj)是特征项ti在文本dj的权重取值;tf(ti,dj)是特征项ti在文本dj中出现的频率,用于计算该词描述文档内容的能力;是特征项在文本集中出现文本频率数的反比,称为反文档频率,用于计算该词区分文档的能力[1]。

1.2 PCA降维技术

PCA降维技术主要思想是为提取特征空间中最具有区分能力的特征词,从而进行降维。成分分析(Principal Component Analysis,PAC)是用特征向量对样本数据进行分析,达到降维目的的一种多元统计分析方法。即将高维特征向量通过特征向量矩阵转变为低维向量,该方法仅损失了一些次要信息,主要信息得以保留。其中,PCA借助Karhunen-loeve变换式(简称KL展开式)将测量空间里的数据分解映射到低维度的特征空间[2]。

1.3 朴素贝叶斯分类算法

贝叶斯算法是一种基于概率分析事件发生可能性的方法,其核心思想在于选择发生概率高的作为分类的结果[3]。贝叶斯公式如下:

(2)

上述式子计算的P(A|B)是表示在事件B发生的前提下,事件A发生的概率。

假设邮件类别有正常邮件和垃圾邮件两类,即V={v1,v2},其中v1代表正常邮件,v2代表垃圾邮件。通过TF-IDF和PCA技术对训练样本进行特征选取后,得到了最能区分正常邮件和垃圾邮件的n个单词,从而设特征集合为X={x1,x2,...,xn}。则根据贝叶斯公式,可以推出:

(3)

由于需要假设各个单词之间相互独立,互不影响,所以:

(4)

所以检测一个邮件是垃圾邮件还是正常邮件,只需要比较和,如果当前邮件的 >,判断其为正常邮件,否则为垃圾邮件。

2 邮件检测系统

本文提出一种基于自然语言处理技术的邮件检测系统,首先需要人工搜集垃圾邮件和正常邮件作为训练样本,其中正常邮件数为7594,垃圾邮件数为22401。对已经分好类的训练样本,首先对所有的文本进行中文分词,得到总词库,使用TF-IDF算法分别构建每一个正常邮件和垃圾邮件的特征向量,获得一个特征空间,然后使用PCA降维技术,对这个特征空间进行降维,得到最能够区分正常邮件和垃圾邮件的特征词,由这些特征词构成的特征向量空间,能够最大程度上区分两类邮件。由此,就得到了朴素贝叶斯分类器所需要的基础。最后,根据得到的特征词,对测试样本中的每一个邮件,利用朴素贝叶斯公式,进行正常邮件和垃圾邮件的概率计算,并且比较两个概率,如果判断为垃圾邮件,则系统拒绝接收邮件,如果是正常邮件,则无需进行任何处理,直到所有的测试样本检测完毕,结束系统工作。系统大体流程如图1所示。

根据训练样本,使用TF-IDF技术和PCA降维技术得到的特征词一共有5001个,然后根据这些特征词,就可以使用朴素贝叶斯算法进行分类。

3 测试与结果

本文选择正常邮件数为844,垃圾邮件数为2489的测试样本进行测试,测试结果如表1所示。

上述结果表示在844个正常邮件测试样本中,使用本文的邮件检测系统分类正确的邮件数为834,在2489个垃圾邮件测试样本中,使用本文的邮件检测系统分类正确的邮件数为2291。由此可得到本系统的平均准确率为94%左右。

4 结语

本文提出一种基于自然语言处理技术的邮件检测系统方案,相比传统的朴素贝叶斯分类算法,引入了TF-IDF特征提取技术和PCA降维技术,提高了传统邮件过滤的准确率。当然,由于人工搜集数据的局限性,不能获得所有能够区分正常邮件和垃圾邮件的特征词。下一步工作可以适当扩充数据,或者改进特征提取算法,提高分类准确性。

参考文献

[1] 李建林.一种基于PCA的组合特征提取文本分类方法[J].计算机应用研究,2013,30(08):2398-2401.

[2] 李梦潇,姚仕元.基于PCA的人脸识别系统的设计与改进[J].计算机科学,2019,46(S1):577-579.

[3] 王斌.基于朴素贝叶斯算法的垃圾邮件过滤系统的研究与实现[J].电子设计工程,2018,26(17):171-174.

Mail Detection System Based on Natural Language Processing Technology

DENG Jin

(Yanbian University, Yanji Jilin  133002)

Abstract:With the development of electronic age, communication between people is more and more convenient. Email is a very important communication tool in today's social communication. However, e-mail will bring people a lot of junk information while it brings effective communication information. This paper proposes a message detection system based on natural language processing technology for the discrimination of spam. First of all, TFIDF feature extraction technology and PCA dimension reduction technology are used to obtain the features that can recognize spam most in the training samples, and then use simple Bayesian classification algorithm to detect the mail.

Key words:spam; TF-IDF;PCA; naive Bayesian classification algorithm

猜你喜欢

垃圾邮件
从“scientist(科学家)”到“spam(垃圾邮件)”,英语单词的起源出人意料地有趣 精读
一种基于SMOTE和随机森林的垃圾邮件检测算法
垃圾邮件会在2020年消失吗
基于支持向量机与人工免疫系统的垃圾邮件过滤模型
基于贝叶斯算法的垃圾邮件过滤器的模拟实现
东方国家垃圾邮件输出日益严重