搜索引擎的排序技术

摘  要:     本文简要介绍和比较了目前搜索引擎所使用的排序算法,主要包括词频位置加权排序算法,链接分析排序算法,并着重介绍了PageRank算法和HITS算法的思想以及二者比较的优缺点。

关键词:     搜索引擎;排序; PageRank; HITS

1     前言

Google和Baidu的崛起,很大程度上是由于他们使用了较以往搜索引擎更加优秀的排序技术。由于通常人们只会关注搜索结果的前10项或20项,所以将与用户查询的结果最相关的信息排列在结果的前排是尤为重要的。比如说以.jp, .de和.edu域名下的网页通常会比.com和.net域名下的网页更加有用[1] 。如何使用户关注的网页排列在搜索结果中靠前排列,使各个搜索引擎公司不断改进优化的方向。作者通过阅读论文与网络资料,将总结并介绍几种比较主要的排序算法:词频位置加权排序算法,链接分析排序算法。

2     词频位置加权排序算法

此类技术是由传统的情报检索和技术基础上发展而来的,即用户输入的检索词在网页中出现的频率越高,出现的位置越重要,那么就认为该网页与此检索词的相关度越高,其在搜索结果出现的位置越靠前,早期的搜索引擎如InfoSeek, Excite, Lycos都使用此类排序方法。

2.1    词频加权

词频加权即根据用户提供的检索词在网页中出现的次数作为判定网页相关度权值高低的依据。词频加权的方法有绝对词频加权、相对词频加权、反词频加权、基于词分辨值加权等等。对于单一词搜索引擎, 只用单纯地计算一个词在网页中的出现频率就可给定权值,而对于具有进行逻辑组配功能的搜索引擎, 则必须用其它的加权方法。因为用组配的检索式检索时, 检索结果跟检索式中的每个检索词相关, 而每个检索词在所有的网页中出现的总频率是不同的,如果按总权值来排序, 就会造成结果的不相关。这可以通过其它多种方法解决。例如, 利用相对词频加权原理, 可以通过对大量网页的统计, 把越是在所有网页中出现频率高的词赋予一个较低的初始值相对地, 在所有网页中出现频率低的词, 给一个较高的权值[2]

2.2    词位置加权

通过对词在网页中不同位置和版式, 给予不同的权值, 从而根据权值来确定所搜索的结果和搜索词的相关程度。词的位置包括网页标题元、网页描述关键字元、正文标题、正文内容、文本链接、标识等, 版式包括字体、字号、有无加粗强调等。例如要了解排序技术, 在搜索“排序技术” 时, 有两个结果,一个标题是《搜索引擎的排序技术》, 另一篇文章的标题是《Web信息检索》, 但内容有个别地方提到搜索引擎的排序技术, 显然第一个结果的相关性更大,“排序技术” 这个词在第一个结果中给予的权值应大一些。

2.3    此类算法的优缺点

此类方法的主要优点就是易用易实现,而且发展的也最成熟,基本上目前所有的搜索引擎排序核心技术的基础。但是由于目前网络的内容质量无法得到保证,为使其网页在搜索引擎中排名靠前,在网页中加入和背景颜色一样的层,并填入大量热门关键词, 人来浏览网页时完全看不到,但搜索引擎在标引时, 却能发现。这种问题目前已经得到一定程度的改善,但仍然未能完全根除。

3     链接分析排序

链接分析排序算法的思想,其实来自于论文文献索引机制,即一篇论文或文献被引用的次数越多,那么其学术价值就越高,同样类比到网页,如果指向某网页的链接越多,那么该网页的重要性就越高。链接分析算法主要分为基于随机漫游模型的, 比如PageRank算法;基于Hub和Authority相互加强模型的, 如HITS及其变种;基于概率模型的, 如SALSA; 基于贝叶斯模型的, 如贝叶斯算法及其简化版本。下面将分别对这几种算法进行介绍。

3.1    PageRank算法

Google搜索引擎有两个重要的特征使得它可以得到高准确度的结果。一,它利用网络的链接特性来计算网页的质量排名,这就是PageRank;二,它利用链接来改进搜索结果[3]

简单的PageRank原理即如图1所示的那样,从网页A导向网页B的链接被看作是对页面A对页面B的支持投票,Google根据这个投票数来判断页面的重要性。可是 Google 不单单只看投票数(即链接数),对投票的页面也进行分析。重要性高的页面所投的票的评价会更高。

