通信工程基于云端的邮件分类分析大学论文.docx
- 文档编号:13622368
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:29
- 大小:625.42KB
通信工程基于云端的邮件分类分析大学论文.docx
《通信工程基于云端的邮件分类分析大学论文.docx》由会员分享,可在线阅读,更多相关《通信工程基于云端的邮件分类分析大学论文.docx(29页珍藏版)》请在冰点文库上搜索。
通信工程基于云端的邮件分类分析大学论文
本科生毕业论文(设计)
题目:
基于云端的邮件分类分析
院系:
信息科学与技术学院
专业:
通信工程
学生姓名:
******
学号:
********
指导教师:
******
二O一五年4月
附表一、毕业论文开题报告
论文(设计)题目:
(简述选题的目的、思路、方法、相关支持条件及进度安排等)
学生签名:
年月日
指导教师意见:
1、同意开题()2、修改后开题()3、重新开题()
指导教师签名:
年月日
附表二、毕业论文过程检查情况记录表
指导教师分阶段检查论文的进展情况(要求过程检查记录不少于3次):
第1次检查
学生总结:
指导教师意见:
第2次检查
学生总结:
指导教师意见:
第3次检查
学生总结:
指导教师意见:
第4次检查
学生总结:
指导教师意见:
学生签名:
年月日
指导教师签名:
年月日
总体
完
成
情
况
指导教师意见:
1、按计划完成,完成情况优()
2、按计划完成,完成情况良()
3、基本按计划完成,完成情况合格()
4、完成情况不合格()
指导教师签名:
年月日
附表三、毕业论文答辩情况
答辩人
专业
论文(设计)题目
答辩小组成员
答辩记录:
记录人签名:
年月日
学术诚信声明
本人所呈交的毕业论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料均真实可靠。
除文中已经注明引用的内容外,本论文不包含任何其他人或集体已经发表或撰写过的作品或成果。
对本论文的研究作出重要贡献的个人和集体,均已在文中以明确的方式标明。
本毕业论文的知识产权归属于培养单位。
本人完全意识到本声明的法律结果由本人承担。
本人签名:
日期:
论文题目:
基于云端的邮件分类分析
专业:
通信工程
学生姓名:
***
学号:
***
指导教师:
***
摘要
随着互联网的发展,电子邮件成为社会中人与人交流的常用工具。
如何能够更好地利用邮件,对邮件进行分类处理自然成为关键技术之一。
邮件分类,可以从多个维度切入,例如合法/垃圾邮件,个人/团队项目邮件等。
本文将以合法/垃圾邮件为例进行研究分析。
现有的合法/垃圾邮件分类技术已经较为成熟,例如我们常用的腾讯邮箱就有自动过滤垃圾邮件的功能,实现邮箱自动判断合法/垃圾邮件分类,提升用户对邮件的管理体验。
邮件分类的实现通常可以从邮件来源、邮件内容两方面切入,包含反向DNS解析、IP黑名单、内容分类器等具体技术手段。
内容分类器是其中的难点,分类器的实现有多种方式,其中朴素贝叶斯算法因原理简单,效率较高而被广为提倡。
朴素贝叶斯分类算法存在不同的实现方式,效率也存在差异。
从计算资源使用的角度看,传统的实现方式在资源的使用方面存在不足或浪费的情况。
而云计算却是解决计算资源不足问题,提升计算速度的有效手段。
本文结合云计算的技术手段,从可行性上研究合法/垃圾邮件的分类实现。
本文收集了一定数量的邮件作为语料,搭建了Hadoop环境,应用基于云端的贝叶斯分类算法,通过训练集计算分析出语料集的特征库,再通过测试集评估算法实现的准确性、全面性,证实基于云端的贝叶斯分类算法实现邮件分类的可行性。
关键词:
邮件分类;云计算;朴素贝叶斯;Hadoop
Title:
AnalysisofCloudBasedE-mailClassification
Major:
CommunicationEngineering
Name:
***
StudentID:
***
Supervisor:
***
Abstract
WiththedevelopmentofInternet,e-mailhasbecomeafrequently-usedtoolin social life.Takingmyselfforanexample,Ireceivehundredsofe-mailsaboutentertainment,workandlifemonthly.Mailclassificationisoneofthekeypointstomakebetteruseofe-mails.Mailclassificationcanbedonefromdifferentdimensionssuchasspam/hame-mail,individualthemee-mail,teamprojecte-mail,etc.Inthispaper,spam/hame-mailclassificationisanalyzedanddiscussed.
Thecurrenttechnologyofclassificationinspam/hame-mailisalmostmature.QQMailservice,whichisfrequently-used,hasspamfilteringfunctionthatcanfiltermailsautomatically,resultinginrealizingimprovingtheexperienceofmanagementfortheusers.Itcanrealizemailclassificationbasedonthesourceandthecontentofmails,whichusesspecifictechniqueslikeReverseDNSanalysis,IPblacklist,contentclassifier,etc.Classifierisoneofthedifficulties.Therearevariousmethodstoimplementclassifier,ofwhichNaiveBayesalgorithmiswidelyadvocatedforitssimplenessandefficiency.However,theefficiencymayvarydependingonthewaysofrealization.Fromthepointofviewofthecomputeresources,thereexistswasteanddeficiencyinthetraditionalway.Onthecontrary,thehotcloudcomputingcanworkwellonreducingthewasteofcomputingresourcesandimprovingcomputingefficiency.Thevirtualizationanddistributedcharacteristicsofcloudcomputingraisetheusagerateofresourceaswellasefficiency.Thus,theauthorthinks,wecancombinethetechniquesofcloudcomputingtostudytheimplementationofspam/hame-mailclassification.
Inthispaper,theauthorwillcollectacertainnumberofe-mailsasthecorpus,usingBiasclassificationalgorithmbasedoncloud,obtainthefeaturelibrary ofthecorpusbycalculatingandanalyzingofthetrainingset.Andthenevaluateaccuracyandcomprehensivenessofthealgorithmofimplementationusingthetestset.Finally,approvethefeasibilityofBiasclassificationalgorithmbasedoncloud.
Keywords:
Mailclassification,Cloudcomputation,Naive Bayes,Hadoop,
第1章引言
1.1选题背景与意义
电子邮件是我们现代生活中必不可少的沟通工具,对其的管理自然也成为我们提升工作、学习、生活各方面效率的必然途径。
其中邮件的分类管理是邮件管理中重要的一部分,而合法/垃圾邮件的分类更是最基础、最重要的一环。
合法/垃圾邮件分类能筛选出有效信息,排除无关信息的影响。
如何实现合法/垃圾邮件的分类,目前已经有较为成熟的算法,其中朴素贝叶斯分类算法是最广为接受的一种。
通过训练集先验概率特性,计算出后验概率特性,从而获取判断的规则库,这个训练过程即机器学习的过程。
学习后,即可对测试集分类,测试是否达到准确率、查全率等指标。
从计算资源角度来看,在训练过程中需要大规模的数据,传统的集中式、小规模环境是一个限制因素,难以满足越来越大的数据需求。
因此本文考虑结合当下最热的云计算,研究基于云端的合法/垃圾邮件分类的可行性。
实验中会搭建Hadoop实验环境(由于实验条件有限,采用伪分步式结构),将经过预处理的训练集放在云端进行数据统计,统计后的结果将输出给贝叶斯分析模块完成特征筛选。
基于云端的贝叶斯分类算法,将能够提升数据的规模程度,对日后提升分类的准确率,多维分类的实现都具有十分重要的意义。
1.2国内外研究现状和相关工作
近年来,国内外对分类算法的研究已经比较成熟。
国外的Apache开源社区的开源Mahout项目,设计并实现了机器学习算法,其中包括了逻辑回归、贝叶斯、SVM、神经网络等分类算法的实现。
此外,SahamiM、DumaisS、HeckermanD等人也采用贝叶斯算法研究邮件过滤的实现。
而在国内,不少学者也对贝叶斯算法应用于邮件分类的研究做出不少成果,例如张铭锋,李云春等提出垃圾邮件过滤的贝叶斯方法综述【4】;李雯,刘培玉提出基于贝叶斯的垃圾邮件过滤算法的研究;(为什么都是引用[4])魏晓宁设计基于朴素贝叶斯算法的垃圾邮件过滤系统【16】等。
在研读这些成果后,发现使用贝叶斯分类算法进行邮件分类时,需要一定规模的训练集进行贝叶斯分类学习,这对计算资源的要求较高,而且随着对邮件分类的要求越来越高,训练集规模的提升是必要的,这是一个挑战。
作者认为,可以结合近年最热的云计算进行优化,利用云计算分布式的计算能力,可以满足大规模的数据训练需求,这对于提升分类器性能有着深刻意义。
因此本次研究想通过实验的方式,证明基于云端的邮件分类分析的可行性,从而为日后更深入的研究打下基础。
1.3本文的研究内容与主要工作
本文在基于朴素贝叶斯的垃圾邮件过滤的基础上,结合云计算的分布式计算特性,研究基于云端的合法/垃圾邮件分类的可行性,具体将从准确率、查全率等指标进行成果评估。
作者主要工作分为三大阶段:
阶段一主要是完成朴素贝叶斯分类理论和云计算相关理论的学习,并结合二者设计实验;阶段二需要完成具体的实验内容,包括云环境的搭建,语料数据的采集,实验编码工作(包括:
样本库的预处理模块,MapReduce数据统计模块,朴素贝叶斯分类训练模块),分析测试结果等;阶段三将根据阶段二的实验成果来完成论文撰写工作。
1.4本文的论文结构与章节安排
本文共分为五章,章节内容安排如下:
第一章:
引言。
结合整体情况介绍基于云端的邮件分类分析的背景及意义,相关的国内外研究现状及本文的研究内容、主要工作。
第二章:
合法/垃圾邮件分类的相关技术。
重点从基于内容的邮件分类角度进行介绍,并阐述分类性能的评估方法。
第三章:
云计算的相关技术。
从云计算本身出发,先简要介绍云计算的定义,特征,并逐步介绍本次实验所用的Hadoop系统,分布式数据存储HDFS,编程模型Mapreduce。
第四章:
基于云端的邮件分类实验。
本章将结合前两章内容,设计基于云端的分类实验,以内容预处理、云端统计、分类训练与分析、实验结果评估等步骤完成可行性研究。
第五章:
总结与展望。
总结全文,提出下一步的研究目标与工作方向。
第2章合法/垃圾邮件分类的相关技术
本章将着重介绍合法/垃圾邮件分类的技术内容,主要以基于内容的邮件分类方法出发,比较相关的邮件分类算法,并确认采用朴素贝叶斯分类算法。
此外,也将简单介绍分类性能的评估方法,便于更好地理解后续的实验设计。
2.1基于内容的邮件分类
邮件分类最初主要以来源作为切入点进行研究,成果主要有:
IP黑/白名单、实时黑名单列表、DNSMX记录反向查找等。
后来随着技术的发展,邮件分类从来源转移到内容,更多地关注如何通过正文分析识别出垃圾邮件。
基于内容的邮件分类,可以分为基于规则的分类方法【16】和基于概率统计的分类方法。
由于基于规则的方法需要人工制定规则,不适合云计算的实现方式。
因此,本小节主要针对基于概率统计的分类方法进行介绍。
基于概率统计的分类算法,主要有以下几种:
kNN方法、SVM向量机方法、Bayes方法等。
(1)kNN方法
kNN(k-NearestNeighbor,又叫做k近邻算法)是机器学习中最重要的方法之一。
它不需要通过训练过程,而是直接利用训练集分类。
分类方法是:
k近邻法在最近邻法的基础上,取未知文本向量d的k个近邻,看这k个近邻多数属于哪一类,就把d归为哪一类【】。
k近邻法的原理较为直观,容易理解。
但假设利用k近邻法进行文本分类,计算复杂度较高,存储量和计算量都很大,运行时间较长,而且对未知样本进行分类错误风险较高,因此不适用于对分类速度和实时性要求较高的垃圾邮件过滤。
(2)SVM方法
支持向量机(SupportVectorMachine,简称SVM,也叫做支撑向量机)是在二十世纪90年代发展起来的一种统计学习方法,它通过构造最优线性分类面来指导分类【16】。
支持向量机的基本思想可以概括为:
将输入空间变换到一个新空间,然后在这个新空间中求取最优线性分类面。
假设使用SVM方法进行文本分类,优点主要有结构风险最小化、全局唯一解、在非线性和高维模式中同样适用等。
而缺点是,由于支持向量机是对所有可能的样本进行分类,用已知样本的训练集对邮件进行分类与过滤的计算量很大,因此需要比较长的运行时间。
(3)Bayes方法
贝叶斯(Bayes)方法【14】,基本原理是通过先验概率计算后验概率,再根据后验概率进行排序或者通过实验测试一个阈值来做出分类判断。
根据贝叶斯公式,最后归结于求每个类别的概率和先验概率,而这两个概率主要通过训练集的训练过程获得。
朴素贝叶斯(NaïveBayes)是贝叶斯方法中使用最广泛的一种。
在这种方法中,训练集被假设为由多个互相独立的特征组成。
朴素贝叶斯方法被广泛用于文本分类中,取得了不错的效果。
针对以上几种常见的邮件分类算法,可以发现:
●各个算法各有优劣,并不存在绝对的最优算法;
●邮件分类是需要大规模的样本处理,对计算资源的要求较高,本文也是从这点出发,希望能够借助云计算来提升资源利用和计算效率。
因此选择算法复杂度较低,灵活性较强的贝叶斯算法作为本次研究的分类算法。
2.2朴素贝叶斯分类算法
2.2.1贝叶斯定理
贝叶斯定理最初是由牧师托马斯贝叶斯发表于1763年,他是18世纪的数学家和神学家。
贝叶斯定理是贝叶斯理论中最重要的一个公式,是贝叶斯学习方法的理论基础,它将事件的先验概率与后验概率巧妙地联系起来,利用先验知识和统计现有数据,使用概率的方法来确定某一事件的后验概率。
定理:
设试验E的样本空间为S,A为E的事件,Bl,B2,…,Bn为S的一个划分,且P(Ai)>0,P(Bi)>0(i=1,2,…,n),则
(2.1)
公式2.1称为贝叶斯(Beyes)公式。
其中,P(Bi)为先验概率,P(Bi|A)为后验概率,通过公式可以发现,先验概率可以求出后验概率,即从结果可以追溯原因。
2.2.2朴素贝叶斯模型
贝叶斯模型【16】,是一个标识属性变量间概率分布信息、分析变量之间相互关系的有向无环图。
贝叶斯模型有一般贝叶斯模型和朴素贝叶斯模型两种。
下面将分别介绍两种模型的特点。
首先,针对本次实验的对象:
电子邮件,需要通过向量空间模型进行表示。
假设一封邮件,我们可以用一个n维向量d(w1,w2,…,wn)表示,其中wi为第i个特征的权值,n为特征的长度。
在一般贝叶斯模型中,所有特征项是相互依赖的,如图2-1所示。
其中节点之间的箭头表示节点间存在关联关系,因此可见一般贝叶斯模型的复杂度十分高,不利于实际应用。
图2-1一般贝叶斯模型结构示意图
朴素贝叶斯模型,在一般贝叶斯模型的基础上消除同级节点间的关联关系,如图2-2所示。
朴素贝叶斯模型中,所有的特征的wi都相互独立,且只有一个父节点C。
这个模型大大降低了复杂度,更便于应用实际问题。
在前人的研究中也证明朴素贝叶斯模型适用于文本分类【16】,因此不妨假设邮件特征项的相互关联性极小,可采用朴素贝叶斯模型。
图2-2朴素贝叶斯模型结构示意图
2.2.3朴素贝叶斯算法
通过上一小节,确定了可用朴素贝叶斯模型进行合法/垃圾邮件分类实验。
下面将在此基础上介绍朴素贝叶斯算法是如何进行邮件分类的。
图2-3朴素贝叶斯邮件分类算法结构示意图
如图2-3所示,朴素贝叶斯分类算法主要分为两大部分:
第一部分是分类训练,第二部分为分类判断。
在合法/垃圾邮件分类里,不妨设垃圾邮件为事件C1,合法邮件为时间C2,邮件特征项为x。
(1)分类训练
在分类训练中,需要完成两件事:
一是筛选特征项;二是计算各个特征项的后验概率P(Ci|x),i=1,2。
特征项的筛选是必要的,因为训练集中包含的特征项数据量较为庞大,上千封邮件的训练集直接训练出来的特征项数量级达到十万级。
若直接用于测试分类,计算成本较大且部分特征项会干扰分类判断。
因此需要通过低频词过滤与信息增益过滤两步进行不必要特征的过滤。
低频词过滤,需要通过对特征项的词频n(n=0,1,…)进行实验,确定对分类效果最佳的词频n。
信息增益【16】过滤,关注的是特征项为分类判断所提供的信息量。
信息增益的定义如下:
假设存在特征T,分类为Ci(i=1,2,…,n),则
(2-2)
其中,H()表示信息熵,H(Ci|T)表示已知特征T时分类Ci的信息量,包括,特征T出现和特征T不出现两种情况,设特征T出现为t,特征T不出现为
,则
(2-3)
结合公式2-2和公式2-3,可得IG(T)如下:
(2-4)
计算各个特征的信息增益后,按照信息增益对特征进行排序,以阈值k来筛选出排序靠前的k个特征,组成邮件特征库。
此外特征的后验概率P(Ci|x)在计算信息增益过程中会进行计算,不再赘述。
(2)分类判断
测试邮件输入后,需要转换为n维向量d(w1,w1,…,wi,…,wn),n为特征库长度,wi为特征的权值,权值为0或1。
当输入邮件与wi对应的特征相符,则wi=1,否则为0。
针对邮件向量d,需要比较P(C1|d)与P(C2|d)的大小,因此通过以下判别函数进行判断:
(2-5)
当f(d)>0时,则判断测试邮件为垃圾邮件,否则判断测试邮件为合法邮件。
2.3分类性能的评估
为了对实验结果的分类性能进行评估,需要相对科学的评估方法支持。
在此借鉴垃圾邮件过滤的性能指标作为判断依据。
假设测试邮件中有N封邮件,实际垃圾邮件为Ns=A1+A2,实际合法邮件为Nt=B1+B2。
而通过分类判断后,产生的结果为:
垃圾邮件为A1+B1,合法邮件为A2+B2.
根据以上条件,定义以下两个指标来评估实验成果的可行性。
●召回率:
该指标用于判断实验对垃圾邮件发现的覆盖率,若R值越高,说明发现的覆盖性越强,否则越弱;
●正确率:
,该指标用于判断实验对垃圾邮件发现的正确性,若P值越高,说明发现的正确性越强,否则越弱。
为了综合考量R与P值,定义了以下F值:
(这里大小写要一致)
(2-6)
根据实验结果,若F值达到80%以上,则说明实验成功,从而证明了基于云端的邮件分类的可行性。
2.4本章小结
本章主要针对合法/垃圾邮件分类的相关技术进行介绍,着重解释了为什么要选择朴素贝叶斯分类算法进行试验,也阐述了朴素贝叶斯分类算法是如何应用于邮件分类。
以此为基础,具体的实验过程详见第四章内容。
第3章云计算的相关技术
本章节将从云计算的基本概念出发,简要介绍云计算的定义、特征以及相关关键技术。
同时也结合Hadoop这一典型的分布式系统基础架构进行具体的介绍,其中内容重点关注Hadoop云环境下的数据存储(HDFS)、数据分析(MapReduce)部分。
3.1云计算概述
3.1.1云计算的定义
云计算,是在2007年第三季度才诞生的一个新概念,至今为止,云计算并没有一个统一的定义,其中现阶段被广为接受的是美国国家标准与技术实验室对云计算的定义,其定义为:
“云计算是一个提供便捷的通过互联网访问一个可定制的IT资源共享池能力的按使用量付费模式(IT资源包括网络、服务器、存储、应用、服务),这些资源能够快速部署,并只需要很少的管理工作或很少的与服务供应商的交互。
”
从定义中,可以提炼出云计算的几个关键词:
资源共享、按需付费、快速部署等。
由此可认为云计算就是将网络上分布的各式各样的资源集中一起,基于一定的技术方式(3.1.3关键技术部分可详细了解),使其可共享、可分配,为用户提供方便快捷的服务,实现计算与存储的分布式与并行处理。
假设我们把“云”看做一个巨大的存储与计算资源池,那“云计算”就是这个资源池基于网络平台为用户提供的数据存储与网络计算服务。
云计算,并非是具体的一项技术或者是一系列技术的组合,它自身的界定更多是针对IT资源的交付与使用模式。
因此,从更广泛的意义上来讲,云计算是服务的交付和使用模式,通过网络按需、可拓展的方式获得IT服务(云计算服务体系分为:
IaaS、PaaS、SaaS,在本文不做具体介绍)。
总而言之,云计算是一个集合了资源共享、按需服务、快速部署的新概念。
3.1.2云计算的特征
结合过往的云计算研究成果,可以发现云计算具有以下几类特点:
(1)规模大
“云计算”具有相当的规模,例如Google云计算已经拥有100多万台服务器,亚马逊、IBM、微软和雅虎等公司的“云”均拥有几十万台服务等。
(2)虚拟化
云计算为用户提供随时、随地使用其终端的服务。
所请求的资源来自“云”。
应用在“云”中运行,但实际上用户无须了解应用运行的具体位置,即重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够服务于各行各业中灵活多变的应用需求。
(3)高可靠性
“云”使用了数据多容错性、计算节点可互换等措施来保障服务的高可靠性,相比本地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信工程 基于 云端 邮件 分类 分析 大学 论文