电子邮件信息挖掘系统的设计与实现 软件工程 外文翻译Word文档格式.docx
- 文档编号:21281050
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:71
- 大小:5.35MB
电子邮件信息挖掘系统的设计与实现 软件工程 外文翻译Word文档格式.docx
《电子邮件信息挖掘系统的设计与实现 软件工程 外文翻译Word文档格式.docx》由会员分享,可在线阅读,更多相关《电子邮件信息挖掘系统的设计与实现 软件工程 外文翻译Word文档格式.docx(71页珍藏版)》请在冰豆网上搜索。
TP311.5
UDC:
004.41
学校代码:
10004
密级:
作者姓名:
xx学号:
12126082
导师姓名:
xx职称:
教授
工程领域:
软件工程学位级别:
硕士
致谢
本论文的工作是在我的导师xx教授的悉心指导下完成的,两年来林老师严谨的治学态度和科学的工作方法给了我极大的帮助和影响。
在此衷心感谢林老师一直以来对我的关心和指导,值此论文完成之际,谨向林老师表达我真诚的感激和崇高的敬意。
林老师悉心指导我完成了实验室的科研工作,在学习上和生活上都给予了我很大的关心和帮助,对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷心的感谢。
感谢在我论文写作过程中给以我许多帮助的朋友们。
师兄蒋睿在繁忙学习和工作中抽出时间就我遇到的难题展开大量讨论,使我的研究工作可以顺利进行,非常感谢你。
在工作及撰写论文期间,彭玉瑶、张云光等同学对我论文的研究工作给予了热情帮助,在此向他们表达我的感激之情。
另外也感谢家人,是他们的理解和支持使我能够在学校专心完成我的学业。
借此机会,向百忙之中抽出时间评审本文的专家表示衷心的感谢!
向本文所有引文及参考文献的作业致以最真诚的谢意。
中文摘要
随着数据量的增大,传统的人工邮件分析方法已经无法满足企业的要求。
某企业为了提高企业员工的工作效率,深度挖掘电子邮件中的隐藏信息,增加邮件分析过程中信息的针对性、准确性和快速性,决定使用信息化手段来适应发展。
以此为背景,本系统为该企业提供了关键性解决方案,本文论述了该系统的设计与实现。
论文首先论述了项目背景,对比了国内外研究现状,在对项目的核心问题分析后确定了项目的研究目标。
然后根据电子邮件信息挖掘过程中用户需要解决的问题得到系统的业务需求,进一步提取出功能需求和性能需求。
在需求分析的基础上,对系统的总体架构和功能模块进行了划分。
基于Qt开发平台,结合复杂网络分析方法的应用,本系统实现了电子邮件网络构建、事件发现、邮件扩散过程建模频繁模式发现、社区划分等功能。
最后采用Qt丰富的视图设计,将以上功能模块以可视化的方式展示出来,满足了与用户形象交互的需求。
本人独立完成了以下工作:
系统研究目标的确定;
系统的需求分析和系统边界的确定;
系统的架构设计、流程设计及数据库设计;
系统所有功能模块的设计与实现;
系统的功能测试和性能测试。
目前,本系统已经在该企业上线使用,大大降低了员工的工作量,得到了用户的积极反馈,对该企业的工作效率和准确率有明显的提高,有力的推动了该企业的信息化建设。
关键词:
电子邮件;
信息挖掘;
复杂网络;
Qt
分类号:
ABSTRACT
Withtheincreasingamountofdata,thetraditionalmanualanalysismethodofemailhasbeenunabletomeettherequirementsofenterprises.Inordertoimprovetheemployee’sworkefficiency,minethehiddeninformationintheemaildeeplyandincreasethepertinence,accuracyandtiming,theenterprisesdecidedtouseinformationtechnologytoadapttotheenvironment.Basedonthisbackground,thesystemprovidesthekeysolutionsfortheenterpriseandthispaperdescribesthedesignandimplementationofthesystem.
Afterdiscussingthebackgroundoftheproject,withthecomparisonbetweendomesticandforeignresearchatpresentsituation,thispaperdeterminestheresearchtargetoftheprojectontheanalysisofthecoreproblem.Accordingtotheuser’sneedstosolvetheproblemduringtheemailinformationminingprocess,weextractedfurtherfunctionrequirementsandperformancerequirements.Onthebasisoftherequirementanalysis,theoverallsystemarchitectureandfunctionmodulesaredivided.BasedontheQtdevelopmentplatform,combinedwiththeapplicationofcomplexnetworkanalysismethod,thissystemhasrealizedthefunctionofemailnetworkconstruction,eventdetection,emaildiffusionprocessmodeling,frequentpatterndetection,communitydividingandsoon.Finally,wedesigntheQtviewtomeetuserneedstointeractwiththeinterface.Iindependentlycompletedthefollowingwork:
determiningthesystemresearchgoal,analyzingtherequirementsandboundaryofthesystem,architecturedesign,systemprocessdesign,databasedesign,realizationofallfunctionalmodules,thefunctiontestandperformancetest.
Atpresent,thesystemhasbeenusedintheenterprise.Withpositivefeedbackfromtheusers,thesystem,thatgreatlyreducetheworkofthestaffandimprovethework’sefficiencyandaccuracy,effectivelypromotetheinformatizationconstructionoftheenterprise.
KEYWORDS:
Email;
Informationmining;
Complexnetwork;
Qt
CLASSNO:
1引言
本章将介绍电子邮件信息挖掘系统的项目背景、国内外研究现状、研究目标、个人主要工作以及论文组织结构。
1.1项目背景
随着信息技术的高速发展,使用电子邮箱的人越来越多,那么电子邮件也随着时间成几何似的增长。
伴随着电子邮件数量逐步增多,电子邮件的种类也随着e增多,例如有:
广告邮件、垃圾邮件、工作邮件、生活邮件等。
传统的邮件信息挖掘方法是通过人工阅读的方法,凭着人的判断能力对邮件进行阅读,然后逐一对邮件进行分类并发现信息。
但是当电子邮件数量到达万级别时,传统的邮件信息挖掘方法存在以下几个问题:
1.个人工作量大,工作效率低,信息挖掘能力弱。
当电子邮件数量到达万级时,处理万的电子邮件需要的处理时间极长,人工处理效率较低。
2.处理速度相比计算机较慢,不能及时的发现信息和反馈信息。
当电子邮件数量到达万级时,人工处理的速度过慢,不能及时的发现并反馈邮件中的信息,时效性太低。
3.信息挖掘的差错率高。
由于人的阅读能力和知识范围有限、阅读疲劳,会错误理解、遗失邮件信息,存在一定的差错。
人工邮件处理方法不仅浪费人力物力财力,同时还容易出现错误。
为了对万级的电子邮件数据进行高效、准确、快速的分析,某企业提出了基于电子邮件进行信息挖掘的需求[1]。
利用计算机处理电子邮件有以下三点好处:
1.针对性:
有效的邮件信息才有价值,可利用计算机对电子邮件进行垃圾邮件进行过滤,为人工处理提供更精准的目标。
2.时效性:
邮件信息的时效性非常重要,当邮件到达万级时,可利用计算机的快速计算能力对邮件进行信息挖掘,及时的发现并反馈信息。
3.准确性:
在加强时效性的同时,还需加强数据的质量,利用计算机处理可避免遗漏重要信息和信息内容的不准确带来的误差。
由此可见,电子邮件的信息挖掘可以充分运用信息化手段和现代化方式,对邮件信息进行全方位挖掘,不但提升了工作效率,而且加快了信息获取速度、保证了邮件信息的时效性、提高了邮件内容的准确性[2],还能挖掘出一些从表面、从单封邮件无法获取的信息。
就此,在导师的帮助和指导下,本文将在电子邮件中的信息挖掘领域中进行技术的尝试和探索,开发电子邮件信息挖掘系统。
1.2国内外研究现状
随着信息化科技的普及,电子邮件的数量也成几何似的增长,这必然会引起海量电子邮件数据分析的需求。
为了提高人工分析电子邮件数据效率,客观上要求提高分析员的工作效率,而计算机的超快计算能力和强大的数据库开发能力,从客观上为数据分析提供了动力与存储功能。
事实证明,计算机在数据挖掘领域的应用已经有很多的成功例子[3],能使数据管理更现代化、数据计算更智能化、减少人工分析的工作量,使其变得更具有条理性、科学性,为电子邮件的分析与挖掘做出了巨大的贡献。
针对电子邮件中的信息挖掘,目前国内外主要有以下几个方面的探索:
1.基于复杂网络的邮件病毒传播模型[4]的研究,该研究从用户的主观与客观等多种角度研究了有效控制病毒在网络中快速传播的方式,通过对实际生活中某些参数的控制,能有效遏制邮件病毒在网络中的传播。
2.复杂网络性质探讨及在垃圾邮件过滤中的运用[5],该研究论证了了节点分类的方法对垃圾邮件过滤的有效性,提出了一种有效的垃圾邮件过滤方法。
3.基于主题及核心人物的邮件网络社区发现研究[6],该研究提供了一种针对电子邮件网络的社区发现解决方案和核心人物发现的解决方案。
4.Email社会网络的社群挖掘和分析算法研究[7],该研究针对Enron数据集提出了一种社群挖掘和成员重要性评价的算法模型,并验证了其准确性。
5.TheEnroncorpus:
Anewdatasetforemailclassificationresearch[8],该论文介绍了安然电子邮件数据集,并分析并验证该数据集在邮件聚类研究上的适用性。
6.PersonalEmailNetworks:
AnEffectiveAnti-SpamTool[9],该论文提供了一种自动化图论的方法来识别用户的信任的朋友网络,从邮件中提取出跟用户关系紧密的用户群体。
事实证明,这些研究只是从各个不同的方面对电子邮件网络进行一定的分析,还没有一个成型的基于复杂网络分析方法的电子邮件信息挖掘系统,复杂网络分析方法的应用还远远不够。
1.3研究目标
在立项阶段,本人对该项目进行了可行性分析,从多角度确定了项目的研究目标和解决该问题的核心方案。
该项目的研究目标分以下几点:
1.整个邮件网络中用户关系的建立和展示。
挖掘用户之间的关系,通过特定复杂网络的指标统计可以发现一些活跃用户及与这些用户关系紧密的用户。
2.整个邮件网络中用户群的分布和展示。
挖掘用户群的分布,可发现出邮件网络一些用户社群的分布,为信息挖掘人员提供特定的目标人群进行分析。
3.整个邮件网络中用户之间的关联关系发现和展示[10]。
挖掘用户之间的关系可发现用户之间的发送、收取邮件的特定模式,加上时间的特性可以发现一些异常模式。
4.整个邮件网络中邮件扩散过程的发现和展示。
挖掘邮件在用户中的扩散过程并展示该过程,可观察邮件的扩散路径,为信息挖掘人员提供一些关键节点、关键路径、缺失路径的检测。
要达到以上研究目标,该项目需要解决的核心问题有:
1.邮件网络建网问题
邮件网络信息挖掘的核心是建立用户之间的关系,所以建网问题是核心问题。
建网问题可以参照其他社会网络的建网方法设计出符合电子邮件网络的建网模型。
2.邮件网络社区划分问题
挖掘邮件网络中用户群的分布实质是复杂网络中的社区划分问题,社区划分算法可参照复杂网络的社区划分算法。
3.邮件网络频繁模式发现问题
挖掘邮件网络用户之间的关联关系的实质是邮件网络中的频繁模式发现问题,该问题可参照关联关系发现算法设计出符合电子邮件网络的频繁模式发现算法。
4.邮件网络邮件扩散过程建模问题
挖掘邮件网络中的邮件网络扩散过程的核心是对扩散过程进行建模,该问题需要自己提出一套成型的模型来描述邮件扩散,具体的模型将在论文后面的章节介绍。
1.4个人主要工作
本人负责整个电子邮件信息挖掘系统的设计与实现,具体工作如下:
1.系统前期需求分析工作。
2.系统的概要设计与详细设计工作。
3.电子邮件网络的建网功能模块的实现。
4.电子邮件网络的社区划分功能模块的实现。
5.电子邮件网络的频繁模式发现功能模块的实现。
6.电子邮件网络的事件发现功能模块的实现。
7.电子邮件网络的邮件扩散过程建模功能模块的实现。
8.后期的测试及验证工作。
1.5论文组织结构
本文的组织结构如下:
第一章是引言,主要介绍该项目的背景、国内外研究现状、研究目标以及个人的主要工作。
第二章是关键技术的概述,主要包括开发语言与算法的比较和选择。
第三章是该系统的需求分析,对电子邮件信息挖掘系统进行功能需求分析和性能需求分析。
第四章是该系统的概要设计,在第三章的基础上对系统进行总体设计,包括整个系统的功能模块初步划分、整体流程设计、实体关系分析、数据库设计等。
第五章是该系统涉及到的算法模型的设计,这一章详细讲解了各个算法流程的设计和推导,并展示了相关实验结果。
第六章是该系统的详细设计,在第四章和第五章的基础上对系统的各个模块进一步细化,分析各个模块的子模块、模块的算法流程、模块的接口;
数据库设计方面则给出具体每张表的字段等。
第七章为本系统的系统测试,包含对各个功能模块的功能性测试和性能测试。
第八章为结论,是对本论文的总结与展望。
1.6本章小结
本章是论文的引言,介绍了项目的背景、国内外研究现状、研究目标以及个人的主要工作。
下一章将重点介绍电子邮件信息挖掘系统的关键技术。
2关键技术概述
本章将介绍电子邮件信息挖掘系统中应用的关键技术,并通过对比相似技术选择该系统中应用到的关键算法和开发技术。
2.1系统开发环境的选择
在当下成熟的PC客户端程序开发中,基于windows操作系统的开发环境有多种选择,其中开发语言有C、C++、C#、JAVA等,开发平台有微软公司的VisualStudio、诺基亚公司的QtCreator[11]、Genuitec公司的MyEclipse等。
这些开发环境各有优劣,本节将从系统的开发特性方面对开发语言和开发平台进行选择。
2.1.1开发语言的选择
开发语言在大方向上有两个方面的选择:
C方向和JAVA方向。
从系统的开发特性方面看,本系统的主要功能是数据挖掘,因为大量的数据处理要求需要对内存进行实时的控制和分配,在这一方面,C语言可以实现,而JAVA不能对内存进行人为分配,所以必须选择C语言方向。
那么在C、C++、C#里面应该如何选择?
C是纯面向过程的语言,重点在算法和数据结构;
而C++是面向对象和过程的语言,它在C的基础上拓展了面向对象设计的内容,如封装、继承、多态等特性,大大加快了开发速度;
C#则是在语法上借鉴了java和c的混合体是解释型的语言,没有指针。
而本系统的重点在于利用指针大量的控制内存,并且要求较高的开发速度。
综合比较后,本人决定选择C++作为本系统的开发语言。
2.1.2开发平台的选择
开发平台则需要在开发语言的基础上进一步选择。
因为选择了C++语言,那么MyEclipse开发平台被排除,剩下VisualStudio和QtCreator两种开发工具的选择。
VisualStudio和Qt都是基于C++的开发框架,两者在应用程序开发上都有自己优点,现在针对本系统的要求来比较两者的优劣,Qt的架构如图21所示:
图21Qt架构图
Figure21Qtarchitecturediagram
1.VisualStudio只适用于Windows系统,而Qt有优秀的跨平台特性,适合Windows、Linux、UNIX、MacOS、HP-UX和SunOS等系统。
2.在底层开发方面,Qt和VisualStudio都提供了C++的原生库以及丰富的扩展库,特别Qt提供了基于模版的容器库、I/O读取库、数据库操作库、文件读取库等。
Qt对C++的库进一步封装,为开发人员提供了丰富简单的操作库。
3.在UI界面设计方面,Qt同样提供了大量的UI界面设计元素,并支持2D/3D图形渲染,支持OpenGL开发,Qt设计出来的界面清晰、轻便、有良好的用户体验及跨平台性。
与此同时,Qt提供了信号槽机制,为各个组件之间的通信提供了良好的保障。
4.在开发技术支持上,Qt相对VisualStudio提供了大量的开发文档,并且将这些文档集成到了开发工具中,便于开发人员随时查询问题,有利于开发人员提高自己的开发速度。
5.在调试方面,Qt相比VisualStudio调试更繁琐,在DEBUG方面有一定的限制,要花费更多的调试时间。
综合比较后,本人决定选择QtCreator作为本系统的开发平台。
2.2复杂网络分析方法的相关理论和技术应用
二十世纪,科学研究的特点是分析,人类关注如何将研究对象分解,揭开对象的细节,了解是什么元素或部件组成了对象,却忽视了这些元素是如何组合成对象。
而在二十一世纪,系统成为新的研究对象,科学家们开始研究元素如何组合系统的问题,而一切系统的基础结构都是网络[12],复杂系统的结构就是复杂网络[13]。
为了研究电子邮件系统中电子邮件、人以及其他事物之间的关系,我们需要构建电子邮件网络来对整个系统进行信息挖掘。
本节将介绍复杂网络的基本概念及其分析方法在电子邮件网络中的应用。
2.2.1复杂网络简介
复杂网络是构成复杂系统的基本结构,自然界中存在的大量复杂系统都可以通过形形色色的网络加以描述[14][15][16],一个典型的网络是由许多节点与连接两个节点之间的边组成,其中节点用来代表真实系统中不同的个体,而边则用来表示个体之间的关系[17],通常是当两个节点之间具有某种特定的关系时连一条边,反之则不连边.有边相连的两个节点在网络中被看作是相邻的[18]。
例如,神经系统可以看作是大量神经细胞通过神经纤维相互连接形成的网络[19]、计算机网络可以看作是自主工作的计算机通过通信介质如光缆、双绞线、同轴电缆等相互连接形成的网络[20],类似的还有电力网络[21]、交通网络[22]等等。
随着复杂网络研究的快速发展,涉及到的研究对象和方法也越来越多,在经过各方面的研究和探索后,发现近期的一些著作中的研究方法可适用于电子邮件网络,它们分别是:
xx教授的论文集中讨论了民航网络建网模型[23],S.Fortunato的著作讨论了在图中进行社区划分的方法[24],周涛等人的研究中探索了复杂网络上的传播动力学[25],L.Lü
和T.Zhou两人在PhysicaA上发表了关于复杂网络中的链接预测方法[26],R.Agrawal和R.Srikant于1994年提出的为布尔型关联规则挖掘频繁项集的Apriori算法[27]等等。
2.2.2复杂网络中民航网络建模方法的应用
建模是指为了描述系统的因果关系或相互关系而对系统做出的一种抽象。
建模是研究系统的重要手段和前提,实现建模的方法也有很多:
可以通过对系统本身运动规律的分析、根据事物的机理来建模、也可以通过对系统的实验或统计数据的处理、还可以根据对系统已有的知识和经验来建模。
林在他的论文中提出了一种民航网络的建模方法,定义了一系列的数据处理流程和完整的数据格式来存储整个民航网络的信息,具体方法如下:
1.第一层通过对旅客的PNR(团体订票)信息数据源进行初步处理,解析出基础事实信息,定义出三张表:
Passenger,TravelRecord,DetailRelation,分别记录旅客基本信息,旅行信息,旅行详细信息,作为基础事实层。
2.第二层通过对第一层进行抽象化,过滤旅客的事实信息并对旅行的行为信息进行一些指标的统计,对旅客个人的统计有:
出行次数、出行里数、最频繁到达地等,对旅客关系的统计有:
共同出行次数、共同出行里数等,定义出两张表:
SocietyNode,SocietyRelation。
这一层称为社会网络层。
3.第三层通过对第二层的进一步抽象,完全过滤旅客的事实数据,形成节点、边,并设计一系列的复杂网络指标的统计,包括两张表:
Node,Edge。
这一层成为拓扑网络层。
该建模方法能完整的记录民航网络的事实信息,并针对网络有大量的指标统计,统计的指标可用于其他的分析方法。
借鉴该建模方法可以设计出符合电子邮件网络的建模方法,具体的处理流程及设计将在第五章系统的详细设计中说明。
2.2.3复杂网络社区划分算法的选择
随着研究的深入,人们发现许多网络中都有一个共同性质:
社区结构。
社区是指在网络中的“群”或“团”,每个社区内的节点之间连接非常紧密,而社区之间的连接相对稀疏,如图所示,图中的网络包含两个社区,分别对应图中的两个虚线圆圈包围的部分。
传统的社区划分算法有如下:
1.Kernighan-lin社区划分算法[28]是一种试探优化法,它基于贪婪算法原理将网络划分为两个规模已知的社区,其基本思想是为网络的划分引进一个增益函数Q,Q定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子邮件信息挖掘系统的设计与实现 软件工程 外文翻译 电子邮件 信息 挖掘 系统 设计 实现 外文 翻译