




已阅读5页,还剩183页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业论文(设计)册 学 院 软件学院 专 业 软件工程 班 级 学 生 指导教师 Xxx大学本科毕业论文(设计)任务书编 号: 论文(设计)题目: 基于“智能”电子邮件的社会性应用软件 学 院: 专业: 班级: 学生姓名: 学号: 指导教师: 职称: 1、 论文(设计)研究目标及主要任务 研究目标:对电子邮件进行扩展,开发一种具有“语义”的电子邮件(称为可操作电子邮件)。开发一个具有传统电子邮件客户端功能及在电子邮件社会网络中能实现自动应用功能的软件(可操作电子邮件智能体,OEA)。 主要任务:本课题需要开发基于“智能”电子邮件的应用软件。所谓“智能”电子邮件指的是:这种电子邮件中的内容能被机器所“理解”。基于这种电子邮件,显然可以实现“人机”应用和“机机”应用。2、 论文(设计)的主要内容 设计“智能”电子邮件格式。 设计基于“智能”电子邮件的应用软件。 如何实现传统电子邮件客户端的功能。 如何使用“智能”电子邮件实现远程关机、重启、注销等。 如何使用“智能”电子邮件实现电子邮件社会网络中的搜索引擎。 如何使用“智能”电子邮件实现邮件博客功能。 实现基于“智能”电子邮件的应用软件。3、 论文(设计)的基础条件及研究路线基础条件:本文的写作基础是在对普通电子邮件系统应用的设计理念有了一定了解以及对现有邮件客户端应用现状有了一定了解的基础上,将基于信任的电子邮件社会网络的智能应用引入到电子邮件客户端系统中,使人们的生活和工作更加便捷和有效。研究路线:通过研究电子邮件社会网络与智能应用之间的关系,发现一切智能应用都需要借助可信的电子邮件社会网络来传输相关信息以达到智能操控的目的,所以要添加智能应用必须首先解决智能电子邮件社会网络的构建,而要构建智能电子邮件社会网络必须满足两个条件:一是,要有信任节点;二是,要有路由算法。前者用来初始化路由表,后者用来在信任节点之间定时发送路由信息来搭建电子邮件社会网络。现在问题就很清楚了,研究如何确定信任节点和路由算法是关键。然后在其基础上,根据具体的应用设计相应的协议来实现具体的应用即可。4、 主要参考文献1 李文斌,钟宁,刘椿年.异步P2P网络的实现机制J.广西师范大学学报(自然科学版),2007,25(4):281-2852 包亮,潘金贵.邮件的XML表示的初步研究J.计算机研究与发展,2002,39(6):660-6663 王慧,罗军勇,寇晓蕤.基于OSPF协议报文的网络拓扑分析算法J.计算机工程,2008,34(6):103-1054 余雪勇,卞乃猛,唐家益.基于OSPF协议的快速动态路由算法研究J.重庆科技学院学报(自然科学版),2008,10(3):74-775 Karli Watson, Christian Nagel.C#入门经典(第3版)M.北京: 清华大学出版社, 2006.5.6 Moy J.OSPF Version 2S.RFC 2328, 19987 Klensin J.Simple Mail Transfer ProtocolS.RFC 5321, 20088 Gellens R.POP3 Extension MechanismS.RFC 2449, 19989 邱郁惠.系统分析师UML用例实战M,机械工业出版社,2010.1.110 用户界面风格参考:/ 11 电子邮件标准参考:/Protocols/rfc822/12 系统需求说明书参考:/process_assets/srs_template.doc5、 计划进度阶段起止日期熟悉XML、.net开发的相关资料2010.07.01-2010.08.01需求分析,撰写需求分析说明书2010.08.01-2010.09.01智能电子邮件设计与系统设计,撰写设计说明书2010.09.01-2010.10.01系统实现2010.10.01-2011.02.28系统测试2011.02.28-2011.03.31论文撰写与修改2011.04.01-2011.05.01论文答辩2011.05.03-2011.05.06熟悉XML、.net开发的相关资料2010.07.01-2010.08.01指 导 教师: 年 月 日教研室主任: 年 月 日河北师范大学本科生毕业论文(设计)开题报告书 软件学院 学院 软件工程 专业 2011 届学生姓名郑晓静论文(设计)题目基于“智能”电子邮件的社会性应用软件指导教师李文斌专业职称教授所属教研 室嵌入式研究方向人工智能 课题论证:电子邮件提供了一种“人人”(指用户与用户之间的交流)、“人机”(指人与智能体应用程序之间的交流)或“机机”(指智能体应用程序之间的交流)间的异步通信方式,在“人人”之间已被广泛采用,在“人机”或“机机”间也具有非常广阔的应用前景。电子邮件给人们带来了许多便利,但同时也出现了许多问题。在“人人”通信方面,存在垃圾邮件的问题、用户每天要花费很多时间处理邮件的问题、大量的邮件使人们难以理出其中的工作头绪乃至忘记重要事情的问题等。在基于邮件的“人机”或“机机”的应用方面,由于邮件不具有语义,且除主题、地址、及内容可自由编辑外,不具有任何可操作性,使实现这方面的自动应用非常困难。从而,在传统邮件功能的基础上,研究如何“升级”电子邮件,使之支持智能应用(人机、机机应用)便成为一大研究课题。我们将升级后的电子邮件称为“可操作电子邮件(Operable Email, OE)”,它是一种能被智能体所自动解析并理解“语义”的电子邮件,这种电子邮件不需要人为的处理。(下见附页一)进度计划:10年07月01日 10年08月01日 熟悉XML、.net开发相关资料;10年08月01日 10年09月01日 需求分析,撰写需求分析说明书;10年09月01日 10年10月01日 智能电子邮件设计与系统设计,撰写设计说明书;10年10月01日 11年02月28日 系统实现;11年02月28日 11年03月31日 系统测试;11年04月01日 11年05月01日 论文撰写与修改;11年05月03日 11年05月06日 论文答辩指导教师意见:指导教师签名: 年 月 日教研室意见: 教研室主任签名: 年 月 日附页一此外,作为协作和知识交换等的媒介,Email是一个与社会网络研究高度相关的领域。目前,电子邮件社会网络(Social Email Network,简称SEN)已引起研究人员的广泛关注。SEN中,每个节点为电子邮件地址,边或弧为两个节点间的信任关系。两节点间的信任关系可被定义为一个函数,其自变量为:两节点间通信的频繁程度、两节点间共同协作的成功率等。本项目旨在面向SEN,开发可操作电子邮件智能体(Operable Email Agent, OEA)。简单地说:该智能体首先具有传统电子邮件客户端的功能。此外,该智能体可建立、维护SEN;维护SEN上节点的共享资源;实现在SEN上资源的自动搜索响应。可实现SEN上任意两个节点间基于可操作电子邮件的自动通信。河北师范大学本科生毕业论文(设计)文献综述“基于智能电子邮件的社会性应用软件”文献综述摘要: 本文首先综述了电子邮件系统的发展状况,列举了一些应用,介绍了电子邮件系统的工作原理;其次分析了智能电子邮件系统的功能模块和软件层次结构,同时分析了智能电子邮件系统的应用前景;最后就目前智能应用的发展趋势预测未来智能电子邮件系统的发展趋势。1前言电子邮件系统是一种基于Internet应用的一种集消息、文件等传输于一体的交流工具。随着社会的不断发展,电子邮件越来越受到广大消费者的重视,尤其是在企事业单位,基于电子邮件的交流更是频频发生。随着科技的不断进步,人们生活节奏变得更快,每天处理上百封的电子邮件(有的是垃圾邮件)不仅浪费时间,也会让人产生厌烦感。电子邮件通信不止是基于“人-人”的通信,还包括基于“人-机”或“机-机”的通信,就“人-人”的通信目前面临着繁杂电子邮件处理问题,那么“人-机”或“机-机”的研究就成为了当前的一大热点。本软件就是为了解决当前“人-人”通信的不足而发展的基于“人-机”与“机-机”的智能应用。2正文“智能”电子邮件系统故名词义是在普通电子邮件系统的基础上扩充了智能应用。下面我们首先介绍一些普通电子邮件的一些常识,然后重点介绍基于普通电子邮件的“智能”应用。普通电子邮件系统一般由客户端系统和服务器系统两部分组成。客户端为用户提供各种操作的界面,客户端可以是软件也可以是浏览器,所以构成C/S或B/S模式。服务器为注册该邮件服务的电子邮件账户提供一个文件夹,用来存储该账户的邮件信息,这里与客户端的不同是,服务器上只有新邮件,当然账户也可以通过设置命令,使在从服务器上接收邮件时保存邮件在服务器上,但是我们必须注意,每个账户在服务器上的空间是一定的。具体的客户端与服务器的数据交流见下图:图1 客户端与服务器数据交流 /sophia/blog/3420客户端与接收邮件服务器之间通过SMTP协议进行信息交流,图中SMTP邮件服务器开始用来接收客户端发送的邮件,并将邮件存储到服务器上等候发送,发送时该SMTP服务器作为客户端将邮件发送到相应的POP3服务器中,前面所介绍的过程是推的模式,后面客户端要想获得邮件必须自己与POP3服务器建立基于POP3协议,然后查看是否有新邮件,这个过程是以拉的模式进行的。“智能”应用即“人-机”或“机-机”应用。由于某些电子邮件不需要人为处理,只需要处理后的结果即可,比如:远程控制,有的时候甚至连结果都不需要知道,比如:电子邮件社会网络的构建。由于电子邮件在Internet上传输不受任何限制,所以基于它的应用是目前研发的一大方向,尤其是智能应用。这里的智能引用是基于电子邮件社会网络的智能应用,这个网络是根据彼此之间的信任关系和相应的协议建立起来的。信任关系的判定是通过分析账户收发邮件历史构建的,对于网络的维护就是基于路由算法,这里的协议是系统内部协议,基于这个协议,机器能阅读电子邮件,并根据电子邮件中命令做出响应。3“智能”模块的分析与设计目前智能技术发展很快,在IT界,物联网是未来最有潜力的方向之一。智慧的地球随着科技的发展将成为现实,电子邮件也不例外。智能电子邮件的发展在国外已经有相当市场,目前国内尚处于研究阶段。3.1“智能”模块的具体功能划分下面就本系统中涉及到的智能模块加以阐述: 电子邮件社会网络模块。它是本系统中唯一的无人干预的“机-机”应用。它是“智能”应用的基础,其他的模块都是基于这个逻辑网络来进行收发“智能”电子邮件的。它是由账户智能体定时交流路由信息构建和维护的。 远程控制模块。它是“人-机”应用的典型范例。用户通过编辑远程控制命令并将这一消息告诉本地智能体,本地智能体接收到后,将它封装成XML格式的电子邮件并发送到目标主机,目标主机智能体通过解析智能电子邮件得到命令,然后执行相应的操作,并将结果返回给发送者。 邮件博客模块。它是“人-机”应用的案例,但是这里较上面隐讳。这里的邮件博客其实也是离线博客,用户可以在本地编辑博文,其效果与在线博客没有任何区别。但是离线博客有在线博客没有的好处,首先,用户可以选择博文共享者;其次,评论都是基于实名制的评论,不会出现在线博客存在的乱评论问题;最后,可以离线编辑博文。 资源共享模块。基于P2P每个客户端又都是服务器,存储自己共享的文件,博客等信息,随着电子邮件社会网络的不断扩大整个系统的存储功能在不断增长,成本却没有变化,相对于邮件服务器,凸显其性价比。 信息搜索模块。基于电子邮件社会网络,用户可以设定搜索的阈值,这样可以在网络上一定范围内进行搜索,而不是就全网展开搜索,此外,用户还可以设定搜索信息有效的时间,这样可以防止信息的无限期蔓延和本地的堆积。在对智能模块的功能有个大概了解后,我们下面看一下他们之间的关系。3.2“智能”模块的层次结构“智能”模块层次结构如下图所示:图2 智能邮件模块层次结构图客户端界面模块管理其它所有模块,为所有智能模块提供一个与用户交互的接口。电子邮件社会网络位于其他智能模块之下,构成所有其他智能应用的基础。协议解析模块是一切智能应用的灵魂,基于这个协议我们构建电子邮件社会网络,使一切智能应用由理论变为实践,底层网络通信模块提供与其他客户端的交互,这个是所有电子邮件通信必备模块。最后说本次存储模块,该模块与所有的数据进行交互,用于数据分类、分块存储。4“智能”电子邮件的研究状况及前景因特网上,使用电子邮件作为通信工具的人越来越多。在全球范围内,不同用户之间的通信关系隐式地决定了一个庞大的复杂电子邮件网络。该网络中的每一个节点是一个邮件地址,节点间的“边”(或“弧”)表示两个节点之间存在“信任关系”(或“陌生关系”)。这样的一个网络是在原网络的基础上构建的特殊的逻辑网络,它也就是我前面叙述的电子邮件社会网络,在其上传输的信息都具有可信性,所以基于它的应用将比实际中现存的应用有更加吸引人的因素。为了实现该应用,网络中的每一个节点被设计成智能体,每个智能体除具有普通客户端功能外,还具有主动监视用户的收件箱,捕捉其主人与其他用户之间的信任关系,对XML格式的电子邮件进行自动解析和响应,自动与其他智能体进行协商等。这个模型已经研究的比较成熟,下一步是根据文章的设计做出具体的适合商用的智能软件。另外,还有很多人也在研究基于电子邮件的智能应用。不仅在里面对智能体做了明确定义,同时给出了智能体处理信息的一般结构,还给出了两者特殊的智能体模型-思考型智能体和反应型智能体。接下来给出了智能体的设计与实现部分,所以该项研究也是相当成熟。这些研究都属于让计算机具有人的思维或操作能力,属于人工智能的范畴。所谓人工智能就是研究如何使计算机去做过去只有人才能做的智能工作。在当前,物联网是时代的代名词,它的实现离不开人工智能,所以作为人工智能的一部分的智能电子邮件应用也一定会有一个美好的发展前景的。5参考文献1 李文斌,钟宁,刘椿年.异步P2P网络的实现机制J.广西师范大学学报(自然科学版),2007,25(4):281-2852 包亮,潘金贵.邮件的XML表示的初步研究J.计算机研究与发展,2002,39(6):660-6663 王慧,罗军勇,寇晓蕤.基于OSPF协议报文的网络拓扑分析算法J.计算机工程,2008,34(6):103-1054 余雪勇,卞乃猛,唐家益.基于OSPF协议的快速动态路由算法研究J.重庆科技学院学报(自然科学版),2008,10(3):74-775 Karli Watson, Christian Nagel.C#入门经典(第3版)M.北京: 清华大学出版社, 2006.5.6 Moy J.OSPF Version 2S.RFC 2328, 19987 Klensin J.Simple Mail Transfer ProtocolS.RFC 5321, 20088 Gellens R.POP3 Extension MechanismS.RFC 2449, 19989 邱郁惠.系统分析师UML用例实战M.机械工业出版社,2010.1.1河北师范大学本科生毕业论文(设计)翻译文章中文翻译:挖掘电子邮件社会网络基督教鸟,亚历戈利,计算机科学,肯珀厅,加州大学戴维斯分校,戴维斯,加利福尼亚共和国迈克尔杰茨部。 cabird,阿南德斯瓦米纳坦研究生管理学院,加州大学戴维斯分校,戴维斯分校,加州共和国大学。 摘要:对大的软件项目而言,沟通与协调是项目中的中心环节,但是由于流行的非正式的、直接的通信方式,使得他们在传统的(非开源的,商业的)模式中很难观察和研究。另一方面,OSS项目用网络作为交流的中介并且通常用一种公开、开放的方式进行讨论,结果在OSS项目中的电子邮件存档对交流和沟通提供了一个有用的追踪。即使这样,在这些数据能被有效挖掘出来之前,仍然存在各种各样的必须解决的难题。一旦数据被挖掘出来,我们就可以构建电子邮件通信的社会网络,并且也可以着手解决一些有趣的问题。这些问题包括参与的电子邮件、不同类型的OSS参与者的社会状态、电子邮件活动与信任活动(在CVS库中)之间的关系和社会状态与信任活动之间的关系。在这篇论文中,我们以一个关于基础设施的讨论来展开,进而讨论挖掘电子邮件存档的方法,最终我们从数据分析中得到初步结果。关键字:开源,社会网络1简介大规模的软件开发项目总是需要项目工作人员之间的大量的沟通与协调。我们将这些活动从工程项目中区分出来,所谓的工程项目是修改像源代码或文档等实际的工件。工作的难度和要求协调工作的强度相当高,这个经常被作为添加了更多的开发人员却没有加速开发的原因。沟通与协调活动影响软件系统的设计、结构和进展。在传统的、商业化的软件组织中,沟通与协调活动会以非正式的形式出现,并且研究起来也比较困难。即使沟通与交流是以计算机为中介的,追踪这些活动的通常是不公开的商业组织。另一方面,开源软件(OSS)项目本质上开展所有的活动都是公开的,并且事实上这种公开,开放的规定是他们成功的关键。特别是每一个开源项目包含一个或更多公开的邮件列表,其中项目利益相关者能沟通与协调他们的活动。这些邮件列表的整个追踪被归档并且可以用来研究。这些档案与版本的源代码库和其他的在线工件共同构成一个对软件工程方面沟通与协调活动研究有独特而宝贵的资源。在加州大学戴维斯分校有一个跨学科的在挖掘这种资源,并用由此产生的数据来研究在OSS项目中的沟通与协作活动和实际的开发活动之间的关系。在本文中,我们将描述这一努力的经验和一些早期的结果。我们将以一个现象开始,这个现象是我们正在挖掘,进而我们会描述我们的数据提取工具,最后我们对数据形成一个早期的摸样。2多话的人和兑换一个OSS项目中的邮件列表是一个公共论坛。任何人都可以在列表中张贴信息。所有的邮件列表订户可以获得被张贴的信息。张贴者包括开发人员、测试人员、贡献者(他提交补丁,但是并没有特权)和普通用户。邮件列表可以很活跃,比如:在阿帕奇卡法邮件列表中,在2004年大约有4996条消息,在2005年由2340条消息,对于gcc,这些数字是19173和15082。在该项目的生命周期中,我们估计超过2000个不同的个体已经发送消息到阿帕奇开发列表。一个订户或许会在公共论坛中回复消息,进而对所有人都可见。大致73%的消息引起回复消息。消息b(对消息a的一个响应消息)是一个迹象,即发送b的人发现a的发送者有有趣的事情要说,因此来自b的回复表明原始信息a代表来自发送者a到发送者b的信息流。它也是一种状态指示,比如:b的发送者表示他/她发现a发送的电子邮件值得阅读并且值得回复。在邮件列表中活跃的开发人员的级别不尽相同。在项目的生命周期中,邮件列表中的最活跃的开发人员发送了4486条消息。最少发送消息的开发人员发送了仅仅10条。当然,也有仅仅发送一条消息的非开发人员。这些消息反应了开发人员之间的相互交流。一些开发人员有更多的交互:一个开发人员的邮件中有来自254个不同个体的回复。同样地,另一个开发人员回复来自281个不同个体的消息。尽管这样,在邮件列表中参与的广大的个体发送很少信息,并且对他们发出的消息也接收到很少回复。这类“Pareto”分布在社会现象中很常见。在阿帕奇开发邮件列表中的社区起初与软件关联,这样自然而然就遇到了下面的一个问题,即邮件活动怎样与开发活动关联。这一活动能从版本源代码库得到很快的恢复。在早期的关于Linux的研究中这个已经被报道过了,正如在CVS中记录的一样,在开发活动中,开发者做了大量的工作。我们研究的目标是开发人员之间的沟通协调活动与他们的软件开发活动之间的关系,这些开发人员是从电子邮件存档中获取到的。特别的,我们感兴趣的是怎样使活动和邮件列表中开发人员之间的关联与他们的开发活动在源代码库中关联。我们对下面的问题感兴趣: 开发人员的社会关系网络的属性是什么? 在邮件列表中发送大量消息的开发人员在源代码改变方面是否也是非常活跃? 开发人员与非开发人员在电子邮件社会网络中扮演的角色是否不同? 最活跃的开发人员在开发人员列表中是否有最高的级别?不幸的是,回答这些类型的问题需要面对一些在数据提取方面的挑战,主要的是必须解决别名问题对电子邮件存档和CVS档案。3追踪和开发人员“在互联网上,没有人知道你是一条狗”著名的纽约动画这样说。确定个人的身份是困难的(有时候是不可能的),这个人在对应的邮件列表中用别名。相同的个体在邮件列表中可以使用不同的别名。例如:Ian Holsman开发人员用七个不同的邮件别名,包括 , 和。有时候别名并不是有开发人员一点关系都没有:开发人员KenCoar用不寻常大小的别名Rodent与邮件地址关联。忽略这些别名和将这些电子邮件作为独特个性将混淆数据分析的后面几步。同样,当CVS意见被做出时,开发人员用一个XVS帐户名。幸好,自从访问和帐户权利被集中控制,对于SVS帐户名来说,这里不再有别名的问题。即使这样,为了将邮件活动与编码/开发活动关联,我们必须将邮件名与CVS帐户名关联。考虑到选择任意别名的可能性,一个人可以作两个重要的注释:第一,一个个体决定获得一个匿名的别名,可以一直都这样做;第二,任何解决别名自动化的算法都不精确,并且必须辅之以随后的人工分析。我们现在介绍我们的混合自动/手动的方法来解决别名。3.1揭露别名大部分电子邮件包含一个头部,这个头用来识别发送者,这种形式:From: “Billl Stoddard” 这个头立即显示问题BillStoddard,这个人用的句柄reddrum的确也是.但是我们怎样知道呢?概述:我们的第一步解决别名是为了自动抓取信息,并且提取所有的这些信息构成一个鉴别表(IDs)。一旦这个作完了,我们执行一个聚类算法,那个算法解决每对IDs的相似度。或者名字是相似的或者邮件地址是相似时,这个将会发生(算法的准确细节将在下面解释)。充分相似的IDs会放到相同的集群中。一旦形成了集群,他们还需要后期的人工处理。Apache的摘要:在Apache的开发邮件列表中,我们以2544个不同的IDs开始。集群算法产生了1581个不同的集群。其中最大的集群有70IDs,仅次于它的有55个,一直进行下去,有163个IDs个数为2的集群,有1271个IDs个数为1的集群。这些集群包含错误是很正常的,必须经过后期的人工处理。注意到手工处理的必要性,我们特意设置集群相似度的阈值相当低:一个手动步骤来分裂集群的方法比统一两个来自非常大系列的集群更加容易。手工处理1581个集群产生2012个不同的个体,这些中的一些有许多的别名。一个值得注意的例子是Rasmus Lerdorf,有11个别名:, , rasuslerdorf.ca, , rasmuslerforf.on.ca, , rasmusmadhaus.utcs.utoronto.ca, , , , .这些中的五个是用名字相似规则(下面描述)发现的,另外六个由于邮件相似规则被放入这个集群中。Paul Richards是另一个有10个别名的杂乱的代表。随后由一个作者(没有做人工过滤)随机抽样的集群没有发现明显的错误(稍后见警告)。集群算法:这个算法需要一个单位名单的IDs并且将它们聚集起来(再次提醒一个ID是一个对)。第一步是对每一对IDs创建成对的相似度策略。两个拥有相同相似算法的IDs超过一个凭借经验设置的阈值时,这两个IDs被放到同一个集群中。相似度策略通过下面的步骤被计算: 规范的名称:我们移除所有的标点,后缀;将所有的空格字符变成一个单独的空间;从名字中移除通用的术语像“admin”,“support”;我们也将名字分割(用空格字符和逗号作为线索)为名和姓。 名字相似度:我们用一个基于Levenshtein的得分算法编辑距离5, 13, 17分别在全名与名之间和全名与姓之间。如果全名是相似的或名和姓都是相似的,我们考虑名字相似。因此,Andy Smith 与Andrew Smith相似,但是Deepa Patel 与Deepa Ratnaswamy是不相似的。这是一个生产性规则对于识别集群相似的电子邮件。 名字-邮件地址相似度:如果邮件地址和名字匹配那么两个IDs也可以获得高相似的分数。如果邮件包含名和姓(并且名字的长度至少两个字符)我们认为他们匹配。同样,如果邮件包含名字的初试的一部分和其他的整个的那部分,那么它被认为是匹配的。因此Erin Bird与erinb和ebird匹配。 邮件相似:如果Levenshtein编辑两个邮件地址(不包括在“”之后的域名)之间的距离是小的,两个电子邮件被认为是相似的(只要那两个节点至少三个字符长) 累积ID相似:两个IDs之间的相似是上面3种涉及到的最大的相似。这种一般的规则创造大量的集群;即使这样,将太大的集群进行划分比将小的集群(来自一个数量很大的集群)统一成一个大的集群要容易。身份证相似的累积计算所有对标识,这些累积的ID的相似度超过阈值并且被放置到集群中。然后,集群被另一个员工队伍手动处理,并且结果显示没有明显的错误。当然考虑到选择域名任意性的可能性,这样的人工检测是容易犯错误的。在今后的工作中,我们将进行更正式的,抽样的工艺技术来确定结果的误差率范围。我们建议以电子邮件随机选择名单上的个人子集,并问他们,我们发现的那些套别名对他们来说是精确的。假设误分类错误被均匀地分配到我们的集群中,在集群中,我们应该能够计算置信区间的实际错误率。CVS的别名决议:我们用类似的方法来解决简历账户电子邮件别名名称。所有CVS名称聚集并且对没对CVS的姓名和电子邮件进行相似性度量计算。最终的匹配列表被手工检查,也如上所述,相同的警告也发生,并在今后的工作中,对于结果,我们将使用相同的随机抽样统计学方法必然是错误的。3.2数据提取我们通过分析从1999年开始到当前日期在Apache HTTP服务器开发者邮件列表中的邮件活动来收集数据。更早的电子邮件数据不包括在内,因为之前我们没有版本控制信息,我们只用电子邮件数据期间的变化数据的源代码,这个是可提供的。对于每一个电子邮件,我们提取的电子邮件标题中的消息标识符,发件人,发送时间,该消息的标识符(如有的话该消息是一个回复)。当一个回复的头部被发现,该回复的发件人是第一个发现刚兴趣的初始信息的人,同样发件人被标记为原始信息的接受者。用这种方式,我们可以提取个人之间的通讯联系。我们能够从一个拥有102611封邮件的邮件列表中解析出101637封邮件。一小部分的邮件不能被解析,由于畸形头。大约1.3%的消息是在这一类。格式错误的邮件头可能无法提供过一个消息标识符,也无法提供一个回复标识符。这可能是由于行为不端的客户端。我们正在努力纠正这个问题。如果从另一个文本引用,引用的文字内容是一个方法,即一个确定的消息作为回应。在这期间,我们相信我们的结果是合理可靠,并且不会受到很大的影响,即使这些(目前没有解析)消息被纳入分析。4 描述:小世界在图1中所示的数据分布描述的电子邮件列表中的参与者的行为。每个人都是一个柱状图显示了参展一个特定行为的人数。该分布特征与以前观察到的社会现象相一致,并显示在典型的长尾特征对数域图中。收邮件的数量发邮件的数量参加的数量参加的数量 入度出度参加的数量参加的数量 图1:请注意,所有图表是对数的规模。读左至右依次为:第一,参加人数对比发送邮件的数量,其次,参加人数对比接收邮件的数量注意少数人占发送和reply活动的大部分。接下来的两个指示的是社会网络的结构。首先,在社会网络中的出度,最后,对比在社会网络中的入度。出度是一个状态指示,因为它表明了谁回答了自我的消息的不同的人数。入度的消息表明了不同的人的数量第一幅图是关于消息发送行为的直方图。绝大多数人只发送一条消息,还有一些发送了许多。第二幅图是关于消息答复行为的直方图。最后两幅图是基于社会网络,在网络中,如果sb回复了来自sa的消息,那么社会网络上就会存在个体sa到个体sb的一个连接。对sa而言,更高的出度是一个更高重视程度的体现,由于更多的个体发现消息来自他们感兴趣的sa。对于某些个体,他发送消息后没有收到回复,会被从这幅图中被清除掉。出度也显示出无尺度或幂律分布,小世界网络2,9,10,15的特征。入度测量的是不同人回复给某个个体的邮件数量,它心事一个在邮件列表中个体的忙碌级别和他/她兴趣的广度。这个分布也显示了一个小世界的特点。接下来,我们将考察(图2)一个个体发送消息的数量与不同回复者的数量之间的关系。对于这个图,我们仅考虑在他们发送出消息后已经接收到至少一个消息的个体。可以看到的是,他们之间又很强的关系;事实上,我们注意到与一个非常高的斯皮尔曼等级相关,大约0.97。应当指出的是这些都不是相同的现象;发送消息的数量与认为所发消息值得回复的人的数量并不一定关联。这可能是由于社会规范,比如:人们只发布有关消息,附近的社区和广大的市民响应消息。这也可能是由于一种存在的影响,据此,只有从几个人那得到回复的那些人持续发送消息。我们正在使用时间序列回归分析探讨后一种理论,即只有收到回复他们消息的人继续在邮件列表上活跃。最后在图3中成现的是一个精简过的电子邮件社会网络;整个网络太大而不能用一种有效的方式在一个非交互式媒体上展示。图3中的每个直接连接显示至少500的消息计数。例如,从Alexei Kosut到Ben Laurie的箭头显示后者至少回复了150条来自前者的信息;这个表明Laurie发现一些来自Kosut的感兴趣的消息。返回来的箭头表示这种关系是相互的。单向箭头,比如:从Slemko到Rodent仅仅表示前者回复来自后者的信息少于150个。子链接表明个体们有时回复自己信息,有时评论来自他人的信息,有时为了让他们原始信息变得更容易懂。某些个人的高连通(Gaudet,Laurie, Bloom, Jagielski, Rowe)即使是在精简的网络中也能被看到;这些人实际上是最富有成效的开发人员。初步的统计数据进一步支持了上述观点,这个将在下一节中介绍。我们以一些观察数据结束本节: 由个人发送的信息数量,以及以回复的方式发送给发件人的信息的数量,两者都符合帕累托分布; 在邮件网络上的个人社会网络在出度与入度上显示了长尾度分布和小世界网络特征,在社会网络上,如果b回复了一个来自a的消息,那么个体a有一个到个体b的链接 在一个个体发送邮件数量与回复该邮件的不同个体(在社会网络中的出度也是)的数量之间又一个强烈的关系。我们正在用时间序列分析方式来研究这种现象。接下来我们来检查电子邮件活动与发展活动之间的关系。5沟通、协调活动与发展活动在本节中我们讨论下面这个问题:如何将电子邮件活动与软件开发活动联系起来。为了研究这个问题,我们用从CVS档案中收集到的关于受每个个体影响做了多少改变的数据。事实上,从1999年至今,只有73个人真的对版本库做出承诺(在这之前,这个版本库并没有被使用)。有两种类型的文件,源文件和文档。我们分别进行计算,以便研究源代码和文档活性与电子邮件活动之间的关系。图2:出度与邮件发送数量之间的关系图3 Apache Emailers(控件)中的精简社会网络(每个链接表明至少有150封发送/接收邮件)5.1活性的相关性在邮件列表中有大量的通讯人员,那些人并没有提交权限,从来没有为项目做出任何更改。在邮件类比中这些人变得不再活跃。为了研究划分在交流和沟通活动上的努力与开发活动之间的关系,我们排除那些没有对源代码或文档做出任何改变的个体。通过仅仅关注那些为源代码或文档做出更新的个体,我们希望得到关于邮件活动与开发活动关系的一个更清晰的图片。基于仅仅73个提交者的数据,我们观察到在个体发送的邮件数量与他们对源文件做的改变之间相关于存一个等级数为0.8的斯皮尔曼等级。这清楚地表明一个个体做越多的软件开发工作,这个人承担越多的沟通与交流活动。与文档更新数量有一个稍微有点低的关联,大约0.57。我们猜测,这是因为源代码活动需要比文档更多的协调努力,在进一步的研究中,需要利用时间序列数据来确定这一点。消息的总数仅仅是社会结构的一个方面;一个个人的消息发送量(即使他们收到回复)并没有确切地表明这个人在社会网络中的地位。社会学家已经发明了多个度量来表明个体在社会网络中的地位(从全局看)。我们也研究这些度量与活动级别之间的关系。5.2 社会网络的度量我们专注于3项度量,入度、出度和中间状态,这个中间状态时一个个体在网络中重要性的指标。出度与入度我们在前面讨论过;对于这部分,我们由网络规模将出度与入度正常化。对于图g中的节点v,中间状态BW定义如下:这里givg是在图g中,在节点i与节点j之间,穿过节点v的最短路径(测地线) 注意在两个节点之间可能存在不止一条最短路径的数目;giv是从节点i到节点j的最短路径的数量。图4 交叉关系表,(采用Spearman等级相关),显示整体数量变化,对原的变化,对文档的变化,相对入度,相对出度,中间之间的关系。也显示了平均,最小和最大。n=73高的中间状态(高介)表明这个人在社会网络中是一个经纪人或看门人;他/她扮演着一个具有大量交互的角色。这样的人有高状态,并且也可能是瓶颈。在中间状态中心频率高的角色有控制或破坏通信的潜能或者信任各种各样终点之间的关系。因此,我们提出这样的问题,在整个电子邮件社会网络中是开发人员更可能扮演守门人或经纪人的角色?为了回答这个问题,在完整的电子邮件社会网络中,我们计算了开发人员的中间分数(n=73)和非开发组(n=1123)的中间分数。开发人员的平均中间是0.0114,非开发人员的评价中间是0.000140。一个简单的T-检验表明5.07的t值,这是非常重要的。其他度量,出度与入度也被计算了。他们也表明开发人员有显著较高的地位,如下表所示。因此,我们可以得出结论,与非开发人员相比,开发人员都有更高的地位。接下来,我们只考虑开发人员的人口,并且在这个人口中研究状况指标。5.3 相对地位的开发人员仅考虑那些对院大门和文档(n=73)做出变动的开发人员的人口,我们将读者的注意力转移到图4,图4显示了拥有相关描述数据和相关值的表。前3行(左3列)是活动度量:总变化,源代码的变化,以及文档的变化。底部3行(4,5和6列)是社会状态指标。仅仅考虑刚才的3个变量,可以看出,源代码变化与文档变化并不是具有相同高的关联度,这表明并不是所有的开发人员对这两项的参与度相同。因此,开发做出13420次文件的变化,2869项来自源代码的变化,然而开发文档做了1322次源代码变化和74次文档变化。有其他几个人以这种方式倾斜。谈到现在的状况的相对指标,我们可以看到源代码变化显示了强烈的与正规化的出、入度和中介等级相关。事实上,与中介的相关是相当高的,大约在0.757。应该指出的是这些都是非参数相关度量,因此更有力地表明制造业的关系。这表明,即使再高状态的开发组中,最活跃的开发人员扮演者最强的沟通,经纪人和把关角色。也值得注意的是,与文档的变化的关联是相当弱的,这表明在源代码变化上更高的活动比在文档上活动能更强的决定你在社会网络中的状态。一个后来对开发人员邮件列表和为Postgres的4个项目的源代码库的研究显示,社会状态度量与源代码变化有相似的级别3。然而,Postgres的数据显示在文档变化与社会网络度量之间有很大的关联,与Apache的数据相比。我们计划在今后的工作中审查这个统计。我们以几个初步的结论结束这一节: 在邮件列表上的活动级别与源代码变化活动密切相关,同时也与较小范围的文档改变活动相关。 社会网络度量,比如:入度、出度(由一些开发人员标准化)和中间度量表明真正承诺更新的开发人员在电子邮件社区中扮演者比非开发人员更重要的角色。 即使在选中的开发人员组中,在社会网络重要性中上述涉及到的度量和源代码变化活动层次之间有很强的相关性。6相关工作在网上社区中已有相当的社会行为的研究;我们只是在做关于OSS发展情况的调查.开发人员之间的社会网络已经被从其他角度进行研究。须等人19考虑两个在社交方面有关的开发人员是否参加同一个项目。我们的观点是考虑涉及到的开发人员之间是否有邮件沟通的证据;这无疑是一个更直接的社会链接的证据。Wagstrom, Herbsleb和Carley18从几个来源收集社会网络数据,包括:博客,电子邮件列表和网络网站,和在网络上的社会行为建立的模型;这些当时被用来构建一个关于用户怎样参加和离开项目的仿真模型。我们的目标是经验而不是运行一个模拟;我们明确地希望学习邮件行为和承诺在一个单一项目中的关系。Crowston和Howison7在错误报告中使用共生开发作为社会联系的指标。他们凭经验表明,规模较小的项目的社会网络比那些大的项目更具有控制力,大概是大项目下放权力,简化沟通与协调活动。本文更加集中在个别开发商的研究,他们的电子邮件活动和社会地位的变化随着他们承诺活动而发生改变。全身心投入行为在(软件)版本化责任中比当做一个社会链接的指示。Lopez-Fernandez等12卡了两个开发人员要链接,如果他们全身心投入到相同的模块,如果一个开发人员对两个模块都投入,那么这两个模块会被链接到一块。;由此产生的社会网络在结构上与我们的相似。De Souza等人的工作是相似的,除了他们的是研究文件而不是模块。这项工作也可视化开发人员随着时间在社会网络中社会位置的变化,和在模块依赖网络中的模块。随着时间的变化,开发人员在网络中变得更加重要。谈到模块,他们发现代码在系统的一些部分的所有权比其他部分稳定。最后,我们注意到,这些文件的研究合作网络,而我们的重点是网络中的沟通;两者之间的关系我们目前研究的课题。7结论在这里我们描述我们关于在Apache HTTP服务器项目中电子邮件社会网络挖掘的工作。我们不得不面对头部,解决多个电子邮件别名由一个用户使用的挑战;不这样做会严重影响到我们研究社会网络构建的能力。我们已经手工检查我们的别名错误的方案;但是,我们承认我们的别名解决方案需要进一步的验证。我们的目标是要做到这一点,通过邮寄样本的参与者来得到一个准确的别名决议的想法或办法。此外,少数(少于1.3%的电子邮件标题)无法被解析;我们也正在努力解决这个问题。然后,我们相信:a).有可能在别名中仅仅有几个错误;b).初步报告的结果显示是相当准确的,随着我们萃取的改善,发生重大变化的可能性不大。我们的分析表明,社会网络是一个典型的电子社区;少数成员占大部分的消息发送和接收。社会网络的入度和出度分布显示为典型的长尾型,小世界特征。我们还注意到,在发送邮件数量和不同人回复他们的数量之间有一个牢固的关系,这值得进一步研究。我们初步研究的数据在邮件活动级别与源代码活动级别之间有牢固的关系,并且与文档变化活动有一个稍微弱一点的关系。我们的数据还给出了一个强烈的迹象,即在邮件列表中的所有参与者中,开发人员发挥更重要的社会角色。此外,数据也支持初步调查结果,即在源代码中的活动级别是一个开发人员(在其他开发人员中)在社会网络状态中的一个强有力的指示器,文档活动是没有那么强的指示的。我们的近期目标是在时间序列基础上研究这些影响,以调查在开发活动与社会状态之间是否有因果关系。我们对系统架构与开发者的社会网络之间的关系也很感兴趣(也称为康威定律)。8参考文献1 R. Agrawal, S. Rajagopalan, R. Srikant, and Y. Xu.Mining newsgroups using networks arising from social behavior. In WWW 03: Proceedings of the 12th international conference on World Wide Web, 2003.2 A.-L. Barabasi and R. Albert. Emergence of scaling in random networks. Science, 286:509512, 1999.3 C. Bird, A. Gourley, P. Devanbu, A. Swaminathan, , and M. Gertz. Mining email social networks in pos
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石油地质构造试题及答案
- 2025年工厂热能安全试题及答案
- 光伏运行题库及答案
- 2025年心脏手术护理试题及答案
- 心脏骤停应急预案考试试题及答案
- 区域专业考试试题及答案
- 小额贷款公司借款合同样书5篇
- 土地流转型农业种植承包合同
- 农村信用社吕梁市临县2025秋招面试典型题目及参考答案
- 2025年特种设备安全管理考试试题及答案
- 顾客特殊要求培训课件
- 九年级英语宾语从句专项训练题及答案
- 医疗仪器设备效益考核办法
- 生产产能提升激励方案
- 车间5S管理培训
- ICU糖尿病酮症酸中毒护理
- 公司绿色可持续发展规划报告
- 高速铁路桥隧养护维修 课件 2 桥隧养护维修工作的基本方法和基本内容
- 战略规划六步法
- 2024年废旧溴化锂出售合同范本
- 《销售培训实例》课件
评论
0/150
提交评论