电子邮件信息挖掘系统的设计与实现.doc_第1页
电子邮件信息挖掘系统的设计与实现.doc_第2页
电子邮件信息挖掘系统的设计与实现.doc_第3页
电子邮件信息挖掘系统的设计与实现.doc_第4页
电子邮件信息挖掘系统的设计与实现.doc_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京交通大学专业硕士学位论文 ABSTRACT电子邮件信息挖掘系统的设计与实现题目要不要换成:基于复杂网络的电子邮件信息挖掘系统的设计与实现The Design and Implementation of E-mail Information Mining System中文摘要随着数据量的增大,传统的人工邮件分析方法已经无法满足企业的要求。某企业为了提高企业员工的工作效率,深度挖掘电子邮件中的隐藏信息,增加邮件分析过程中信息的针对性、准确性和快速性,决定使用信息化手段来适应发展。以此为背景,本系统为该企业提供了关键性解决方案,本文论述了该系统的设计与实现。论文首先论述了项目背景,对比了国内外研究现状,在对项目的核心问题分析后确定了项目的研究目标。然后根据电子邮件信息挖掘过程中用户需要解决的问题得到系统的业务需求,进一步提取出功能需求和性能需求。在需求分析的基础上,对系统的总体架构和功能模块进行了划分。基于Qt开发平台,结合复杂网络分析方法的应用,本系统实现了电子邮件网络构建、事件发现、邮件扩散过程建模频繁模式发现、社区划分等功能。最后采用Qt丰富的视图设计,将以上功能模块以可视化的方式展示出来,满足了与用户形象交互的需求。本人独立完成了以下工作:系统研究目标的确定;系统的需求分析和系统边界的确定;系统的架构设计、流程设计及数据库设计;系统所有功能模块的设计与实现;系统的功能测试和性能测试。目前,本系统已经在该企业上线使用,大大降低了员工的工作量,得到了用户的积极反馈,对该企业的工作效率和准确率有明显的提高,有力的推动了该企业的信息化建设。关键词:电子邮件;信息挖掘;复杂网络;Qt分类号:TP311.5ABSTRACTWith the increasing amount of data, the traditional manual analysis method of email has been unable to meet the requirements of enterprises. In order to improve the employees work efficiency, mine the hidden information in the email deeply and increase the pertinence, accuracy and timing, the enterprises decided to use information technology to adapt to the environment. Based on this background, the system provides the key solutions for the enterprise and this paper describes the design and implementation of the system.After discussing the background of the project, with the comparison between domestic and foreign research at present situation, this paper determines the research target of the project on the analysis of the core problem. According to the users needs to solve the problem during the email information mining process, we extracted further function requirements and performance requirements. On the basis of the requirement analysis, the overall system architecture and function modules are divided. Based on the Qt development platform, combined with the application of complex network analysis method, this system has realized the function of email network construction, event detection, email diffusion process modeling, frequent pattern detection, community dividing and so on. Finally, we design the Qt view to meet user needs to interact with the interface. I independently completed the following work : determining the system research goal, analyzing the requirements and boundary of the system, architecture design, system process design, database design, realization of all functional modules, the function test and performance test.At present, the system has been used in the enterprise. With positive feedback from the users, the system, that greatly reduce the work of the staff and improve the works efficiency and accuracy, effectively promote the informatization construction of the enterprise.KEYWORDS:Email; Information mining; Complex network; QtCLASSNO:TP311.5北京交通大学专业硕士学位论文 Error! No text of specified style in document.目录中文摘要iiiABSTRACTiv1引言41.1项目背景41.2国内外研究现状51.3研究目标51.4个人主要工作61.5论文组织结构71.6本章小结72关键技术概述82.1系统开发环境的选择82.1.1开发语言的选择82.1.2开发平台的选择82.2复杂网络分析方法的相关理论和技术应用92.2.1复杂网络简介102.2.2复杂网络中民航网络建模方法的应用102.2.3复杂网络社区划分算法的选择112.2.4Apriori频繁项集算法的应用112.2.5邮件扩散过程建模方法的介绍122.2.6本章小结123系统需求分析133.1系统用户识别133.2系统功能性需求分析153.2.1数据库配置用例分析153.2.2数据预处理用例分析163.2.3电子邮件信息挖掘用例分析173.2.4数据模型配置用例分析173.2.5软件参数配置用例分析183.2.6邮件网络UI展示用例分析193.2.7频繁模式发现信息展示用例分析203.2.8社区划分UI展示用例分析213.2.9邮件扩散UI展示用例分析213.3系统非功能性需求分析223.4本章小结234系统概要设计244.1系统架构设计244.2系统功能结构设计264.3数据库设计284.3.1数据库选择284.3.2E-R图设计284.3.3数据库表设计294.4开发与运行环境354.4.1开发环境配置354.4.2运行环境配置364.5本章小结365电子邮件信息挖掘算法模型设计375.1电子邮件网络模型设计375.1.1基本概念375.1.2设计思路375.2事件发现模型设计385.2.1基本概念385.2.2设计思路395.2.3实验结果展示415.3邮件扩散过程模型设计415.3.1基本概念425.3.2设计思路425.3.3实验结果展示435.4频繁模式发现模型设计445.4.1基本概念445.4.2设计思路455.4.3实验结果展示475.5本章小结476系统详细设计及实现496.1网络构建功能模块的设计与实现496.1.1类设计496.1.2功能流程实现516.2事件发现功能模块的设计与实现526.2.1类定设计526.2.2功能流程实现536.3频繁模式发现功能模块的设计与实现546.3.1类定设计546.3.2功能流程实现566.4邮件扩散UI展示功能模块的设计与实现576.4.1类定设计576.4.2功能流程实现596.5界面展示606.5.1系统进入界面606.5.2数据库配置界面616.5.3网络构建UI展示界面616.5.4邮件扩散UI展示界面626.5.5频繁模式发现UI展示界面636.6本章小结637测试647.1功能测试647.2性能测试677.3本章小结688结论698.1总结698.2展望69参考文献71作者简历及攻读硕士专业学位期间取得的研究成果73独创性声明74学位论文数据集751 引言本章将介绍电子邮件信息挖掘系统的项目背景、国内外研究现状、研究目标、个人主要工作以及论文组织结构。1.1 项目背景随着第一段写传统对邮件的信息挖掘方法及其中存在的问题。信息技术的高速发展,使用电子邮箱的人越来越多,那么电子邮件也随着时间成几何似的增长。伴随着电子邮件数量逐步增多,电子邮件的种类也随着增多,例如有:广告邮件、垃圾邮件、工作邮件、生活邮件等。传统的邮件信息挖掘方法是通过人工阅读的方法,凭着人的判断能力对邮件进行阅读,然后逐一对邮件进行分类并发现信息。但是当电子邮件数量到达万级别时,传统的邮件信息挖掘方法存在以下几个问题:1. 个人工作量大,工作效率低,信息挖掘能力弱。当电子邮件数量到达万级时,处理万的电子邮件需要的处理时间极长,人工处理效率较低。2. 处理速度相比计算机较慢,不能及时的发现信息和反馈信息。当电子邮件数量到达万级时,人工处理的速度过慢,不能及时的发现并反馈邮件中的信息,时效性太低。3. 信息挖掘的差错率高。由于人的阅读能力和知识范围有限、阅读疲劳,会错误理解、遗失邮件信息,存在一定的差错。人工接下来写利用计算机进行信息挖掘的优点。邮件处理方法不仅浪费人力物力财力,同时还容易出现错误。为了对万级的电子邮件数据进行高效、准确、快速的分析,某企业提出了基于电子邮件进行信息挖掘的需求1。利用计算机处理电子邮件有以下三点好处:1. 针对性:有效的邮件信息才有价值,可利用计算机对电子邮件进行垃圾邮件进行过滤,为人工处理提供更精准的目标。2. 时效性:邮件信息的时效性非常重要,当邮件到达万级时,可利用计算机的快速计算能力对邮件进行信息挖掘,及时的发现并反馈信息。3. 准确性:在加强时效性的同时,还需加强数据的质量,利用计算机处理可避免遗漏重要信息和信息内容的不准确带来的误差。由此可见总结:需要开发一款软件。,电子邮件的信息挖掘可以充分运用信息化手段和现代化方式,对邮件信息进行全方位挖掘,不但提升了工作效率,而且加快了信息获取速度、保证了邮件信息的时效性、提高了邮件内容的准确性2,还能挖掘出一些从表面、从单封邮件无法获取的信息。就此,在导师的帮助和指导下,本文将在电子邮件中的信息挖掘领域中进行技术的尝试和探索,开发电子邮件信息挖掘系统。1.2 国内外研究现状随着描述国内外基于复杂网络的电子邮件研究。信息化科技的普及,电子邮件的数量也成几何似的增长,这必然会引起海量电子邮件数据分析的需求。为了提高人工分析电子邮件数据效率,客观上要求提高分析员的工作效率,而计算机的超快计算能力和强大的数据库开发能力,从客观上为数据分析提供了动力与存储功能。事实证明,计算机在数据挖掘领域的应用已经有很多的成功例子3,能使数据管理更现代化、数据计算更智能化、减少人工分析的工作量,使其变得更具有条理性、科学性,为电子邮件的分析与挖掘做出了巨大的贡献。针对电子邮件中的信息挖掘,目前国内外主要有以下几个方面的探索介绍基于复杂网络的对电子邮件网络相关的研究:1. 基于复杂网络的邮件病毒传播模型4的研究,该研究从用户的主观与客观等多种角度研究了有效控制病毒在网络中快速传播的方式,通过对实际生活中某些参数的控制,能有效遏制邮件病毒在网络中的传播。2. 复杂网络性质探讨及在垃圾邮件过滤中的运用5,该研究论证了了节点分类的方法对垃圾邮件过滤的有效性,提出了一种有效的垃圾邮件过滤方法。3. 基于主题及核心人物的邮件网络社区发现研究6,该研究提供了一种针对电子邮件网络的社区发现解决方案和核心人物发现的解决方案。4. Email社会网络的社群挖掘和分析算法研究7,该研究针对Enron数据集提出了一种社群挖掘和成员重要性评价的算法模型,并验证了其准确性。5. The Enron corpus: A new dataset for email classification research8,该论文介绍了安然电子邮件数据集,并分析并验证该数据集在邮件聚类研究上的适用性。6. Personal Email Networks: An Effective Anti-Spam Tool9,该论文提供了一种自动化图论的方法来识别用户的信任的朋友网络,从邮件中提取出跟用户关系紧密的用户群体。事实证明结论,这些研究只是从各个不同的方面对电子邮件网络进行一定的分析,还没有一个成型的基于复杂网络分析方法的电子邮件信息挖掘系统,复杂网络分析方法的应用还远远不够。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 本章小结本章是论文的引言,介绍了项目的背景、国内外研究现状、研究目标以及个人的主要工作。下一章将重点介绍电子邮件信息挖掘系统的关键技术。70北京交通大学专业硕士学位论文 Error! No text of specified style in document.2 关键技术概述本章将介绍电子邮件信息挖掘系统中应用的关键技术,并通过对比相似技术选择该系统中应用到的关键算法和开发技术。2.1 系统开发环境的选择在当下开发环境的选择成熟的PC客户端程序开发中,基于windows操作系统的开发环境有多种选择,其中开发语言有C、C+、C#、JAVA等,开发平台有微软公司的Visual Studio、诺基亚公司的Qt Creator11、Genuitec公司的MyEclipse等。这些开发环境各有优劣,本节将从系统的开发特性方面对开发语言和开发平台进行选择。2.1.1 开发语言的选择开发语言论文选择C还是JAVA在大方向上有两个方面的选择:C方向和JAVA方向。从系统的开发特性方面看,本系统的主要功能是数据挖掘,因为大量的数据处理要求需要对内存进行实时的控制和分配,在这一方面,C语言可以实现,而JAVA不能对内存进行人为分配,所以必须选择C语言方向。那么在对C、C+、C#如何选择C、C+、C#里面应该如何选择?C是纯面向过程的语言,重点在算法和数据结构;而C+是面向对象和过程的语言,它在C的基础上拓展了面向对象设计的内容,如封装、继承、多态等特性,大大加快了开发速度;C#则是在语法上借鉴了java和c的混合体是解释型的语言,没有指针。而本系统的重点在于利用指针大量的控制内存,并且要求较高的开发速度。综合比较后,本人决定选择C+作为本系统的开发语言。2.1.2 开发平台的选择开发平台开发平台的选择,主要针对VS和Qt的对比则需要在开发语言的基础上进一步选择。因为选择了C+语言,那么MyEclipse开发平台被排除,剩下Visual Studio和Qt Creator两种开发工具的选择。Visual Studio和Qt都是基于C+的开发框架,两者在应用程序开发上都有自己优点,现在针对本系统的要求来比较两者的优劣,Qt的架构如图 21所示:图 21 Qt架构图Figure 21 Qt architecture diagram1. Visual Studio只适用于Windows系统,而Qt有优秀的跨平台特性,适合Windows、Linux、UNIX、Mac OS、HP-UX和SunOS等系统。2. 在底层开发方面,Qt和Visual Studio都提供了C+的原生库以及丰富的扩展库,特别Qt提供了基于模版的容器库、I/O读取库、数据库操作库、文件读取库等。Qt对C+的库进一步封装,为开发人员提供了丰富简单的操作库。3. 在UI界面设计方面,Qt同样提供了大量的UI界面设计元素,并支持2D/3D图形渲染,支持OpenGL开发,Qt设计出来的界面清晰、轻便、有良好的用户体验及跨平台性。与此同时,Qt提供了信号槽机制,为各个组件之间的通信提供了良好的保障。4. 在开发技术支持上,Qt相对Visual Studio提供了大量的开发文档,并且将这些文档集成到了开发工具中,便于开发人员随时查询问题,有利于开发人员提高自己的开发速度。5. 在调试方面,Qt相比Visual Studio调试更繁琐,在DEBUG方面有一定的限制,要花费更多的调试时间。综合比较后,本人决定选择Qt Creator作为本系统的开发平台。2.2 复杂网络分析方法的相关理论和技术应用二十世纪讲述复杂网络的研究意义,科学研究的特点是分析,人类关注如何将研究对象分解,揭开对象的细节,了解是什么元素或部件组成了对象,却忽视了这些元素是如何组合成对象。而在二十一世纪,系统成为新的研究对象,科学家们开始研究元素如何组合系统的问题,而一切系统的基础结构都是网络12,复杂系统的结构就是复杂网络13。为了研究电子邮件系统中电子邮件、人以及其他事物之间的关系,我们需要构建电子邮件网络来对整个系统进行信息挖掘。本节将介绍复杂网络的基本概念及其分析方法在电子邮件网络中的应用。2.2.1 复杂网络简介复杂网络复杂网络介绍是构成复杂系统的基本结构,自然界中存在的大量复杂系统都可以通过形形色色的网络加以描述141516,一个典型的网络是由许多节点与连接两个节点之间的边组成,其中节点用来代表真实系统中不同的个体,而边则用来表示个体之间的关系17,通常是当两个节点之间具有某种特定的关系时连一条边,反之则不连边.有边相连的两个节点在网络中被看作是相邻的18。例如,神经系统可以看作是大量神经细胞通过神经纤维相互连接形成的网络19、计算机网络可以看作是自主工作的计算机通过通信介质如光缆、双绞线、同轴电缆等相互连接形成的网络20,类似的还有电力网络21、交通网络22等等。随着复杂网络研究复杂网络的研究现状的快速发展,涉及到的研究对象和方法也越来越多,在经过各方面的研究和探索后,发现近期的一些著作中的研究方法可适用于电子邮件网络,它们分别是:林友芳教授的论文集中讨论了民航网络建网模型23,S.Fortunato的著作讨论了在图中进行社区划分的方法24,周涛等人的研究中探索了复杂网络上的传播动力学25,L.L和T.Zhou两人在Physica A上发表了关于复杂网络中的链接预测方法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 复杂网络社区划分算法的选择随着研究的深入社区划分算法的选择:K-L,LPA,LFM,人们发现许多网络中都有一个共同性质:社区结构。社区是指在网络中的“群”或“团”,每个社区内的节点之间连接非常紧密,而社区之间的连接相对稀疏,如图所示,图中的网络包含两个社区,分别对应图中的两个虚线圆圈包围的部分。传统的社区划分算法有如下:1. Kernighan-lin社区划分算法28是一种试探优化法,它基于贪婪算法原理将网络划分为两个规模已知的社区,其基本思想是为网络的划分引进一个增益函数Q,Q定义为两个社区内部的边数减去连接两个社区之间的边数,然后寻找使Q值最大的划分方法。KernighanLin算法最大的缺陷是要求事先知道两个社区的规模,否则,就很可能不会得到正确的结果,这个缺陷使得它在实际网络分析中难以应用。所以不适合本系统。2. LPA(标签传播算法)社区划分算法29是一种基于图的半监督学习方法,其基本思路是用已标记节点的标签信息去预测未标记节点的标签信息,利用样本间的关系建立关系完全图模型,在完全图中,节点包括已标注和未标注数据,其边表示两个节点的相似度,节点的标签按相似度传递给其他节点。但是该算法最大的缺点是随机性特别强,若该网络初始状态不带任何标签信息则每次社区划分的结果差异性很大,所以也不适合本系统。3. LFM算法30是一种优化适应度函数的层次重叠社区发现算法,通过计算适应度将节点逐渐划入社区内,直到网络中所有节点都找到所属社区为止。LFM是一个精度和效率非常高的算法,重点是能发现重叠点且能给网络结构分层次,而且适合大规模的网络社区划分。由于本系统的数据量大,而且算法精度要求较高,所以本系统可采用该算法。2.2.4 Apriori频繁项集算法的应用Apriori算法Apriori频繁项集算法的介绍是一种最有影响的挖掘关联规则的频繁项集算法,现已广泛的应用到商业、金融、互联网安全等多个领域,其核心思想是:第一步找出所有项集;第二步找出项集出现的百分比;第三步将满足最小支持度和最小可信度的项集提取出来,由项集产生强关联规则;重复第二步直到没有新的规则产生。要把Apriori算法应用到电子邮件网络中找出关联规则,关键的重点是怎样定义出有实际关联意义的项集,然后找出关联项集如何科学的解释,这些问题本论文将在第五章系统的详细设计中说明。2.2.5 邮件扩散过程建模方法的介绍邮件扩散过程建模我个人的疑问,邮件扩散要不要在这里写。邮件扩散写的内容如下:1. 事件发现2. 邮件扩散建模3. 数据存储主要没有涉及到经典的建模算法,这个地方要不要介绍。是指建立特定的模型描述邮件的扩散过程,而邮件在扩散中以多种形式存在,可能是发送、转发、抄送、密送、或者修改后再发送,怎样将不同的扩散过程分开并找出这些扩散过程是建模的难题。就此问题本人经过研究和探索,得出一套解决方案:1. 找出描述相同内容的邮件,即事件发现建模。2. 提出一套数据处理流程将描述同一内容的邮件进行处理。3. 将结果存储在特定数据格式的表中。就建模每一步的问题提出相应的解决方案将在第五章系统的详细设计中说明。2.2.6 本章小结本章共包含两个部分,第一个部分主要介绍了系统开发环境的选择,第二部分则主要介绍了系统所涉及到的算法的选择与应用,通过阅读本章,读者对本论文应用的关键技术有初步了解,接下来第三章将会详细介绍系统的需求分析。3 系统需求分析本章主要介绍了电子邮件信息挖掘系统的需求分析,首先根据功能对系统的用户进行识别,然后根据功能的不同对每个功能进行用例分析和业务流程分析,最后再提出对系统的非功能性需求,确定系统的其他一些约束。通过对系统的需求分析,了解和挖掘系统的所有功能需求,确定需求边界后,为系统的设计和实现提供基础性保障。3.1 系统用户识别电子邮件信息挖掘系统的主要工程是对电子邮件中存在的信息进行深度挖掘及对挖掘结果进行可视化展示,为邮件分析人员决策提供数据支持。使用本系统,用户希望通过对电子邮件进行解析并通过构建网络、设计合适模型等手段,建立并合理的展示用户之间的关系。在建立关系后,系统依据社区划分算法对电子邮件网络进行用户群的划分,通过合理的展示用户群的分布为用户提供更精确的目标人群。同时,应用Apriori频繁项集算法对电子邮件网络中的用户进行关联关系的发现,挖掘一些用户之间的发送、收取邮件模式,附加时间特性后能挖掘特定的异常模式。最后,通过对邮件在用户之间的扩散过程建模和展示,能为用户提供一些关键节点、关键路径以及一些缺失路径的检测。因此系统用户为:邮件分析人员和邮件决策人员。邮件分析人员:主要职责是配置数据库信息和软件使用参数后,通过导入eml邮件数据对电子邮件网络进行构建网络、邮件用户关联关系发现、社区划分、邮件扩散过程建模,保存算法结果到相应的数据库表中,为邮件决策人员提供数据基础。邮件决策人员:主要职责是分析当前挖掘到的电子邮件网络信息,通过邮件网络的UI展示、邮件用户关联关系的信息展示、社区划分结果的UI展示、邮件扩散过程的UI展示找到关键目标并进一步分析,挖掘出有价值的分析结果。通过对系统的分析,系统中涉及到的用例如下:邮件分析人员涉及的用例如图 31所示,用例包括:数据库配置,数据预处理,电子邮件信息挖掘三种用例。图 31 邮件分析人员用例图Figure 31 Mail analysts use case diagram邮件决策人员涉及的用例如图 32所示,用例包括:数据模型配置,软件参数配置,邮件网络UI展示,频繁模式发现信息展示,社区划分UI展示,邮件扩散过程UI展示六种用例。图 32 邮件决策人员用例图Figure 32 Mail managers use case diagram3.2 系统功能性需求分析本节开始分析上节的用例,通过推导用例来得出系统的功能性需求。3.2.1 数据库配置用例分析数据库配置为整个电子邮件信息挖掘系统提供数据库的连接信息,包括地址、用户名、密码等等,其用例分析如表格 31所示:表格 31 数据库配置用例分析Table 31 Case analysis of the database configuration用例名:数据库配置用例ID:UseCase01主要业务参与者:邮件分析人员描述:本用例描述数据库配置过程,通过输入连接数据库需要的信息测试数据库是否可连接,为系统提供数据存储保障。前置条件:数据库服务器已启动。后置条件:系统与数据库处于连接状态。触发条件:点击数据库配置按钮。基本流程:1. 用户点击数据库配置按钮2. 系统弹出数据库配置界面3. 用户输入数据库地址、数据库名称、数据库类型、用户名、密码、端口4. 用户点击“测试连接”按钮5. 测试连接数据库成功,用户点击“确定”按钮6. 系统回到主界面异常流程:如果用户输入的信息有误,则系统提示数据库无法连接,要求用户重新输入信息。结束:数据库连接成功。实现约束和说明:1. 数据库必须为MySQL2. 数据库连接用户有建表等权限3.2.2 数据预处理用例分析数据预处理包括两个业务过程,第一个业务过程是导入eml文件,第二个业务过程是对eml文件进行解析,并过滤一些内容缺失、文件损坏的eml文件,将邮件信息以特定的数据格式再写入数据库,其用例分析如表格 32所示:表格 32 数据预处理用例分析Table 32 Case analysis of data pretreatment用例名:数据预处理用例ID:UseCase02主要业务参与者:邮件分析人员描述:本用例描述数据预处理过程,通过导入eml文件并解析eml文件,将邮件信息以特定的数据格式写入数据库,为系统的信息挖掘功能提供数据基础。前置条件:提供原始的所有完整eml文件。后置条件:解析之后得到的数据按邮件、邮箱账户、邮箱账户到邮箱账户发送关系数据存储到数据库中。触发条件:点击数据导入按钮。基本流程:1. 用户点击数据导入按钮2. 系统弹出数据导入界面,可选择导入文件或文件夹3. 用户选择某一数据源,并点击“确定”按钮4. 系统开始解析eml文件5. 文件解析结束,系统返回主界面异常流程:1. 如果用户选择的数据源无法解析,则系统提示请选择可解析的eml文件2. 如果用户选择的eml文件内容为空,则系统提示数据源为空,请重新选择数据源结束:eml文件解析完成。实现约束和说明:1. 数据源格式必须为eml文件2. 系统与数据库已连接3.2.3 电子邮件信息挖掘用例分析电子邮件信息挖掘是系统的主要业务过程,该业务过程包括一系列的信息挖掘过程:网络构建、频繁模式发现、社区划分以及邮件扩散,其中邮件扩散又包含两个子流程事件发现和扩散过程建模,其用例分析如表格 33所示:表格 33 电子邮件信息挖掘用例分析Table 33 Case analysis of e-mail information mining用例名:电子邮件信息挖掘用例分析用例ID:UseCase03主要业务参与者:邮件分析人员描述:本用例描述电子邮件信息挖掘过程,在邮件解析的数据基础上,通过应用网络构建、频繁模式发现、社区划分以及邮件扩散等复杂网络分析方法,挖掘出电子邮件中的各类信息。前置条件:数据库中特定格式的数据源。后置条件:信息挖掘后得到的结果存储到MySQL数据库中。触发条件:eml文件解析完成。基本流程:1. eml文件解析完成后,系统自动调用电子邮件信息挖掘功能模块2. 首先调用网络构建算法,依据eml解析数据对电子邮件网络建网,得出建网结果并存入数据库3. 调用频繁模式发现算法,对邮件网络中的账户进行关联关系发现,得出频繁模式发现结果并存入数据库4. 调用社区划分算法,依据建网结果对电子邮件网络进行社区划分,得出结果并存入数据库5. 调用邮件扩散建模算法,依据建网结果,第一步进行事件发现,第二步进行扩散过程建模,最后得出挖掘结果并存入数据库6. 电子邮件信息挖掘业务过程结束,系统显示“信息挖掘完成”异常流程:如果解析出的数据为空,则系统提示数据源为空,请重新选定eml文件。结束:信息挖掘完成。实现约束和说明:1. eml文件解析成特定格式的数据源并存储在数据库中2. 系统与数据库已连接3.2.4 数据模型配置用例分析数据模型配置是邮件决策人员在查看信息挖掘结果前必须执行的一个业务过程。邮件决策人员只有选定了数据模型,才能对该模型进行形象化展示,其用例分析如表格 34所示:表格 34 数据模型匹配用例分析Table 34 Case analysis of data model matching用例名:数据模型配置用例分析用例ID:UseCase04主要业务参与者:邮件决策人员描述:本用例描述数据模型配置过程,只有在对电子邮件信息挖掘完后,才能形成一套数据模型,一个数据源对应一套数据模型。前置条件:电子邮件信息挖掘完成形成一套数据模型。后置条件:选定数据模型。触发条件:点击“数据模型配置”按钮。基本流程:1. 用户点击“数据模型配置”按钮,系统弹出模型列表2. 模型列表中用户可对模型进行选定、删除、修改操作,也可退出3. 用户选定某一模型,点击“确定”按钮4. 选定模型成功,系统返回主界面异常流程:1. 如果模型列表为空,则系统提示请选择数据源并进行电子邮件信息挖掘2. 如果选定模型后,数据库连接不上,则系统提示请配置数据库信息结束:选定模型完成。实现约束和说明:1. 已有电子邮件信息挖掘结果存储在数据库中2. 系统与数据库已连接3.2.5 软件参数配置用例分析软件参数配置是邮件决策人员在查看信息挖掘结果前可选的一个业务过程。邮件决策人员可通过软件参数配置对系统语言进行选择,对UI展示中的节点和边的大小、颜色、形状、自适应性进行调节,对事件发现的阈值进行设置,若不进行次业务过程则系统采取默认配置,其用例分析如表格 35所示:表格 35 软件参数配置用例分析Table 35 Case analysis of software configuration用例名:软件参数配置用例分析用例ID:UseCase05主要业务参与者:邮件决策人员描述:本用例描述软件参数配置过程,该过程是个可选过程,用户可对系统语言、UI展示界面等进行设置。前置条件:系统无任何子窗口打开。后置条件:软件参数配置完成。触发条件:点击“软件参数配置”按钮。基本流程:1. 用户点击“软件参数配置”按钮,系统弹出设置列表2. 模型列表中用户可选择系统语言,可对UI展示中的节点和边进行调节,可对事件发现的阈值进行设置3. 用户设置完成后,点击“确定”按钮4. 参数配置成功,系统返回主界面异常流程:1. 如果节点大小设置超过50,则系统提示节点大小设置太大2. 如果节点、边的颜色不能设置成白色,则系统提示颜色不能为白色3. 如果事件发现阈值设置小于等于0或者大于等于1,则系统提示事件发现阈值设置不合理结束:参数配置完成。实现约束和说明:无。3.2.6 邮件网络UI展示用例分析邮件网络UI展示是邮件决策人员在对建网结果可视化时使用的一个业务过程。邮件决策人员可通过邮件网络UI展示功能观察一定数量级的节点分布情况,同时在网络可视化方面可对节点属性展示、关系强度展示等等,其用例分析如表格 36所示:表格 36 邮件网络UI展示用例分析Table 36 Case analysis of mail network UI display用例名:邮件网络UI展示用例分析用例ID:UseCase06主要业务参与者:邮件决策人员描述:本用例描述邮件网络UI展示业务过程,该过程是个可选过程,用户可通过邮件网络UI展示功能观察一定数量级的节点分布情况,同时可对节点属性展示、节点动态扩展展示、关系强度展示、必要的交互功能(节点拖拽、节点删除等)、合理的布局(拉力布局、圆形布局等)。前置条件:选定数据模型。后置条件:邮件网络的UI展示。触发条件:点击“邮件网络UI展示”按钮。基本流程:1. 用户点击“邮件网络UI展示”按钮,系统弹出邮件网络UI展示界面2. 界面上对网络进行布局,用户可查看节点属性3. 可对选取的节点进行动态扩展,搜寻并展现其在网络中的邻居节点以及他们之间的关系。4. 以边的粗细描述节点间的关系强度,用户也可对边的样式(线型、线宽和颜色)进行配置。5. 为用户提供成熟的节点布局方案,如拉力布局,圆形布局方案等对节点进行合理的全局或局部布局。6. 用户可使用节点拖拽、节点扩展、节点及边的删除、布局结果保存等丰富的交互功能。7. 用户点击关闭窗口可将界面关闭,返回系统主界面。异常流程:1. 如果数据库断开连接,则系统提示数据库无法连接请重新连接数据库2. 如果数据模型未选定,则系统提示请选定数据模型3. 如果未选定节点,点击扩展按钮,则系统提示请选定节点4. 如果未选定节点或边,点击删除按钮,则系统提示请选定节点或边结束:邮件网络的UI展示界面完成。实现约束和说明:1. 选定数据模型2. 系统与数据库处于连接状态3.2.7 频繁模式发现信息展示用例分析频繁模式发现信息展示是邮件决策人员在对频繁模式发现结果分析时用于展示结果的一个业务过程。系统计算频繁项集,并显示在界面上,供用户查看。用户可以查看频繁项集,并对频繁模式的相关参数进行配置,其用例分析如表格 37所示:表格 37 频繁模式发现信息展示用例分析Table 37 Case analysis of frequent pattern discovery information display用例名:频繁模式发现信息展示用例分析用例ID:UseCase07主要业务参与者:邮件决策人员描述:本用例描述频繁模式发现信息展示业务过程,该过程是个可选过程,用户可通过此过程观察关于收件人、发件人、邮件传输性质(转发,回复,群发,抄送等)、时间、附件内容等的频繁项集。用户还可以可以根据频繁项集和其应用背景来得到更有价值的信息。前置条件:选定数据模型。后置条件:频繁模式发现信息展示。触发条件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论