搜索引擎网页排序算法研究

搜索引擎网页排序算法研究

(转自中点线网络:http://www.cnbjyh.com/seo/201103075540.html)

随着互联网的飞速发展,网络信息资源越来越庞大,通常情况下,用户检索到的结果成千上万,所以对于任何一个搜索引擎而言,都必须配备理想的网页排序算法。可以说,排序算法的好坏在一定程度上决定了搜索引擎的质量。目前比较著名的排序算法有词频位置加权排序算法、DirectHit算法、PageRank算法、HITS算法、以及竞价排名服务等。

一、词频位置加权排序算法

词频位置加权排序算法[2]通过查询关键词在页面中出现的次数和位置对网页进行排序,它是计算机情报检索中最基础的排序算法。该算法的基本思想是,对于用户输入的搜索关键词,如果它在某网页中出现的频率越高,位置越重要,就认为该网页和关键词的相关性越好,也越能满足用户的需求。举例来说,假设搜索关键词出现在“网页主体body”中的权重为l,出现在“标题title”中的权重为2,出现在“链接URL”中的权重为0.5,那么根据关键词出现的次数和位置加权求和,再进行一些辅助计算,就可以得到网页和关键词的相关性权值,这样就可以根据这一权值对查询结果进行排序。

显然,这种排序算法具有思想简单、容易实现的优点,但它的缺点也很明显[3]。因为关键词出现的频率和位置并不是决定排序结果的唯一要素,而该算法过于依赖关键词的重要性,无法保证页面的质量。例如,一些网页设计者在页面中罗列大量与主题无关但常被搜索的词,或者在页面的隐藏域中添加与该页面毫无关联的词,那么在搜索这些关键词时,不相关的页面也会出现在搜索结果中。所以,随着搜索引擎技术的发展,词频位置加权排序算法只能辅助排序,而不能在搜索引擎网页排序中单独使用。

二、DirectHit算法

DirectHit算法[4]是一种注重信息质量和用户反馈的排序方法。它的基本思想是,搜索引擎将查询的结果返回给用户,并跟踪用户在检索结果中的点击。如果返回结果中排名靠前的网页被用户点击后,浏览时间较短,用户又重新返回点击其它的检索结果,那么可以认为其相关度较差,系统将降低该网页的相关性。另一方面,如果网页被用户点击打开进行浏览,并且浏览的时间较长,那么该网页的受欢迎程度就高,相应地,系统将增加该网页的相关度。可以看出,在这种方法中,相关度在不停地变化,对于同一个词在不同的时间进行检索,得到结果集合的排序也有可能不同,它是一种动态排序。

该算法的优点是能够节省大量时间,因为用户阅读的是从搜索结果中筛选出来的更加符合要求的结果。同时,这种算法直接融入用户的反馈信息,能够保证页面的质量。然而,统计表明,DirectHit算法只适合于检索关键词较少的情况,因为它实际上并没有进行排序,而是一种筛选和抽取,在检索数据库很大、关键词很多的时候,返回的搜索结果成千上万,用户不可能一一审阅。因此,这种方式也不能作为主要的排序算法来使用,而是一种很好的辅助排序算法,目前在许多搜索引擎当中仍然在使用。

三、PageRank算法

斯坦福大学的LarryPage和SergeyBrin于1996年提出了PageRank算法[5]。该算法基于这样的假设:如果一个页面被许多其它页面引用,则这个页面很可能是重要页面;一个页面尽管没有被多次引用,但被一个重要页面引用,那么这个页面很可能也是重要页面;一个页面的重要性被均分并传递到它所引用的页面。设网页A有T1,T2,…,Tn共n个网页指向它,参数d是0到l之间的控制系数,通常为0.85,C(Ti)是一个从网页A链出的网页数,则A的PageRank值由以下公式[6]计算:PR(A)=(1-d)+d×(PR(T1))/C(T1)+…+PR(Tn)/C(Tn)通常情况下,设定每个网页的初始PageRank值为1,通过公式递归计算各网页的PageRank值,直到趋于稳定。由于其用户行为模型假设用户访问网络是完全随机的,因此一个页面的PageRank值被平分给了其所指向的页面,由公式中的项PR(Ti)/C(Ti)可以明显地看出其平分策略。

四、HITS算法

1998年,康奈尔大学的JonKleinberg博士提出了HITS(Hyperlink-InducedTopicSearch)算法,即超文本引入主题搜索[7]。不同于PageRank所采用的计算网页权值的方法,HITS算法根据网页的出链接和入链接数来判断网页的重要性。HITS算法将网页分为两种类型[8]:一种是表达某一主题的权威页面,称为Authority页面;另一种是能把Authority页面联结在一起的页面,称为Hub页面。通常情况下,好的Hub页面指向很多好的Authority页面;好的Authority页面也会有许多Hub页面所指向。HITS算法正是利用了页面间的这种关系,从而大大提高了搜索质量。由于网页的这种分类,HITS算法也就涉及两个重要的权值,Authority值和Hub值。Authority表示一个权威网页被其它网页所引用的加权数量,即该权威网页的加权入度值,若某网页被引用的数量越大,则该网页的加权入度值越大,Authority越大;Hub表示一个Web页面指向其它网页的加权数量,即该Web页面的加权出度值,它提供了指向权威页面的链接集合,某网页的加权出度值越大,则该网页的Hub值越大。

HITS算法的基本流程是:

(1)对于一个检索关键词,从搜索引擎返回的网页中取前n个作为根集,用S表示,S中所含的网页必须是和关键词相关的,且数量相对较少,包含较多权威页面;

(2)在根集S中加入引用S的网页和被S引用的网页,得到扩展集T;

(3)计算网页的Authority值和Hub值,并据此对网页进行排序。

设T中的Hub页面为顶点集V1,Authority页面为顶点集V2,V1中网页到V2中网页的链接为边集E,那么对于V1中的任一顶点v,h(v)表示该网页的Hub值,对于V2中的顶点u,a(u)表示该网页的Authority值。

HITS算法计算简单、效率高,可以获得比较好的查全率,但它仅仅根据网页之间的链接关系来决定其重要程度,还存在一些缺点:第一,某些网页可能通过恶意大量引用其它页面,来提高排名;第二,会造成里主题漂移问题,例如用户输入查询关键词“流感”,想了解“流感”的症状及其预防和治疗,那么一些门户网站上的新闻类网页很有可能会排在专业医学网站的前面,这样就不符合用户的需要,导致主题漂移。本文章由搜索引擎优化中点线网络整理,中点线致力于百度优化,网站建设,网站优化,关键词优化,等seo业务。搜索引擎营销服务

相关推荐