基于社会网络分析的权威网页挖掘研究

2016-08-19 19:30张荣磊宋洋田爱奎谭浩
电脑知识与技术 2016年20期
关键词:网络爬虫社会网络分析

张荣磊++宋洋++田爱奎++谭浩

摘要:该论文利用社会网络分析法,对Web上特定主题的权威网页进行了挖掘。实验通过Google搜索引擎选取一定数量的待验证权威网页,并利用网络爬虫爬取一定数量的URL,构造了特定主题的网络结构,然后利用中心性分析以及凝聚子群分析挖掘出该特定网络的权威网页,通过与待验证权威网页进行比较,验证了实验方法的正确性,最后,对实验方法的后续改进进行了探讨。

关键词:社会网络分析;权威网页;URL;网络爬虫;中心性分析

中图分类号: G350 文献标识码: A 文章编号:1009-3044(2016)20-0069-03

万维网的出现以及快速发展使得网络上的网页数量呈现爆炸式的增长,截止2014年底,仅中国的网页数量就已达到1899亿个,年增长26.6%[1]。如何快速、有效的从数以千亿级的网页中寻找到用户需要的网页信息,成为学术界广泛关注的一个话题。互联网中的网页链接关系跟现实社会中人与人之间的关系相类似,而社会网络分析方法又是分析人类群体关系的主要分析方法,如果将社会网络分析法应用于网页信息搜索,是否会有同样的效果?本文通过进行实验分析,对社会网络分析法应用于权威网页挖掘的可行性进行了验证。

1基于主题的网页关系构建

由于Google搜索引擎是基于PageRank算法设计实现的,实验利用Google搜索引擎进行权威网页的选取。将获取到的权威网页作为种子URL,利用设计的网络爬虫对种子URL进行给定深度的爬取,获取实验需要的原始URL数据集。

1.1 种子URL选取

首先选取任意主题信息,如“Python”,并利用Google搜索引擎对“Python”进行搜索,取排名前50位的网页,记录并保存网页地址作为需要验证的权威网页部分URL如表1所示。

1.2 利用网络爬虫获取URL

利用设计的网络爬虫对50条种子URL分别进行深度为1的爬取,总共得到约5500条子URL。这5500条原始URL包含大量重复及无效网页,如广告网页、过期网页,因此还需要对这部分URL进行相应的处理。

去重完毕后还需要对获取到的URL集进行有效性处理,将URL输入浏览器,查看是否属于广告链接或者过期网页。大部分无效URL对实验的结果不会产生影响,可以忽略无效URL的滤取,但忽略这一步会使后续分析更复杂,因此要尽可能过滤无效URL。最终种子URL与爬取到的URL共323条。

1.3 构建URL邻接矩阵

社会网络分析需要的是矩阵形式的数据,因此,需要将获取到的URL整理成邻接矩阵形式。由于URL长度过长,数据录入不方便,因此实验中将每一条URL用数字编号代替,如表2所示。

利用Excel 2007或后续版本进行邻接矩阵的输入,将编号1至323分别输入到第一行与第一列。矩阵中的任一项aij代表第i条URL与第j条URL之间的链接关系,为1表示编号为i的URL链接了编号为j的URL,反之则代表没有链接关系。在对矩阵进行0、1分析时,由于涉及子ULR的链接,因此还需要对子URL进行深度为1的爬取,以确认子URL与其他URL之间的链接关系。对角线上的值由于没有意义不进行处理,最终得到一个323×323的邻接非对称矩阵,后续在进行社会网络分析时还需要对该非对称矩阵其进行对称化处理。

2 实验分析

社会网络分析通常利用中心性分析以及凝聚子群分析等多种方法对人类社会群体进行分析。通过中心性分析可以了解到一个群体中每个成员的重要程度,比较常用的中心性指标有:点度中心度与点度中心势、中间中心度与中间中心势和接近中心度与接近中心势。利用中心性分析可以对URL链接进行相同的分析,从而明确URL网络结构图中每条URL的重要程度,越重要的URL则可以认为它具有更高的权威性。

2.1 中心性分析

1) 点度中心度分析

点度中心度分析就是对网络结构图中的成员节点进行出入度计算。点入度即指向某一节点的节点成员数,点出度则为该节点指向其他节点的成员数。一个节点若被网络中的大多数节点所指向,那么就可以认为它在网络中处于重要的位置,具有较高的权威性。