图1 PageRank原理简易示意图[4]

最初的PageRank算法:PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

式中:PR(A) :网页A页的PageRank值;PR(Ti): 链接到A页的网页Ti的PageRank值;C(Ti) :网页Ti的出站链接数量;d :阻尼系数,0<d<1。Lawrence Page和Sergey Brin为以上这个PageRank算法给出了一个非常简单直观的解释。他们将PageRank视作一种模型,就是用户不关心网页内容而随机点击链接。

在第二个版本的算法里:PR(A) = (1-d) / N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

这里的N是整个互联网网页的总数。这个算法2,并不是完全不同于算法1。随机冲浪模型中,算法2中页面的PageRank值就是在点击许多链接后到达这个页面页面的实际概率。因此,互联网上所有网页的PageRank值形成一个概率分布,所有RageRank值之和为1。

由于PR(A)取决于其他链向网页A的网页PageRank值,而其他网页的PR值同样取决于指向该网页的网页PR值,如此往复下去,是个递归的过程。如此看来需要进行无穷尽的计算,才能获得网页的PR值,根据参考文献5中的试验,它对网络中的3.22亿个链接进行递归计算,发现进行52次计算后可获得收敛稳定的PageRank值,而对其中一半的链接计算PageRank值时,进行了45次计算。通过试验,发现需要进行递归计算的次数和链接数是成对数比例增长的,即要对N个链接进行计算PageRank值时,只需进行logN次递归计算就可获得稳定的PageRank值[5]

3.2    Hits算法

PageRank算法中对于链接一视同仁,认为每个链接所贡献的权值都是相同的,而在实际生活中,有些链接是指向广告,而有些链接则指向权威网页。可见,均匀分布的权值并不符合实际情况。于是康奈尔大学的Jon Kleinberg博士于1998年首先提出Hits算法。

HITS算法对网页进行质量评估的结果反映在它对每个网页给出的两个评价数值:内容权威度(Authority)和链接权威度(Hub)上。

内容权威度与网页自身直接提供内容信息的质量相关,被越多网页所引用的网页,其内容权威度越高;与之相对应的,链接权威度与网页提供的超链接的质量相关,引用越多内容质量高网页的网页,其链接权威度越高。将查询提交给传统的基于关键字匹配的搜索引擎.搜索引擎返回很多网页,从中取前n个网页作为根集合。把根集合中的页面所指向的页面都包括进来,再把指向根集合中页面的页面也包括进来,这样就扩充成了基础集合。HITS算法输出一组具有较大Hub值的网页和具有较大权威值的网页[6]

与PageRank等实用性算法不同,HITS算法更大程度上是一种实验性质的尝试。表面上看,HITS 算法对需排序的网页数量较小,但由于需要从基于内容分析的搜索引擎中提取根集并扩充基本集,这个过程需要耗费相当的时间,而PageRank 算法表面上看,处理的数据数量上远远超过了HITS算法,但由于其计算量在用户查询时已由服务器端独立完成,不需要用户端等待,基于该原因,从用户端等待时间来看,PageRank算法应该比HITS 要短[7]

3.3    其他链接分析排序算法

PageRank算法是基于用户随机的向前浏览网页的直觉知识,HITS算法考虑的是Authoritive网页和Hub网页之间的加强关系。实际应用中,用户大多数情况下是向前浏览网页,但是很多时候也会回退浏览网页。基于上述直觉知识,R. Lempel和S. Moran提出了SALSA(Stochastic Approach for Link-Structure Analysis)算法,考虑了用户回退浏览网页的情况,保留了PageRank的随机漫游和HITS中把网页分为Authoritive和Hub的思想,取消了Authoritive和Hub之间的相互加强关系[8]

Allan Borodin等提出了完全的贝叶斯统计方法来确定Hub和Authoritive网页。假定有M个Hub网页和N个Authority网页,可以是相同的集合。每个Hub网页有一个未知的实数参数,表示拥有超链的一般趋势,一个未知的非负参数,表示拥有指向Authority网页的链接的趋势。每个Authoritive网页j,有一个未知的非负参数,表示j的Authority的级别。统计模型如下,Hub网页i到Authority网页j的链接的先验概率如下给定:P(i,j)=Exp(+)/(1+Exp(+))。Hub网页i到Authority网页j没有链接时,P(i,j)=1/(1+Exp(+))。从以上公式可以看出,如果很大(表示Hub网页i有很高的趋势指向任何一个网页),或者和都很大(表示i是个高质量Hub,j是个高质量的Authority网页),那么i->j的链接的概率就比较大[9]

