WEB结构挖掘算法概述及应用
Web结构挖掘算法概述及应用
[内容提要] Web 结构挖掘是对Web 的链接结构进行分析。本文概述Web结构挖掘技术,列举其常见算法。并对PageRank和HITS这两种最重要的Web结构挖掘算法分析比较。通过对算法规律的研究,指出在网站设计规划时的策略以提高网站的价值。
[关键词]Web结构挖掘 PageRank HITS
Summarization and application of Web Structure Mining arithmetic
Abstract: This paper introduces the conception of Web structure mining, and analyses the authoritative algorithms based on Web hyperlink structure. At the end, correlative application on increasing the rank of the website by Web structure mining algorithms.
Key words: Web Structure Mining ; PageRank;Hyperlink-Induced Topic Search (HITS);
一、 引言
数据挖掘是将人工智能技术和数据库技术紧密结合发展出的一门新的技术,利用计算机从庞大的数据中智能地、自动地抽取有价值的知识模式,以满足人们不同应用的需要。随着互联网的普及和迅猛发展、Web上信息量的爆炸式增长, 网上的资源得到极大丰富, 但也充斥着大量的垃圾信息, 人们迫切需要能从这些纷繁芜杂的信息中找到有用知识的工具。鉴于数据挖掘工具的日益成熟完善, 人们自然而然想到了要把数据挖掘技术应用到Web上来。
Web挖掘指在WWW 上挖掘潜在的、有用的模式及隐藏的信息过程。根据对Web数据的感兴趣程度不同,Web挖掘一般可以分为三类:Web内容挖掘(Web Content mining)、 Web结构挖掘( Web structure mining)、 Web 用法挖掘(Web usage Mining)
其中Web 结构挖掘是对Web 的链接结构进行分析, 以对超链接分析来评估基础Web 资源, 从而发现有用模式, 提高搜索质量。
二、 Web结构挖掘综述
传统的WEB搜索引擎大多数是基于关键字匹配的,返回的结果是包含查询项的文档,也有基于目录分类的搜索引擎。这些搜索引擎的结果并不令人满意。有些站点有意提高关键字出现的频率来提高自身在搜索引擎中的重要性,破坏搜索引擎结果的客观性和准确性。另外,有些重要的网页并不包含查询项。搜索引擎的分类目录也不可能把所有的分类考虑全面,并且目录大多靠人工维护,主观性强,费用高,更新速度慢。
Web结构包括不同网页之间的超链接结构和一个网页内部的可以用HTML,XML表示成的树开结构,以及文档URL中的目录路径结构等。Web页之间的超链接结构中包含了许多有用的信息,当网页A到网页B存在一个超链接时,则说明网页A的作者认为网页B的内容非常重要,且两个网页的内容具有相似的主题。因此,指向一个文档的超链接体现了该文档的被引用情况。如果大量的链接都指向了同一个网页,我们就认为它是一个权威页。这就类似于论文对参考文献的引用,如果某一篇文章经常被引用,就说明它非常重要。这种思想有助于对搜索引擎的返回结果进行相关度排序。从WWW的组织结构和链接关系中推导知识。通过对Web站点的结构进行分析、变形和归纳,将Web页面进行分类,分析一个网页链接和被链接数量以及对象来建立Web自身的链接结构模式,确定不同页面间的相似度和关联度信息。定位相关主题的权威站点,可以极大的提高检索结果的质量。
基于这种超链分析的思想,Sergey Brin和Lawrence Page在1998年提出了PageRank算法,同年J. Kleinberg提出了HITS算法,其它一些学者也相继提出了另外的链接分析算法,如SALSA,PHITS,Bayesian等算法。这些算法有的已经在实际的系统中实现和使用,并且取得了良好的效果。
三、 WEB结构挖掘常见算法
1、 PageRank算法
PageRank算法是Web超链接结构分析中最成功的代表之一。该算法由Stanford大学的Brin和Page提出,是评价网页权威性的一种重要工具。搜索引擎Google、Yahoo、Baidu都是利用该算法和anchor text标记、词频统计等因素相结合的方法对检索出的大量结果进行相关度排序,将最权威的网页尽量排在前面。
1)
PageRank
基本原理
传统情报检索理论中的引文分析方法是确定学术文献权威性的重要方法之一,即根据引文的数量来确定文献的权威性。PageRank 的发明者对网络超链接结构和文献引文机制的相似性进行了研究,把引文分析思想借鉴到网络文档重要性的计算中来,利用网络自身的超链接结构给所有的网页确定一个重要性的等级数,当从网页A 链接到网页B 时,就认为”网页A 投了网页B 一票”,增加了网页B 的重要性。最后根据网页的得票数评定其重要性,以此来帮助实现排序算法的优化,而这个重要性的量化指标就是PageRank 值。
但是网页和学术上的出版文献的差别是很大的。首先学术论文的出版发表非常的严格,而网页的出版非常自由、成本很低并缺乏控制,用一个简单的程序就可以产生大量的网页和很多链接。另外学术出版物的引文一般和文章的领域有关系,而网页的链接范围领域却很广。可见简单的链接数量计算并不能客观真实地反映网页的重要性,所以PageRank 除了考虑网页得票数(即链接) 的纯数量之外,还要分析为其投票的网页的重要性,重要的网页所投之票有助于增强其他网页的“重要性”。简单地说,PageRank 就是要从链接结构中获取网页的重要性,而网页的重要
2)
PageRank
的实现
PageRank在具体实现时会忽略掉Web页面上的文本和其它内容,只考虑页面间的超链接,把Web看成是一个巨大的有向图G =(V,E),结点vÎ V代表一个Web页面,有向边(p,
q )Î E代表从结点p指向结点q的超链接,结点p的出度是指从页面p出发的超链接(outlink)的总数,而入度是指所有指向结点p的超链接(inlink)的总数。
PageRank的具体定义如下:将Web对应成有向图,设W为该有向图结点的集合,N=|W|, Fi是页面i指向的所有页面的集合,Bi是指向页面i的所有页面的集合。对每个出度为0的结点S,设FS ={有向图中全部N个结点},则所有其他结点的Bi={B È i S},这样可以将结点S所具有的PageRank值均匀地传递给其他所有页面。PageRank的具体迭代公式为 。
其中,参数 d是 取值0到1之间的衰减因子,因为任何一个网页的作者都认为其它的网页不如自己的重要。d通常被置为0.85。
PageRank的实现过程为:将网页的URL对应成唯一的整数,把每一个超链接用其整数ID存放到索引数据库中,经过预处理(如去除数据库中的悬摆指针)之后,设每个网页的初
始PR值为1,通过以上的递归算法计算每一个网页的PageRank值,反复进行迭代,直至结果收敛。
2、 HITS算法
1) HITS基本原理
Hill Top 算法的指导思想和PageRank 是一致的,即都通过反相链接的数量和质量来确定搜索结果的排序权重。但超链接的应用存在着许多的潜在的问题,如大量的链接是为了导航(如“点击此按钮返回主页”)或付费广告而创建的。而出于商业竞争的原因,尽管内容相关,有些网站又不会把超链接指向他们的竞争对手(如:Cisco公司不会将超链接指向Sun公司的主页)。
HITS算法他认为网页的重要性应该依赖于用户提出的查询请求。而且对每一个网页应该将其authority权重(由网页的outlink决定)和hub权重(由网页的inlink决定)分开来考虑,通过分析页面之间的超链接结构,可以发现以下两种类型的页面:
中心网页(hub):一个指向权威页的超链接集合的Web页
权威网页(authority):一个被多个Hub页指向的权威的Web页
HITS算法发现,在很多情况下,同一主题下的权威网页(authority),如上例所述Cisco和SUN,之间并不存在相互的链接。所以,权威网页(authority)通常都是通过中心网页(hub)发生关联的。
HITS算法描述了权威网页(authority)和中心网页(hub)之间的一种依赖关系:一个好的中心网页(hub)应该指向很多好的权威性网页(authority),而一个好的权威性网页(authority)应该被很多好的中心性网页(hub)所指向。
2) HITS的实现
HITS首先利用一个传统的文本搜索引擎(例如AltaVista)获取一个与主题相关的网页根集合(root set).然后向根集合中扩充那些指向根集合中网页的网页和根集合中网页所指向的网页,这样就获得了一个更大的基础集合(base set).假设最终基础集合中包含N 个网页,那么对于HITS 算法来说,输入数据就是一个N×N 的相邻矩阵A,其中如果网页i 存在一个链接到网页j,则A
ij=1,否则A
ij=0。
HITS 算法为每个网页i 分配两个度量值:中心度hi 和权威度ai.设向量a=(a
1,a
2, … ,a
N)代表所有基础集合中网页的权威度,而向量h=(h
1,h
2, …,h
N)则代表所有的中心度.最初,将这两个向量均置为u=(1,1, … ,1).操作In(a)使向量a=ATh,而操作Out(h)使向量h=Aa.反复迭代上述两个操作,每次迭代后对向量a 和h 范化,以保证其数值不会使计算溢出.Kleinberg 证明经过足够的迭代次数,向量a 和h 将分别收敛于矩阵ATA 和AAT 的主特征向量.通过以上过程可以看出,基础集合中网页的中心度和权威度从根本上是由基础集合中的链接关系所决定的,更具体地说,是由矩阵ATA 和AAT 所决定
3、 其它算法及归类
链接分析算法可以用来提高搜索引擎的查询效果,可以发现WWW上的重要的社区,可以分析某个网站的拓扑结构,声望,分类等,可以用来实现文档的自动分类等。归根结底,能够帮助用户在WWW海量的信息里面准确找到需要的信息。这是一个正在迅速发展的研究领域。
PageRank和HITS是算法中应用最广的两种,而其它一些类似的算法有的处于研究阶段,有的已经在具体的系统实现了。这些算法大体可以分为3类,基于随机漫游模型的,比如PageRank,Repution算法,基于Hub和Authority相互加强模型的,如HITS及其变种,基于概率模型的,如SALSA,PHITS,基于贝叶斯模型的,如贝叶斯算法及其简化版本。所有的算法在实际应用中都结合传统的内容分析技术进行了优化。一些实际的系统实现了某些算法,并且获得了很好的效果,Google实现了PageRank算法,IBM Almaden Research Center 的Clever Project实现了ARC算法,多伦多大学计算机系实现了一个原型系统TOPIC,来计算指定网页有声望的主题。
四、 PageRank与HITS算法比较
显而易见,两者均是基于链接分析的搜索引擎排序算法,并且在算法中二者均利用了特征向量作为理论基础和收敛性依据。但两种算法的不同点也非常明显。
PageRank是对WWW的整体分析,通过模拟在WWW上的随机游动对每一个网页计算其PageRank值。因此该算法是独立于用户查询的,可以对用户要求产生快速的响应。HITS算法是对WWW的局部分析,是根据特定的查询产生不同的根集,然后计算网页的Authority值和Hub值。该算法是依赖于用户查询的,实时性差。
HITS算法存在“主题漂移”的现象,如用户在查询“量子物理学”时,由于算法中需要对初次检索结果的根集扩充成基集,最终的检索结果中会包含大量的有关“物理学”的站点。因此,HITS适合与宽主题的查询,而PageRank则较好地克服了“主题漂移”的现象。
五、 应用WEB结构挖掘算法提高网站价值
1、 选择链接策略
在互联网的海洋中,最重要的就是互联互通,不被其他网站引用的网站就是“信息孤岛”。WEB结构挖掘引擎所有算法都将网页中的链接作为主要挖掘的对象,特别是实际应用中,大多数用户都是使用基于PageRank算法的Google, Yahoo,Baidu都搜索引擎,因此可以采取以下几种策略,提高网站的排名。
1) 广泛链接策略
来自其他网站的任何反相链接都是有用的。当前常见的新搜索引擎已经不再只是网站目录的索引,而是更全面的网页索引,所以无论来自其他网站任何地方的反相链接都是非常有价值的。
同时如果一个网页只有大量的进入链接,而缺乏导出链接,也会被搜索引擎认为是没有价值的站点。保证你的网站能够帮助搜索引擎更准确地判断哪些是对用户最有价值的信息,也就是说如果你的网站只有外部反向链接而没有导出链接的话,也会对你的网站在搜索结果中的表现带来负面影响。
2) 高质量链接策略
被PageRank高的网站引用能更快地提高PageRank数量只是关键因素之一,来自PageRank高的页面的链接还能更快的提高被链接目标的PageRank
3) 无空链接策略
应当保持网站自身的健康,经常利用坏链检查工具检查网站中是否有死链。同时保持网页内容/链接的稳定性和持久性:在搜索引擎索引中网页存在的历史也是一个比较重要的因素,而且历史比较久的网页被链接的几率越高。为了保证自己网页能够被比较持久的被其他网站的页面引用,如果自己网页中有链接更新时,最好能保留旧的页面并做好链接转向,以保持内容的连续性。
2、 构建友好的网站结构
有了合适的链接,就可以在算法中取得一个比较理想的分值,但由于数据的挖掘过程中由机器Spider自动完成。因此还必须考虑让引擎能完整的采集到所设计的链接,这就需要构建友好的网站结构。
1) 网站结构扁平化
网站目录结构要扁平,因为每深一级目录,PAGERANK降低1-2个档次。假设首页是3,其子可能目录就是1了,更深可能就无法列入评级范围了。
2) 表现和内容的分离
遵循w3c的规范,使用更规范的XHTML和XML作为显示格式,JavaScript和CSS尽可能和网页分离,一方面提高代码重用度(也方便页面缓存),另外一方面,由于有效内容占网页长度的百分比高,也能提高相关关键词在页面中的比重也增加了。因为挖掘引擎会更倾向于
……之间的内容,而不是正文。
3) 建立站点地图
让所有的页面都有能够快速入口:站点地图,方便网页爬虫(spider)快速遍历网站所有需要发布的内容。如果首页就是用Flash或图片进入的话,无异于将搜索引擎拒之门外,除了UI设计的用户友好外,spider 友好也是非常重要的。
六、 结语
网络的结构挖掘技术已经是比较成熟的技术,特别是PageRank算法已经应用到各大搜索网站中。所有的结构挖掘算法都是基于网页结构中超链接的分析。所不同的仅仅只是分析的效率改进和一些附加的分析条件。通过网站结构算法的研究,可以有效地采取应对措施,提高网站在搜索引擎中的排名。从而能网站可以有效的被客户搜索。随着电子商务的迅猛发展,企业应当尽早地重视这种被挖掘的技术应用,提高自身网站的价值。
参考文献
[ 1 ] 何晓阳、吴强、吴治蓉,HITS 算法与PageRank 算法比较分析,情报杂志2004 年第2 期
[ 2 ] 王晓宇、周傲,万维网的链接结构分析及其应用综述,软件学报
[ 3 ] Dan Thies,Google PageRank排名新算法
[ 4 ] Sergey Brin,Lawrence Page,Google的技术剖析,http:// www.51web.biz
[ 5 ] 曹军,Google 的PageRank 技术剖析,情报杂志2002 年第10 期
[ 6 ] 杨海东、张莉,PageRank 技术分析与搜索引擎检索效率研究,淮阴师范学院学报(自然科学版),第2 卷第3 期,2003 年8 月
[ 7 ] 吴军、孙从梅,数据挖掘技术在Web中的应用,内蒙古科技与经济,2004年第12期
[ 8 ] 杨沅钊、吴薇、喻晓莉、杨国才,搜索引擎排名改进算法分析,《农业网络信息》2005 年第2 期
[ 9 ] 陈灶芳黄国涛,用于互联网信息搜索系统的网络蜘蛛设计与实现,广东科技
[ 10 ] 杨炳儒、李 岩、陈新中、王 霞,Web结构挖掘,计 算 机 工 程,2003年11月
[ 11 ] WEB超链分析算法纵览
[ 12 ] Web数据挖掘的研究现状及发展
[ 13 ] 陈莉,焦李成.Internet/Web数据挖掘研究现状及最新进展.西安电子科技大学学报(自然科学版).2001年2月第28卷第1期.
[ 14 ] 车东,如何提高网站在Google中的排名, http://www.zdnet.com.cn/
[ 15 ] 车东,提高网站在Google中的排名——面向搜索引擎的网站设计
[ 16 ] 如何评价网站的人气, http://www.zdnet.com.cn/developer/study/story/0,2000081626,39046113,00.htm
[ 17 ] 数据挖掘未来研究方向及热点, http://www.stcsm.gov.cn/fuwuzhinan/fb/bf/know/20010531-1.asp