CSDN博客

img litchidong

搜索引擎技术简介

发表于2004/10/20 14:39:00  562人阅读

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 1 1 1 0.75 1.125 2 1.0625 0.765625 1.1484375 3 1.07421875 0.76855469 1.15283203 4 1.07641602 0.76910400 1.15365601 5 1.07682800 0.76920700 1.15381050 6 1.07690525 0.76922631 1.15383947 7 1.07691973 0.76922993 1.15384490 8 1.07692245 0.76923061 1.15384592 9 1.07692296 0.76923074 1.15384611 10 1.07692305 0.76923076 1.15384615 11 1.07692307 0.76923077 1.15384615 12 1.07692308 0.76923077 1.15384615 PageRank算法中对于向外链接的权值贡献是平均的,也就是不考虑不同链接的重要性。而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.html 5 G00-09-2318516 http://www.doi.gov/ 6 G01-90-0139455 http://www.bnl.gov/bnlweb/security_notice.html 7 G01-08-1822984 http://naca.larc.nasa.gov/readme.html 8 G00-10-2171731 http://www.nws.noaa.gov/ 9 G07-50-3922430 http://ar.inel.gov/home.html 10 G01-43-2031819 http://www.usgs.gov/accessibility.html 11 G00-01-3584374 http://firstgov.gov/ 12 G00-06-3965004 http://ds.usda.gov/ 13 G01-61-3538562 http://www.usgs.gov/mail.html 14 G00-13-0831825 http://ds.usda.gov/h 15 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.html 5 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.jsp 11 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.jsp 14 G00-01-3584374 http://firstgov.gov/ 15 G00-00-1711483 http://www.lib.noaa.gov/
阅读全文
0 0

相关文章推荐

img
取 消
img