4     其他排序技术

除了上述两大类排序算法外,还有其他一些排序的方法,比如:竞价排名(竞价排名是一些搜索引擎公司如百度所推出的一种按价格高低决定排名先后的网络推广方式,但对竞价者的信息真实性需要进行严格甄选,否则用户对搜索引擎的信任会被灰色产业利用[10]),通过用户反馈提高排序准确性,通过理解增加排序的相关性,通过智能过滤减少排序结果的重复性等。

5     结束语

综上所述,目前像Google这样的搜索引擎,其中排序方法是非常复杂的,它需要考虑各个方面的因素而不是单一的上述某种算法。我个人认为搜索引擎今后会变得更加人性化,会根据用户的喜好来对结果进行排序和过滤,另外针对特定领域的专业搜索引擎也会逐渐发展起来,比如针对财经,体育之类的专门搜索引擎。相信在浏览器逐渐强大的未来,搜索引擎将发挥更大的影响力。

References:

[1]     Dennis Fetterly , Mark Manasse , Marc Najork , Janet Wiener: A Large-Scale Study of the Evolution of Web Pages, In:Proc.of the 12th Int‘l World Wide Web Conf.New York:ACM Press,2003.669-678..

[2]     杨思洛. 搜索引擎的排序技术研究[J].现代图书情报技术, 2005, (01).

[3]     S.Brin and L.Page, "The anatomy of a large-scale hypertextual Web search engine," presented at Proceeding of the Seventh International World Wide Web Conference(WWW7)/Computer Networks, Amsterdam, 1998

[4]     Page L, Brin S, etc. The pagerank citation ranking: bringing order to the Web[J].Stanford Digital Libraries Working Paper,1998,(6):102-107.

[5]     T. Have liwala. Efficient computation of PageRank. Technical Report 1999-31, 1999.

[6]     http://www.360doc.com/showWeb/0/0/569471.aspx

[7]     何晓阳, 吴强, 吴治蓉:HITS算法与PageRank算法比较分析.情报杂志2004年第2期

[8]     http://hi.baidu.com/en_seo/blog/item/ba54f586b343f13c67096e97.html

[9]     朱炜, 王超, 李俊等. Web超链分析算法研究.计算机科学,2003,30(1)

[10]     常璐, 夏祖奇; 搜索引擎的几种常用排序算法.图书情报工作2003年第6期

转载 http://blog.csdn.net/arthur0808/article/details/4030340

时间: 2024-08-03 05:31:02

搜索引擎的排序技术的相关文章

搜索引擎网页排序算法

2.1基于词频统计——词位置加权的搜索引擎 利用关键词在文档中出现的频率和位置排序是搜索引擎最早期排序的主要思想,其技术发展也最为成熟,是第一阶段搜索引擎的主要排序技术,应用非常广泛,至今仍是许多搜索引擎的核心排序技术.其基本原理是:关键词在文档中词频越高,出现的位置越重要,则被认为和检索词的相关性越好. 1)词频统计 文档的词频是指查询关键词在文档中出现的频率.查询关键词词频在文档中出现的频率越高,其相关度越大.但当关键词为常用词时,使其对相关性判断的意义非常小.TF/IDF很好的解决了这个问

【Query处理学习笔记】搜索引擎查询推荐技术综述_中文信息学报2010_王斌

主要内容:对通用搜索引擎的查询推荐技术的方法.评价进行了总结 具体内容: "查询推荐"的不同英文叫法:Query Suggestion.Term Suggestion.Query Recommendation.Query Substitution.Query Rewriting 查询推荐的任务:找出和用户查询相似的query,以便更好地表达用户查询意图,供用户便捷输入 三种技术方法: 1. 基于文档的方法:通过处理query搜索出来的文档,以此作为反馈,进一步理解用户意图,扩充quer

浅谈PageRank网页排序技术

PageRank的主要原理是用链接数量作为搜索排序的一个因子.在互联网上,如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高.这就是PageRank的核心思想.举个例子,我们知道一个网页Y的排名应该来自于所有指向这个网特的其他网页X1,X2,.......Xn,的权重之和,如图1所示,Y的网页pageRank=0.001+0.01+0.02+0.05=0.081. 图1 网页排名计算 接下来的问题就是X1,X2,X3,X4的权重分别是多少,如何度量.首先,假定所有的网

