搜索引擎技术简介

原创 2004年10月20日 14:39:00
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.07692308PR(B) = 10/13 = 0.76923077PR(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/

搜索引擎技术介绍

引言 早些时候分享过一份关于搜索引擎技术的PPT,这篇文章基本上是基于原来框架,在内容上做了一些改进和扩充。 主要是对搜索引擎技术的各方面做一些简单的介绍和入门的指引。 ...
  • stormbjm
  • stormbjm
  • 2013年06月05日 15:34
  • 9638

搜索引擎技术之概要预览

搜索引擎技术之概要预览 前言     近些天在学校静心复习功课与梳理思路(找工作的事情暂缓),趁闲暇之际,常看有关搜索引擎相关技术类的文章,接触到不少此前未曾触碰到的诸多概念与...
  • chenyi8888
  • chenyi8888
  • 2011年12月06日 13:07
  • 1836

搜索引擎技术:排序技术之一

随着“眼球经济”席卷互联网,成千上万的资金迅速流向最能吸引浏览着眼球的搜索引擎市场。有大量调查显示搜索引擎市场正处在高速发展时期,成为了未来几年内最具发展潜力的产业之一。随着Google、百度、中国搜...
  • ach999
  • ach999
  • 2006年08月28日 20:00
  • 927

搜索引擎技术之概要预览

搜索引擎技术之概要预览前言    近些天在学校静心复习功课与梳理思路(找工作的事情暂缓),趁闲暇之际,常看有关搜索引擎相关技术类的文章,接触到不少此前未曾触碰到的诸多概念与技术,如爬虫,网页抓取,分词...
  • v_JULY_v
  • v_JULY_v
  • 2011年09月27日 20:04
  • 48028

搜索引擎的技术架构

1. 搜索引擎的分类 搜索引擎按其工作方式主要可分为三种: 分别是全文搜索引擎(Full Text Search Engine) 目录索引类搜索引擎(Search Index/Directo...
  • hguisu
  • hguisu
  • 2012年09月07日 17:30
  • 12800

中文搜索引擎技术揭密

系统架构    互联网在近10年的得到飞速发展,互联网正在逐渐深入人们的生活,改变人们的生活。互联网经济也经历了风风雨雨,从缓慢起步到急速膨胀,从泡沫破灭到逐步回暖;从“网络广告”到“拇指经济”,从“...
  • qdzx2008
  • qdzx2008
  • 2006年02月19日 21:56
  • 2564

《解密搜索引擎技术实战:Lucene&Java精华版》---第四章中文分词原理与实现学习笔记(一)

在中文分词过程中,我们不可避免的要用到词典,词典中最基本的格式是每行有一个词,而词典中的内容往往数据量很大,为了保证我们在分词过程中的切分速度,选择一个好的词典查找算法就显得尤为重要。 下面...
  • sinat_32332805
  • sinat_32332805
  • 2017年02月23日 14:27
  • 449

解密搜索引擎技术实战:Lucene&Java精华版

http://book.51cto.com/art/201106/269032.htm
  • IT_YUAN
  • IT_YUAN
  • 2013年05月09日 15:28
  • 1359

搜索引擎核心技术笔记

搜索引擎发展史 1 分类目录:hao123 人工整理 2 文本检索:使用布尔模型、向量空间模型或者概率模型计算查询词和网页文本内容的相关程度 未考虑网页之间的链接关系 3 链接分析:googl...
  • qq100440110
  • qq100440110
  • 2016年11月02日 22:20
  • 321

搜索引擎技术

搜索引擎一直专注于提升用户的体验度,其用户体验度则反映在三个方面:准、全、快。用专业术语讲是:查准率、查全率和搜索速度(即搜索耗时)。其中最易达到的是搜索速度,因为对于搜索耗时在1秒以下的系统来说,访...
  • MSDA
  • MSDA
  • 2007年09月11日 14:01
  • 1018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:搜索引擎技术简介
举报原因:
原因补充:

(最多只允许输入30个字)