理论教育 网络分析常用软件及其特点

网络分析常用软件及其特点

时间:2023-06-14 理论教育 版权反馈
【摘要】:但值得注意的是,UCINET软件内不包含网络可视化的图形程序,需要将处理结果通过接口输出至NetDraw、Pajek、Mage等软件进行作图。Net Miner具有高级的图形特性,并提供丰富的网络描述方法和基于过程的分析方法,同时也支持例如描述性统计、相关和回归在内的标准统计过程。MultiNet包含四种统计技术:交叉表和卡方检验、ANOVA、相关和p*指数随机图模型。

网络分析常用软件及其特点

(一)社会网络分析软件

随着社会网络技术的不断成熟和计算机水平的飞速发展,社会网络分析软件种类不断增加,功能也更加完善。下面介绍几种常用的软件。

1.UOINET软件

UCINET是最知名和最经常使用的处理社会网络数据和其他相似数据的综合性分析程序。它提供了大量数据管理和转化工具,原始数据格式为矩阵格式,具体测量分析功能包括派系分析、中心性分析、凝聚子群分析、个人角色分析和基于置换的统计分析等。除此之外,软件还包含许多基于过程的分析功能,例如聚类分析、多维标度、角色和地位分析(结构、角色和正则对等性)等。此外,UCINET还提供从简单统计到拟合P1模型在内的多种统计程序。但值得注意的是,UCINET软件内不包含网络可视化的图形程序,需要将处理结果通过接口输出至NetDraw、Pajek、Mage等软件进行作图。

2.NetDraw软件

NetDraw是由Steve Borgatti开发的开源工具软件,主要对网络进行可视化处理。NetDraw可以通过接口与UCINET集成使用,也可以单独使用。它可以处理多种格式的文件,如UCINET的系统文件、DL和Pajek的文本文件等,同时也可以将网络的图形以多种格式输出,例如EMF、Wqk4F、JPG等。

3.Pajek软件

Pajek是一个为处理大数据集而特别设计的网络分析和可视化程序,它可以分析多于100万个节点的超大型网络,并支持大型网络分解成几个较小网络的集合,以便使用更有效的方法进一步处理。Pajek提供了纵向网络分析的工具。数据文件中可以包含指示行动者在某一观察时刻的网络位置的时间标志,因而可以生成一系列交叉网络,可以对这些网络进行分析并考查网络的演化。不过这些分析是非统计性的;如果要对网络演化进行统计分析,需要使用StOCNET软件的SIENA模块。软件提供多种基于过程的分析方法,例如探测结构平衡和聚集性、分层分解和团块模型等,但基本的统计程序较为薄弱。除了普通网络(有向、无向、混合网络)外,Pajek可以同时处理多个网络,还支持多关系网络、二模网络以及暂时性网络等。

4.Net Miner软件

Net Miner是一个结合社会网络分析和可视化探索技术的软件工具。Net Miner采用的网络数据类型包括:邻接矩阵、联系变量和行动者属性数据,使用者可以通过可视化和交互的方式分析数据,得出网络结构和潜在模式。Net Miner具有高级的图形特性,并提供丰富的网络描述方法和基于过程的分析方法,同时也支持例如描述性统计、相关和回归在内的标准统计过程。

5.MultiNet软件

MultiNet是一个适用于分析大型和稀疏网络数据的软件工具。由于MultiNet是为大型网络的分析而专门设计的,其数据输入使用节点和联系列表,而非邻接矩阵。MultiNet可以以图形化方式展现分析程序产生的几乎所有输出结果,并且可以进行各种中心性分析和成分分析,以及这些统计量的频数分布。通过MultiNet,可以使用几种特征空间(Eigenspace)的方法来分析网络的结构。MultiNet包含四种统计技术:交叉表和卡方检验、ANOVA、相关和p*指数随机图模型。

社会网络分析的模型和专业软件的不断完善,使得网络分析的技术性和专业性进一步增强,因此也获得了更多人的关注。研究者利用社会网络分析的新技术,将其应用范围不断扩展,得到了更多的研究成果。

(二)网络爬虫软件

前文中已经检验探讨了网络爬虫的基本概念和爬行方法,现针对爬虫爬取网页的具体步骤和网页搜索策略,介绍几种有代表性的网络爬虫软件。

1.爬取网页的基本步骤

索引擎成为主流检索工具的今天,互联网上的网络爬虫各式各样,但爬虫软件爬取网页的基本步骤大致相同。具体内容包括如下。

(1)人工给定一个URL作为入口,从这里开始爬取。万维网的可视图呈蝴蝶型,网络爬虫一般从蝴蝶型左边结构出发,这里有一些门户网站的主页,而门户网站中包含大量有价值的链接。