excel排序技术记录

问题: 给了我一个excel,要求以奖项和编码同时进行排序(奖项优先),但是单元格大小不一样,有数列都是合并了单元格的,同时编码的格式还不一样,有些是SMM-2-07,有些是2-07,所以根本无法进行排序 解决办法: 解决单元格格式不统一问题: 分解单元格:首先全选,右键取消合并单元格,但是原来的内容只会出现在最上面的单元格中,此时按住ctrl+G,选择值:空白,确定后,输入(不要点击上面的输入框,直接按键盘输入就行)第一个空白格复制的那个格子的坐标,确定即可,所有的单元格都会仿照此操作,从而填

搜索引擎技术之概要预览

搜索引擎技术之概要预览 前言 近些天在学校静心复习功课与梳理思路(找工作的事情暂缓),趁闲暇之际,常看有关搜索引擎相关技术类的文章,接触到不少此前未曾触碰到的诸多概念与技术,如爬虫,网页抓取,分词,索引,查询,排序等等,更惊叹于每一幅精彩的架构图,特此,便有记录下来的冲动,以作备忘. 本文从最主要的搜索引擎的概念谈起,到全文检索的概念,由网络蜘蛛,分词技术,系统架构,排序的解说(结合google搜索引擎的技术原理),而后到图片搜索的原理,终于以几个开源搜索引擎软件的介绍结束全文. 因为本文初次接

搜索引擎综述(来自网络,图片连接…

互联网在近10年的得到飞速发展,互联网正在逐渐深入人们的生活,改变人们的生活.互联网经济也经历了风风雨雨,从缓慢起步到急速膨胀,从泡沫破灭到逐步回暖:从"网络广告"到"拇指经济",从"网络游戏"到"搜索力经济".目前,搜索引擎成为最受人们关注的焦点之一,也成为亿万富翁的制造摇篮.越来越多的公司都希望在搜索引擎这座金矿中挖到筐金子,其中许多人会选择拥有自己的搜索引擎.国内著名搜索引擎公司百度(http://www.baidu.c

1.搜索引擎的历史,搜索引擎起步,发展,繁荣,搜索引擎的原理,搜索技术用途,信息检索过程,倒排索引,什么是Lucene,Lucene快速入门

 一: 1  搜索引擎的历史 萌芽:Archie.Gopher Archie:搜索FTP服务器上的文件 Gopher:索引网页 2  起步:Robot(网络机器人)的出现与spider(网络爬虫) Robot基于网络的,可以执行特定任务的程序 Spider:特殊的机器人,网络爬虫,爬取互联网上的信息(可以是文件,网络)----网络自动下载程序 3   发展阶段:excite,galaxy,yahoo这些公司做搜索 4   繁荣:infoseek,AltaVista,Google和百度 5  

达观数据搜索引擎排序实践

前言 随着互联网的深入发展,人类已然进入大数据时代.如何在浩瀚的数据海洋里高速有效的获取有价值的信息,正是促使大数据技术具备走向众多企业的潜力.搜索引擎作为获取信息的有效入口,已然经历了20多年的发展,并一直试图理解用户搜索意图以及提升搜索的精准性. Google是全球性的搜索引擎,看似简单的搜索框背后隐藏的是极其复杂的系统架构和搜索算法,其中排序(以下统称Ranking)的架构和算法更是关键部分.Google正是通过PageRank算法深刻改变搜索排序而一举击败众多竞争对手. Ranking是

搜索引擎技术介绍

引言 早些时候分享过一份关于搜索引擎技术的PPT,这篇文章基本上是基于原来框架,在内容上做了一些改进和扩充. 主要是对搜索引擎技术的各方面做一些简单的介绍和入门的指引. 索引 1. 需求与历史 2. 搜索产品简单介绍 3. 搜索技术 3.1 系统 3.2 数据 3.3 算法 4. 开源方案 5. 现状与未来 需求与历史 搜索引擎的诞生源自互联网最根本的用途之中的一个:信息获取.在搜索引擎出现之前,互联网缺少入口,用户往往须要自己记住实用的站点和网页. 为了满足这样的需求,最早的"搜索引擎&quo