Skip to content

Aries-orz/Mails-Mining

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1.引言

1.1 编写目的

本系统编写的目的是为了对Jeb Bush的25万封邮件进行数据挖掘,并且对挖掘到的数据信息进行可视化,使得相关信息能够被人更加直观地接受。本系统的主要功能主要分为两个部分:基于邮件往来的人际关系网络的挖掘和展现和基于邮件内容的年度关键词的挖掘和展现。

1.2 运行环境

本系统主要采用了Python对邮件文本进行处理,挖掘出需要的信息,然后采用Web前端技术对挖掘出的信息进行可视化。

2.系统概述

2.1 数据挖掘

2.1.1 基于邮件往来的人际关系网络挖掘

通常一封完整的邮件一般由邮件头和邮件主体构成。其中邮件头包括寄信人、收信人、发送时间、抄送人以及邮件主题。而邮件主主体就是邮件的主要内容。一封邮件可以表示寄信人和收信人之间的一次联系。寄信人和收信人之间的邮件往来越多,表示他们联系越紧密。因此人际关系网络的挖掘可以从邮件头的寄信人和收信人字段入手。

小Bush的邮件的邮件头中,主要有From、Sent、To、Cc、Subject等字段,分别表示寄信人,收信时间,收信人,抄送人,邮件主题。为了对人际关系网络信息进行挖掘,需要将每封邮件的From、To、Cc三个字段提取出来。我们用节点和节点之间的连线组成的一张图来表示人际关系网络。从三个字段中提取出人物的姓名作为人际关系图的节点,用节点之间的连线,表示邮件往来。同时,用连线的宽度表示节点之间邮件往来的数量,即联系的紧密程度。

2.1.2 基于邮件内容的年度关键词挖掘

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。因此,我们采用TF-IDF算法对邮件文本的关键词进行提取。

首先,将每一封邮件的邮件头中的Subject字段信息提取出来。这个字段信息是对邮件内容的高度概括,因此将这个字段信息表示这封邮件是一种合理的处理方式。将提取出来的Subject字段信息组成一个新的文本,然后用TF-IDF算法对这个文本进行处理,以一年的邮件信息作为一个部分,提取出10个所占比重最高的词,作为这一年的关键词。

2.2 数据可视化

D3 的全称是(Data-Driven Documents),是一个用来做数据可视化的 JavaScript 的函数库。我们主要采用D3.js这个数据可视化的库来对挖掘出来的人际关系网络信息和邮件内容关键词信息进行可视化。

节点的大小表示该人物所收发邮件的总量多少,收发邮件越多,节点半径越大。节点之间连线的宽度表示两个节点之间邮件往来的频繁程度。当将鼠标移动到某一节点上,与之有邮件往来的节点会开始闪动,这些节点之间的连线开始显示出来。整个人际关系网络可以随着鼠标的拖动而移动。为了美观,我们挑选了最具代表性的一部分人物关系进行展示。

2.2.2 年度关键词可视化

我们采用文字云对年度关键词信息进行可视化,在对于每一年,页面左边列出了比重最大的10个关键词,每个词所占比重以及中文翻译。右边是对这些信息用文字云可视化的结果。文字云中的词越大,表明在这一年的邮件中所占比重越大,相应的也就越重要。这样我们就可以很直观地知道小Bush在这一年中关注的话题有哪些,以及哪些话题比较重要。效果如图2.4所示。一共有1999年到2006年这8个部分。

3.系统使用

为了方便演示,我们将展示系统搭建在网络服务器上。访问http://www.aries-orz.com/project2/即可查看演示系统的效果。页面中有人物关系和内容挖掘两个按钮,分别点击它们,可以选择查看人际关系网络可视化效果和年度关键词可视化效果。

About

Mining of Jeb Bush's Emails

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published