搜索引擎技术简介
1.系统结构:抓取网页建立索引库在索引库中搜索结果排序主要的数据结构 倒排索引(inverted indexing list)这种数据结构广泛地应用在今天包括Web搜索引擎在内的各种信息检索系统中。其典型的总体结构,如下图所示 :Page Rank算法基于下面2个前提:
前提1:一个网页被多次引用,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威(Authoritative)网页。
前提2:假定用户一开始随机的访问网页集合中的一个网页,以后跟随网页的向外链接向前浏览网页,不回退浏览,浏览下一个网页的概率就是被浏览网页的Page Rank值。首先,PageRank并不是将整个网站排等级,而是以单个页面计算的。其次,页面A的PageRank值取决于那些连接到A的页面的PageRank的递归值。PR(Ti)值并不是均等影响页面PR(A)的。在PageRank的计算公式里,T对于A的影响还受T的出站链接数C(T)的影响。这就是说,T的出站链接越多,A受T的这个连接的影响就越少。PR(A)是所有PR(Ti)之和。所以,对于A来说,每多增加一个入站链接都会增加PR(A)。最后,所有PR(Ti)之和乘以一个阻尼系数d,它的值在0到1之间。因此,阻尼系数的使用,减少了其它页面对当前页面A的排序贡献。PageRank算法
2(对算法1的修订) PR(A) = (1-d) / N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)) 其中N是互联网上所有网页的数量由此,所有页面的网页级别形成的一个概率分布,所有页面的网页级别之和是1。在算法1中,随机冲浪访问某个页面的概率由互联网的总页数决定,在算法2中,网页级别是一个页面被随机访问的期望值。 所有页面的网页级别之和等于互联网的总页数。在网页数比较少的情况下,网页级别方程可以解出,而面对互联网上成亿的网页,再解方程是不可能的。 此处设阻尼系数为0.5,虽然Lawrence Page 和 Sergey Brin在实际将其设为0.85. PR(A) = 0.5 + 0.5 PR(C) PR(B) = 0.5 + 0.5 (PR(A) / 2) PR(C) = 0.5 + 0.5 (PR(A) / 2 + PR(B)) 解得: PR(A) = 14/13 = 1.07692308 PR(B) = 10/13 = 0.76923077 PR(C) = 15/13 = 1.15384615 有: PR(A)+PR(B)+PR(C)=3迭代计算pagerank Google采用一种近似的迭代的方法计算网页的网页级别的,也就是先给每个网页一个初始值,然后利用上面的公式,循环进行有限次运算得到近似的网页级别。根据Lawrence Page 和 Sergey Brin公开发表的文章,他们实际需要进行100次迭代才能得到整个互联网的满意的网页级别值,这儿的例子只用了10多次就可以了。在迭代的过程中,每个网页的网页级别的和是收敛于整个网络的页面数的。所以,每个页面的平均网页级别是1,实际上的值在(1-d)和(dN+(1-d))之间。 迭代次数 PR(A) PR(B) PR(C)0 1 1 11 1 0.75 1.1252 1.0625 0.765625 1.14843753 1.07421875 0.76855469 1.152832034 1.07641602 0.76910400 1.153656015 1.07682800 0.76920700 1.153810506 1.07690525 0.76922631 1.153839477 1.07691973 0.76922993 1.153844908 1.07692245 0.76923061 1.153845929 1.07692296 0.76923074 1.1538461110 1.07692305 0.76923076 1.1538461511 1.07692307 0.76923077 1.1538461512 1.07692308 0.76923077 1.15384615PageRank算法中对于向外链接的权值贡献是平均的,也就是不考虑不同链接的重要性。
而WEB的链接具有以下特征:
1.有些链接具有注释性,也有些链接是起导航或广告作用。有注释性的链接才用于权威判断。
2.基于商业或竞争因素考虑,很少有WEB网页指向其竞争领域的权威网页。
3.权威网页很少具有显式的描述,比如Google主页不会明确给出WEB搜索引擎之类的描述信息。 可见平均的分布权值不符合链接的实际情况。
J. Kleinberg提出的HITS算法中引入了另外一种网页,称为Hub网页,Hub网页是提供指向权威网页链接集合的WEB网页,它本身可能并不重要,或者说没有几个网页指向它,但是Hub网页确提供了指向就某个主题而言最为重要的站点的链接集合,比一个课程主页上的推荐参考文献列表。一般来说,好的Hub网页指向许多好的权威网页;好的权威网页是有许多好的Hub网页指向的WEB网页。这种Hub与Authoritive网页之间的相互加强关系,可用于权威网页的发现和WEB结构和资源的自动发现,这就是Hub/Authority方法的基本思想。HITS(Hyperlink-Induced Topic Search)算法是利用Hub/Authority方法的搜索方法,算法如下:
将查询q提交给传统的基于关键字匹配的搜索引擎.搜索引擎返回很多网页,从中取前n个网页作为根集(root set),用S表示。S满足如下3个条件: 1.S中网页数量相对较小 2.S中网页大多数是与查询q相关的网页 3.S中网页包含较多的权威网页。 通过向S中加入被S引用的网页和引用S的网页将S扩展成一个更大的集合T. 以T中的Hub网页为顶点集Vl,以权威网页为顶点集V2,Vl中的网页到V2中的网页的超链接为边集E,形成一个二分有向图SG=(V1,V2,E)。对V1中的任一个顶点v,用h(v)表示网页v的Hub值,对V2中的顶点u,用a(u)表示网页的Authority值。开始时h(v)=a(u)=1,对u执行I操作修改它的a(u),对v执行O操作修改它的h(v),然后规范化a(u),h(v),如此不断的重复计算下面的操作I,O,直到a(u),h(v)收敛。式(1)反映了若一个网页由很多好的Hub指向,则其权威值会相应增加(即权威值增加为所有指向它的网页的现有Hub值之和)。式(2)反映了若一个网页指向许多好的权威页,则Hub值也会相应增加(即Hub值增加为该网页链接的所有网页的权威值之和)。
上面介绍的PageRank和HITS是目前使用最广泛的链接分析算法。这两个算法都基于两个假设:链接传递作者的认可。如果存在从页面A到页面B的链接,A和B的作者不同,则说明A的作者发现B有用。所以页面的重要性能够被传播到其链接到的页面。在某个页面中同时被引用的页面很有可能讲述相同的话题。然而这两个假设在很多情况下都是不成立的一个典型的例子见下图的页面(http://news.yahoo.com)页面中包含了多种不同的语义(由不同颜色的矩形框出)还包含了很多用于广告和导航的链接(左边矩形)这种情况下很多页面的重要性很有可能被Pagerank计算错误也可能引起HITS算法的主题漂移。引起这两个问题的原因是每一个单一的页面经常包含了很多的语义,而且页面中的不同部分一般都有不同的重要性级别。从语义分割的角度看,页面也不应该是最小单位。不同语义块中的包含的链接通常指向不同话题的页面。自然的,应该将这些语义块作为信息的最小单位。下面介绍一个新颖的基于视觉的页面分割方法VIPS(Vision-based Page segmentation)人们浏览网页都是通过浏览器获取一个2D的图像呈现。其中包括了很多可见的提示来帮助人们区分页面的各个部分(比如lines,blanks,images,colors…)为了浏览的简单性和可理解性,一般来说每个封闭的block都是说明一个单一的语义。说到语义分析,这里请了解一下,传统的语义分析是基于内容的分析,速度是非常慢的,同时也很难而且不准确。VIPS抛弃了语义分析,而在页面的视觉提示基础上将页面分成块。这个过程类似于人对于页面分布的视觉理解。由此引入了两种新的链接分析算法: Block Level PageRank (BLPR) Block Level HITS(BLHITS)首先:把页面分解成语义块。树形结构,每个节点代表一个块,并被分配了一个值Doc(一致度)来表示在视觉理解上这个块中内容的一致度。分割方法:先建立html DOM树,在DOM树分成的块中寻找每个分隔符(比如横线,垂直线)再次分隔成语义块。具体细节参考D. Cai, S. Yu, J.-R. Wen, and W.-Y. Ma, VIPS: a visionbased page segmentation algorithm, Microsoft Technical Report,MSR-TR-2003-79, 2003.
基于上述的两个矩阵,我们可以建立两个图模型:页面图 GP (VP,EP, WP) 和块图 GB (VB, EB, WB).每个图中,V 是顶点集合(page, block, respectively), E 是连接两个顶点的边集合,W 是定义这些边的权值矩阵Block-level PageRank取A为图G的权值矩阵,先将A中每行的和正则化为1,得到一个跳转可能性矩阵M。然后可以定义模型:每个浏览者任意时刻都在浏览某个页面,以(1-ε)的概率从当前页面中随机挑选出一个链接并点击访问,以ε的概率从收藏夹中随机等概率的挑选出另一个网址访问。
测试结果(.gov中PR前15 )1 G00-05-4074066 http://www.usgs.gov/2 G00-08-3906771 http://www.nasa.gov/3 G00-06-0690672 http://www.usda.gov/4 G00-54-0168623 http://www.usgs.gov/privacy.html5 G00-09-2318516 http://www.doi.gov/6 G01-90-0139455 http://www.bnl.gov/bnlweb/security_notice.html7 G01-08-1822984 http://naca.larc.nasa.gov/readme.html8 G00-10-2171731 http://www.nws.noaa.gov/9 G07-50-3922430 http://ar.inel.gov/home.html10 G01-43-2031819 http://www.usgs.gov/accessibility.html11 G00-01-3584374 http://firstgov.gov/12 G00-06-3965004 http://ds.usda.gov/13 G01-61-3538562 http://www.usgs.gov/mail.html14 G00-13-0831825 http://ds.usda.gov/h15 G00-48-1523058 http://www.usgs.gov/disclaimer.html测试结果(.gov中BLPR前15 )1 G00-05-4074066 http://www.usgs.gov/2 G00-08-3906771 http://www.nasa.gov/3 G00-06-0690672 http://www.usda.gov/4 G00-54-0168623 http://www.usgs.gov/privacy.html5 G00-10-2171731 http://www.nws.noaa.gov/6 G00-02-1372443 http://www.nara.gov/7 G00-02-3781964 http://www.cdc.gov/8 G00-04-1013476 http://www.ca.gov/9 G00-04-0880016 http://www.abag.ca.gov/10 G01-92-0844584 http://www.ca.gov/state/portal/myca_homepage.jsp11 G00-01-0423383 http://access.wa.gov/12 G00-09-2318516 http://www.doi.gov/13 G01-74-0536144 http://my.ca.gov/state/portal/myca_homepage.jsp14 G00-01-3584374 http://firstgov.gov/15 G00-00-1711483 http://www.lib.noaa.gov/