基于数据挖掘的校园社交网络用户行为分析毕业设计论文管理资料Word文档下载推荐.docx
- 文档编号:17332079
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:27
- 大小:888.61KB
基于数据挖掘的校园社交网络用户行为分析毕业设计论文管理资料Word文档下载推荐.docx
《基于数据挖掘的校园社交网络用户行为分析毕业设计论文管理资料Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于数据挖掘的校园社交网络用户行为分析毕业设计论文管理资料Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
●网络行为及其影响因素
虽然以上研究都已比较深入,但大多的都从社会学角度切入研究宏观
网络用户行为,内容与社交网络契合较少并偏向理论化,方法也大多采用问卷调查等主观性较强的方式,很少有通过技术手段采集客观数据并通过软件分析等方式进行研究的文献。
而本文则通过网络爬虫采集相关数据,并通过数据分析软件Weka对采集数据进行数据挖掘,通过数据寻找社交网络用户行为及其影响因素,可以说是从一个比较新颖的角度分析了社交网络用户行为。
如果能够有效的提取社交网络中的各种数据并对用户行为、群体特征等进行分析,掌握用户的行为模式及其影响因素,不仅能够帮助网站运营商全面掌握用户需求从而提供更好的服务和产品,还能够帮助营销商更好地了解受众群体和信息传播模式进而采取更有效的网络营销和推广手段。
论文主要研究内容及组织结构
本论文研究内容主要包括一下三个方面:
●社交网络及社交网络用户行为
该部分主要是为最终通过分析软件对社交网络用户行为进行总结做好理论基础准备。
主要对社交网络概念产生、发展过程进行阐述。
。
最后对一般社交网络用户行为动机进行分析。
●数据挖掘中的聚类分析
这一部分主要对数据挖掘的聚类分析的定义、分析过程以及主要分析
手段进行描述,并分析各聚类方法优缺点,最后通过根据收集所得数据特征选取合适的聚类分析方法
●数据采集技术——网络爬虫
该部分主要确定所要爬取的网页内容,并根据网站HTTP协议与网页
行为特征制定定向网页爬虫方案,然后通过python语言实行具体编码。
编码过程主要分为两步,首先通过使用Wireshark抓包后使用python中的urlllib库构造目标网站可识别HTTP协议,然后通过设计正则表达式进行数据提取。
论文第二章主要讨论了社交网络定义与特点,并对一般社交网络用户行为动机进行分析。
同时对数据挖掘中的聚类分析定义、过程以及主要方法进行描述,阐明了本文所涉及的理论基础。
论文第三章对于如何通过网络爬虫技术进行数据采集进行了说明。
首先介绍了网络爬虫技术的原理与URL存在形态,然后分析了如何制定定向网络爬虫,最后说明了本次网络爬虫程序编码所解决的难题与部分具体代码。
论文第四章对所收集数据进行预处理,并通过Weka数据挖掘软件对数据进行聚类分析,并对所获结果做出解释。
论文最后对整个研究过程进行总结并分析了所存在的不足之处以及对未来进一步研究的展望。
2关键技术和理论基础综述
社交网络
社交网络的概念
社交网络一词最早是1954年由J.A.Barnes首先使用。
一个社交网络的大小最大约为150人左右(Dunbar'
snumber)[3],平均大小约为124人左右(HillandDunbar,2002),它是指社会行动者及其间关系的集合,在上世纪90年代之前这一词语主要在管理学、社会学等领域应用。
但是随着互联网的发展以及六度空间理论和邓巴数字等理论的兴起[4],社交网络逐渐被赋予了新的定义,首先出现的是网络社交。
网络社交是伴随着电子邮件的出现产生的,它解决了信息点对点的传送。
而BBS则把网络社交又向前推进了一步:
从单纯的点对点交流的成本降低,推进到了点对面交流成本的降低。
随后产生的即时通信(IM)和博客(Blog)更像是前面两个社交工具的升级版本,前者提高了即时效果(传输速度)和同时交流能力(并行处理);
后者则开始体现社会学和心理学的理论——信息发布节点开始体现越来越强的个体意识,因为在时间维度上的分散信息开始可以被聚合,进而成为信息发布节点的“形象”和“性格”,随着网络社交的悄悄演进,一个人在网络上的形象更加趋于完整,这时候符合我们现在定义的社交网络出现了。
现在社交网络也被称作社交网络服务(SocialNetworkService),简称SNS,也就是社交+网络+应用服务的意思[5]。
它通过网络这一载体把人们连接起来,从而形成具有某一特点的团体。
社交网络含义包括硬件、软件、服务及应用,狭义上讲它是指建立在真实人际关系基础上的网络平台,是作为现实中的社会团体在互联网上交流的辅助工具而存在,是现实活动的在线拓展,与传统的虚拟网络有很大的不同。
从这个定义上讲,符合“真实人际关系及其衍生”的SNS主要有Facebook,Linked—In.Google+以及国内的人人网、开心网等。
广义上,一般会把微博、空间、社交网站等都称为“社交网络”,如图2—1所示.这其中包括了一些完全虚拟网络,如微博、Flicker等.它们脱离社会现实,结构相对无序、混乱。
而狭义上的社交网络,如Facebook,是现实人际网络的子集及其衍生,具有现实生活中人际网络特征,同时国内大多数媒体所指的SNS也一般即为社交网站(SocialNetworkSites),而并非社会性网络服务(SocialNetworkingServices)。
基于如此本文对社交网络的研究是基于狭义上的社交网络.将选取国内的社交网络服务网站人人网为数据来源。
图2-1基于人际关系的社交网站分类
社交网络特点
与传统网络类型相比,:
●人际传播回归和社交网络关系化
正如“电话代替不了握手”一样,网络上具有时并不能带来人们内心的亲切感和信任感。
为避免网络这种上具性特征带来的弊端,社交网络正在向人际传播回归,它以现实社会关系为基础,模拟或重建现实社会的人际关系网络。
来提高社会交往的质量和效度。
●以用户为中心
,那些过去被轻视、被忽略的“微内容”、“微价值”由于新的聚合力量而显得格外强大。
社交网络的UGC(用户生成内容)力量是惊人的,它使得每个人都有一种参与感,让每个人都可以创造自己的媒体。
●虚拟社交与真实社交的融合
社交网络已经弱化了早期网络社区那种娱乐和游戏功能,每个用户都只有一个身份识别,只有紧贴这个身份才能使用和拓展其他功能,它鼓励用户以真实身份、形象加入网络群体,保持线上线下身份一致性,以此来构建社会化的关系服务网络
●私人空间与公共空间的有机结合
如果说传统的BBS是一个公共场所,而博客又是一个相对单纯的私人空间,社交网络则是两者的有机结合,让用户对社区有归属感、认同感的同时又能够置身于社会公共网络中。
社交网络用户行为动机
●维持人际关系
和传统网络媒体不同的是用户使用社交网络最主要的原因是为了维持人际关系。
而在2000年Papacharissl和Rubin做出的关于网络总体使用动机的调查中[6],维持人际关系是最次要的动机。
之所以会出现如此大的反差,这也是由于SNS的真实性造成的。
这也意味着更多的人们开始习惯于使用网络来维持和加强现实生活中的一部分人际关系,表明了SNS在现实生活中的重要性。
●参与互动,信息分享
网络互动包括了和朋友或者和陌生网友之间的一切互动行为。
用户对别人发的帖子,上传的照片或者别的动态发表评论和意见,或者接受别人对自己发表内容的反馈。
除此以外,信息分享成为社交网站用户的主要动机也反映了科技给媒体行为带来的变化。
以人和的关系为基础而建立的社交网站,使信息的分享变得更加容易和自然,从而便利了用户之间的分享和交流。
●娱乐消遣
娱乐消遣一直以来都是用户使用媒体的主要动机,而对于社交网站用户来说,也是仅此于人际关系维持的第二大动机。
玩SNS网站上的网页游戏也是不少人每天登陆社交网站的动力。
在这一分类中,娱乐消遣既是行为,也是动机。
社交网络主要研究方向
目前社交网络主要有四个研究方向,本文主要关心社交网络挖掘技术的发展
●基础结构研究
社交网络不同于普通的基础网络,是建立在真实人际关系基础上的,因此对网络的结构特点进行研究对于进一步推动网络的发展具有非常重要的意义。
结构研究既包括简单的基础构造研究,例也包括异常复杂的特殊结构研究,主要包括度数中心性(DegreeCentrality),亲近中心性(ClosenessCentrality)和中介中心性(BetweennessCentrality)等等[7]。
●多层次关系的社区挖掘
研究表明,在多层次社交网络的社区中。
对于一种特定的需求下,不同的关系所产生的影响因子往往是不同的。
所以应该根据特定的需求,对不同的关系进行线形组合,然后在此基础上计算影响因子并进行社区挖掘。
这个研究方向的重要意义在于传统的、单一的网络并不能反映现实中真实的人际关系,而采用多层,立体的网络结构建模使得数学模型更精确,更贴近真实人际网络,能得到更为客观有效的社区挖掘结果[8]。
●大规模网络的社区识别
随着社交网络的发展,网络节点数已达到千万甚至上亿级别,传统CNM算法的局限性就越发明显。
所以最近几年,有不少学者关注于大规模网络的社区挖掘技术,具有代表性算法如日本学者KenWakita和ToshiyukiTsurumi所提出的KT识别技术[9]。
●网络挖掘技术
在社交网络的理论研究中,另外一个重要的课题是挖掘技术的研究,挖掘技术的研究在语义网的研究中扮演了越来越重要的角色。
例如知识管理、信息抽取、普氏计算等等。
这个领域的研究大部分是利用搜索引擎来挖掘人际网络关系,最新的代表性技术是一种叫做POLYPHONET的社交网络抽取分析算法,该算法引入了一序列关于人际关系的识别,社区的挖掘,以及个人关键词挖掘等先进技术。
目前,该领域的研究者主要关注如下两方面的问题,一是如何简化现有信息相关度的算法以使得整个衡量系统更易于整合,二是如何改进节点间的关系衡量算法,来加强对一些特定关系的衡量,例如个人和关键词相关度的计算,不同人际关系的分类等等[10]。
网络用户行为
目前对于网络用户行为的研究主要集中于两方面:
一是对网民的网络使用行为,包括网络使用方式、时间、频率、地点等进行实证调查与定量研究。
对此国内外都已进行了不少大规模调查,这类调查一般都将重点倾向于网民的网络使用习惯、倾向、网龄、上网频率、上网时间、上网动机等问题上。
美国加州大学洛杉矶分校就于2000起启动了世界互联网项目(WorldInternetProject),通过对不同国家和地区网民的网络使用状况进行调查,从而对各国互联网的社会影响进行评估,其中子项目“中国互联网项目”由中国社科院进行调查,并连续多年发布相关报告。
在国内,中国互联网信息中心自97年起针对我国互联网的宏观状况、网民行为意识等每年发布两次统计报告。
二是对网民的行为模式、行为类型与行为逻辑进行实证调查与理论分析。
目前研究还是比较偏向于理论上的梳理与分析。
在研究视角上基本延续了社会学的两种传统视角,或者将解释的焦点放在个人行为对社会结构的构建上,或者将解释的焦点放在社会结构对个人行为的制约上,主要分析的还是网络用户行为与人们在日常社会生活中的行为之间的区别,然后从这种区别中入手分析网络行为的实质与特征[12]。
本文对于社交网络用户行为的定义主要是指用户对于社交网站基本功能与用户生成内容(UserGeneratedContent,简称UGC)的使用方式。
主要包括网站访问、用户间互动交流、信息发布与分享、以及APP娱乐应用等,如图2-2所示:
图2-2社交网络主要用户行为
聚类分析
特征聚类分析研究有很长的历史,其重要性及与其他研究方向的交叉特性多年来一直受到得到人们的肯定。
聚类是数据挖掘、模式识别等研究方向的重要研究内容之一,在识别数据的内在结构方面具有极其重要的作用。
聚类主要应用于模式识别中的语音识别、字符识别等,机器学习中的聚类算法应用于图像分割和机器视觉,图像处理中聚类用于数据压缩和信息检索。
聚类的另一个主要应用是数据挖掘(多关系数据挖掘)、时空数据库应用(GIS等)、序列和异类数据分析等。
此外,聚类还应用于统计科学。
值得一提的是,聚类分析对生物学、心理学、考古学、地质学、地理学以及市场营销等研究也都有重要作用[13]。
从宏观上讲聚类是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。
由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。
但目前对于聚类并无一个学术上的统一定义,这里使用出Everitt在1974年关于聚类所下的定义:
一个类簇内的实体是相似的,不同类簇的实体是不相似的;
一个类簇是测试空间中点的会聚,同一类簇的任意两个点间的距离小于不同类簇的任意两个点间的距离;
类簇可以描述为一个包含密度相对较高的点集的多维空间中的连通区域,它们借助包含密度相对较低的点集的区域与其他区域(类簇)相分离[14]。
●数据准备:
包括特征标准化和降维
●特征选择:
从最初的特征中选择最有效的特征,并将其存储于向量中。
●特征提取:
通过对所选择的特征进行转换形成新的突出特征
●聚类:
首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量而后执行聚类
●聚类结果评估:
是指对聚类结果进行评估。
评估主要分为外部有效。
●性评估、内部有效性评估和相关性测试评估
由于多维数据集的复杂性,要求有不同的聚类方法对各种复杂数据类型进行分析。
目前主要的聚类分析方法有以下几种:
●划分式聚类(partitioningmethods)
划分式聚类需要预先指定聚类数目或聚类中心,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数值收敛时,得到最终聚类结果。
使用这个基本思想的算法有:
K-MEANS算法、K-MEDOIDS算法、模糊聚类算法以及图论算法[15]
●层次方法(hierarchicalmethods)
这种方法对给定的数据集进行层次似的分解,直到某种条件满足为止。
具体又可分为“自底向上”和“自顶向下”两种方案。
例如在“自底向上”方案中,初始时每一个数据纪录都组成一个单独的组,在接下来的迭代中,它把那些相互邻近的组合并成一个组,直到所有的记录组成一个分组或者某个条件满足为止。
代表算法有:
BIRCH算法、CURE算法、CHAMELEON算法等[16]
●基于密度的方法(density-basedmethods)
基于密度的方法与其它方法的一个根本区别是:
它不是基于各种各样的距离的,而是基于密度的。
这样就能克服基于距离的算法只能发现“类圆形”的聚类的缺点。
这个方法的指导思想就是,只要一个区域中的点的密度大过某个阀值,就把它加到与之相近的聚类中去。
代表算法有:
DBSCAN算法、OPTICS算法、DENCLUE算法等
●基于网格的方法(grid-basedmethods)
这种方法首先将数据空间划分成为有限个单元(cell)的网格结构,所有的处理都是以单个的单元为对象的。
这么处理的一个突出的优点就是处理速度很快,通常这是与目标数据库中记录的个数无关的,它只与把数据空间分为多少个单元有关。
STING算法、CLIQUE算法、WAVE-CLUSTER算法
●基于模型的方法(model-basedmethods)
基于模型的方法给每一个聚类假定一个模型,然后去寻找能够很好的满足这个模型的数据集。
这样一个模型可能是数据点在空间中的密度分布函数或者其它。
它的一个潜在的假定就是:
目标数据集是由一系列的概率分布所决定的。
通常有两种尝试方向:
统计的方案和神经网络的方案[17]。
技术方法框架
本文以数据挖掘的交叉产业标准过程()作为参考[18],结合具体的社交网站数据挖掘需求,构建如下图技术方法框架:
图2-3社交网络用户行为数据挖掘过程
3基于网络爬虫技术的数据采集
网络爬虫工作原理
网络爬虫基本工作原理
网络爬虫,即Spider,通常是指遵循HTTP协议、根据其中的超链接以及WEB页面文档之间的索引关系来遍历万维网信息空间的软件程序。
网络爬虫是一个功能强大的自动提取网页的程序,负责收集页面来源。
网络爬虫通过访问某一URL页面,来获得此页面内其他URL,并且根据这些URL来遍历这个站点或者跳转到其他站点,从而实现遍历整个互联网空间,进而获得需要的URL集合。
其主要工作原理如下图所示[19]:
图3-1网络爬虫基本原理
如上所述,常见的搜索引擎类网络爬虫负责收集互联网世界的所有页面并且存储下来。
除了以上通用爬虫之外,还有一些定向爬虫负责在一些细分领域收集特定信息。
URL存在形态分析
从联系的角度来看,互联网上的URL可分为有联系的和孤立的2类,如下图所示:
图3-2互联网URL分类
大部分的URL都是相互关联的,比如从url-a出发,通过url-b、url-d可到达url-f,所有关联的URL最后组成了一个复杂的网络结构。
但是也存在一些URL,比如url-1、url-2等是相对孤立的,试图从url-a系列以及url-1等页面直接来获得另外url-2、url-3是不可能的。
从URL的出现位置来可看,我们可将URL的出现位置分为如下几类:
●HTML静态标签
HTML静态页面中存在大量URL入口,比如某页面存在A标签:
<
ahref="
"
>
小白无双<
/a>
,通过解析A标签的结构,我们知道这里存在一个新的url链接http:
//www.:
<
imgsrc=””>
formaction="
/"
method="
POST"
framesrc="
/>
scriptsrc="
......
因为这些链接是静止在页面内,属于比较容易发现的链接类型。
在页面下载回来后,我们甚至可简单地通过正则表达式查找出这些链接。
●动态生成的链接
这里说的动态生成的链接是指通过javasript/vbscript生成的链接,它们需要通过script脚本解释引擎来组装生成,如下伪代码:
图3-3script脚本动态生成链接代码
从这段伪代码中,我们无法直接看出来存在什么链接,分析代码可知,变量URL由3个部分组成,path、page还有用户输入的id值。
明显地,要知道最后的URL,需要在输入框里输入数据并且触发这个函数执行。
●用户交互中产生的新链接
HTTP协议是请求-响应式的交互型模型,在WEB,请求响应的形式更加多样化。
云计算所使用的技术也大量使用了WEB,ajax数据请求方式被广泛使用,json、xml等格式的数据传递给爬虫的URL发现带来了困难。
比如:
在json的任意一个位置,都可能是一个URL,也可能看着像是URL,实际上只是一个不存在的URL字符串。
为了确认其是否为URL,需要观察其行为表现,这些数据从服务端返回后,客户端实际去访问的URL字符串才是爬虫真正需要寻找的目标。
●存在于第三方组件里的URL
在flash、silverlight等其他第三方组件里也存在URL链接,这些链接的生成需要对应的组件来解释。
在flash应用中,我们点击某些按钮时,会触发一些新的网络请求,这些请求是通过内嵌的ActionScript来驱动的。
silverlight以及一些其他第三方组件也是类似。
定向爬虫定制
本文以人人网数据为具体案例进行分析,因而需要对人人网特定数据进行抓取。
通过定制人人网定向型爬虫,抓取指定网站上的数据。
Wireshark(前称Ethereal)是一个网络封包分析软件。
网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
本文通过Wireshark抓取人人网HTTP协议。
先启动wireshark程序,在capture>
options在弹出界面里选中你的网卡,双击,会弹出如下图所示的设置规则处。
简单地,可使用规则Host加上人人站点域名。
确定之后开始等操作下来就可开始抓包。
图3-4Wireshark规则设置
图3-5利用Wireshark抓包过程
本文通过火狐浏览器+firebug来分析网站行为:
Firebug是火狐浏览器下的一款开发类插件,它可以对HTML、javascript和CSS等进行查看和编辑。
本文主要通过它对网页页面代码进行分析,如下图所示:
图3-6通过firebug对网页代码进行查阅
在观察到网页代码后,可制定对应的定向爬虫实现方案,例如从哪个页面开始,需要从这个页面中获得什么关键信息,哪些信息会在下一个页面中作为输入等,将整个流程进行整理,并判断什么情况下应当结束爬虫,最后再通过正则表达式来提取数据并实行定制爬虫。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
在抓取网页的过程中,人人网页面有许多不相关内容在其中,因此需要通过正则表达式进行数据提取。
由于采用Python语言进行编译,而正则表达式不属于Python的一部分,这里要通过re模块来提供对正则表达式的支持。
使用re模块的一般步骤如下:
●先将正则表达式的字符串形式编译为Pattern实例,
●然后使用Pattern实例处理文本并获得匹配结果。
本爬虫的具体正则表达式设计见详细下一节代码设计
本爬虫主要通过python语言实现。
Python是一种面向对象、直译式计算机程序设计语言,由GuidovanRossum于1989年底发明,第一个公开发行版发行于1991
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 数据 挖掘 校园 社交 网络 用户 行为 分析 毕业设计 论文 管理 资料