(2)用运行队列和完成队列来保存不同状态的链接。对于大型数据量而言,内存中的队列是不够的,通常采用数据库模拟队列。用这种方法既可以进行海量的数据抓取,还可以拥有断点续抓功能。

(3)线程从运行队列读取队首URL,如果存在,则继续执行,反之则停止爬取。

(4)每处理完一个URL,将其放入完成队列,防止重复访问。

(5)每次抓取网页之后分析其中的URL(URL是字符串形式,功能类似指针),将经过过滤的合法链接写入运行队列,等待提取。

(6)重复步骤(3)(4)(5)。(www.daowen.com)

2.网络探索策略

现有的网络爬虫软件的网络搜索策略包括:深度优先策略、广度优先策略和最佳优先策略。

(1)深度优先策略

深度优先,即从起始网页开始,选择一个URL进入,分析这个网页中的URL,选择一个再进入。如此一个链接一个链接地深入追踪下去,处理完一条路线之后再处理下一条路线。该类爬虫设计较为简单。然而深度优先型的网络爬虫存在一个问题:门户网站提供的链接往往最具价值,PageRank也很高,而每深入一层,网页价值和PageRank都会相应地有所下降。这暗示了重要网页通常距离种子较近,而过度深入抓取到的网页却价值很低。广度优先策略能较好地解决这个问题。

(2)广度优先策略

广度优先(又称宽度优先),即从起始网页开始,抓取其中所有链接的网页,然后从中选择一个,继续抓取该网页中的所有链接页面。除了可以解决上述深度优先的问题之外,采用这种策略还有利于多个爬虫并行爬取。这种多爬虫合作抓取通常是先抓取站内链接,遇到站外连接就爬出去,抓取的封闭性很强。广度优先策略的优点在于其设计和实现相对简单,且这种策略的基本思想是:与种子在一定距离内的网页重要度较高,符合实际。

在聚焦爬虫的应用中,广度优先策略可以与网页过滤技术结合,即先用广度优先抓取一些网页,再将其中与主题无关的过滤掉。但这种方法的缺点是随着抓取网页的增多,算法效率会变低。

(3)最佳优先策略

最佳优先,即按照某种网页分析算法预测候选URL与目标网页的相似度,或主题的相关性,并选取其中评价最好的一个或几个URL进行进一步爬取。这种策略的缺陷是可能会有很多相关网页被忽略,但相对地,这种策略可以将无关网页数量降低30%~90%。

3.几种有代表性的网络爬虫软件

(1)HeritriX

Heritrix是一个爬虫框架,可以加入一些可互换的组件。Heritrix是用来获取完整精确的网站内容的爬虫,除文本内容之外,它还获取其他非文本内容(如图片等)并对其进行处理,且不对网页内容进行修改。当重复爬行相同URL时,不会对先前网页进行替换。Heritrix利用广度优先策略来进行网页获取,其主要部件都具有高效性和可扩展性。然而Heritrix也有其一定的局限性,如:只支持单线程爬虫,多爬虫之间不能合作;操作复杂,对有限的资源来说是一个问题;在硬件系统失败时,其恢复能力较差。

(2)Nutch

Nutch深度遍历网站资源,将这些资源抓取到本地,使用的方法都是分析网站每一个有效的URL,并向服务器端提交请求来获得相应结果,生成本地文件及相应的日志信息等。Nutch与Heritrix有几点差异,即如下内容。

①Nutch只获取并保存可索引的内容。

②Nutch可以修剪内容,或者对内容格式进行转换。

③Nutch保存内容为数据库优化格式,便于以后索引,且对重复URL刷新替换旧的内容。

④Nutch从命令行运行与控制。

⑤Nutch的定制能力不够强(不过目前已经有了一定改进)。

(3)Larbin

Larbin不同于以上两种网络爬虫,它只抓取网页,而不提供包括分析网页、将结果存储到数据库以及建立索引等服务。Larbin的目的是对页面上的URL进行扩展性的抓取,为搜索引擎提供广泛的数据来源。虽然工作能力较为单一,但Larbin胜在其高度可配置性和良好的工作效率(一个简单的Larbin爬虫可以每天获取500万的网页),这也是Larbin最初的设计理念。

除了上述几种爬虫软件之外,其他主流的爬虫软件还包括:Python、Lucene和JSpider等。在信息爆炸的今天,搜索引擎成为人们提取网络信息必不可少的工具,而其中网络爬虫技术至关重要。但近年来,随着良莠不齐的各类爬虫频繁出没,一些网站也承受着由爬虫带来的困扰。另外,各种针对搜索引擎的作弊也逐渐浮出水面,这些都是今后有待解决的问题。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