在UCINET[中选择Network→centrality→Degree...,导入生成的.##h文件,UCINET会自动生成并弹出.txt格式的中心性计算结果。计算结果包含网络中每个节点的点入度与点出度,并且是以每个节点的点出度大小进行的排名,而实验更加关注的是点入度,因此,需要按照每个URL的点入度大小从新进行排序。部分排序结果如表3所示。

通过对点入度排名进行分析发现,编号为46、95、128、148、150、186、241、242等URL具有较大的点入度值,且它们都属于原50条种子URL,可以初步断定这些URL具有一定的权威性。

2) 中间中心度分析

中间中心度用于分析群体成员作为媒介的能力。如果群体中某一个成员具有较高的中间中心度,那么他就可以通过控制与其他成员之间的信息交流来对整个群体产生影响。因此,可以认为具有较高中间中心度的成员也具有一定的权威性。通过对URL网络结构图进行分析,那些具有较高中间中心度的URL就可以认为它们比其他URL具有更高的权威性。

在分析中间中心度时,还需要对URL邻接矩阵进行对称化处理,通过Transform→Symmetrize...,导入原.##h文件,自动生成对称化处理的Sym.##h文件。接着利用Network→Centrality→Freeman Betweenness→Node Betweenness,导入生成的Sym.##h文件,UCINET同样弹出.txt格式的中间中心度计算结果,部分结果如表4所示。

观察发现,中间中心度值较高的URL,如46号、95号、150号、186号、241号等,与前面点度中心度值较高的URL相吻合,即都属于50个种子URL。

2.2 凝聚子群分析

中心性分析初步证明了社会网络分析法在权威网页挖掘的可行性,若利用凝聚分析同样可以得到相同的结果,那么就可以认为社会网络分析法在权威网页挖挖掘的正确性。凝聚子群分析也有多种分析方法,如:成分分析,n-派系和n-宗派分析,k-丛分析等。此实验只选取建立在点度基础上的k-丛分析进行验证。

在UCINET中选择Network→Subgroups→K-Plex...,导入Sym.##h文件,设置相应的k值、n值即可。k值、n值需要用户自己多次尝试才能最终得到合适的子群。经过多次带入k值、n值,最终k取2,n取5,得到46个子群,部分分析结果如表5所示。

观察完整的表5丛分析结果,编号为46、49、150、164、241等URL在绝大多数子群中出现,说明它们在网络中具有重要作用,而这些URL同样出现在中心性分析结果中,即都属于50个种子URL。

至此可得出结论,利用社会网络分析得到的网页符合权威网页的特征,该方法正确性得以验证。

3 结语

实验首先利用较为成熟的Google搜索引擎搜索给定主题的URL,并利用网络爬虫爬取一定数量的URL集,随后利用社会网络分析法对收集到的URL集进行了分析,最后得出:利用中心性分析以及凝聚子群分析得到的网页符合权威网页的特征,从而证实了实验的有效性。

但该实验方法也存在一定的不足:

1) 实验数据的整理工作需要手动进行,需要耗费大量精力。后续研究需要找到快速处理URL的方法。

2) 实验用到的网络爬虫功能较为简单,在使用网络爬虫时会爬取到大量与给定主题无关的网页,这也是造成数据整理困难的主要原因。后续工作将增加网络爬虫的功能,使其能够爬取给定主题的网页。

3) URL爬取量也较少,导致URL网络结构稀疏,影响实验的可信度。下一步在改进网络爬虫功能的同时,还需要增加网络爬虫爬取的深度,使实验可信度更高。

参考文献:

[1] 中国互联网络发展状况统计报告[R].中国互联网络信息中心,2013.

[2] 王芳.基于主题的Deep Web搜索引擎研究与探索[D]. 长安大学,2008.

[3] Kleinberg, J. Authoritative sources in a hyperlinked environment[J]. Journal of the ACM, 1999,46(5):604-632.

[4] Brin S, P. Lawrence. The anatomy of a large-scale hypertextual web search engine[J]. Computer Networks, 1998, 30(1-7):107-117.

猜你喜欢
网络爬虫社会网络分析
炼铁厂铁量网页数据获取系统的设计与实现
展会品牌利益相关者的构成及其网络结构研究
基于社会网络分析的我国微课研究探析