或者

浅谈搜索引擎的核心算法

作者:月光边境 浏览:86 发布时间:2017-06-15
分享 评论 0

外链是搜索引擎算法中,判断网站权重高低的重要指标,当用户在搜索框中输入关键时,搜索引擎面对大量拥有相同内容的网页,首先需要解决的就是,通过哪些参数觉得网页排名的高低。今天,笔者就简单介绍外链建设中,比较有名的核心算法:PageRank算法、Hilltop算法、Direct Hit 算法。
  第一种算法、PageRank算法
  1998年,Sergey Brin和Lawrence Page提出了PageRank算法。该算法基于“从许多优质的网页链接过来的网页,必定还是优质网页”的回归关系,来判定网页的重要性。该算法认为从网页A导向网页B的链接可以看作是页面A对页面B的支持投票,根据这个投票数来判断页面的重要性。当然,不仅仅只看投票数,还要对投票的页面进行重要性分析,越是重要的页面所投票的评价也就越高。根据这样的分析,得到了高评价的重要页面会被给予较高的PageRank值,在检索结果内的名次也会提高。PageRank是基于对“使用复杂的算法而得到的链接构造” 的分析,从而得出的各网页本身的特性。
  分析:PageRank算法的优点在于它对互联网上的网页给出了一个全局的重要性排序,并且算法的计算过程是可以离线完成的,这样有利于迅速响应用户的请求。不过,其缺点在于主题无关性,没有区分页面内的导航链接、广告链接和功能链接等,容易对广告页面有过高评价;另外,PageRank算法的另一弊端是,旧的页面等级会比新页面高,因为新页面,即使是非常好的页面,也不会有很多链接,除非他是一个站点的子站点。这就是PageRank需要多项算法结合的原因。
  第二种算法、Hilltop算法
  HillTop,是一项搜索引擎结果排序的专利,是Google的一个工程师Bharat在2001年获得的专利。HillTop算法的指导思想和PageRank是一致的,即都通过反向链接的数量和质量来确定搜索结果的排序权重。但HillTop认为只计算来自具有相同主题的相关文档链接对于搜索者的价值会更大,即主题相关网页之间的链接对于权重计算的贡献比主题不相关的链接价值要更高。在1999-2000年,当这个算法被Bharat与其他Google开发人员开发出来的时候,他们称这种对主题有影响的文档为“专家”文档,而只有从这些专家文档页面到目标文档的链接决定了被链接网页“权重得分”的主要部分。
  Hilltop算法的过程:首先计算查询主题最相关的“专家”资源列表;其次在选中的“专家”集中识别相关的链接,并追踪它们以识别相关的网页目标;然后将目标根据非关联的指向它们的“专家”数量和相关性排序。由此,目标网页的得分反映了关于查询主题的最中立的专家的集体观点。如果这样的专家池不存在,Hilltop不会给出结果。
  从Hilltop算法过程可见,该算法包括两个主要的方面:寻找专家;目标排序。通过对搜索引擎抓取的网页进行预处理,找出专家页面。对于一个关键词的查询,首先在专家中查找,并排序返回结果。
  权威页面是对于一个查询主题来说最好的专家指向的页面。专家也有可能在更宽泛的领域或其它领域的主题上也是专家。在专家页面中只有一部分链接与主题相关。因此,把查询主题的专家中相关的外向链接合并,以找到查询主题相关页面高度认可的页面。
  从排名在前的匹配专家页面和相联系的匹配信息中选择专家页面中一个超链接的子集。尤其选择那些与所有的查询相关的链接。基于这些选中的链接找出一个它们的目标子集作为查询主题最相关的网页。这个目标子集包含至少被两个非亲属的专家页面链接到的网页。目标集根据指向它们的专家的综合成绩来排序。
  Hilltop在应用中还存在一些不足。专家页面的搜索和确定对算法起关键作用,专家页面的质量决定了算法的准确性;而专家页面的质量和公平性在一定程度上难以保证。Hiltop忽略了大多数非专家页面的影响。在Hiltop的原型系统中,专家页面只占到整个页面的1.79%,不能全面代表整个互联网。
  Hiltop算法在无法得到足够的专家页面子集时(少于两个专家页面),返回为空,即Hiltop适合于对查询排序进行求精,而不能覆盖。这意味着Hilltop可以与某个页面排序算法结合,提高精度,而不适合作为一个独立的页面排序算法。Hilltop中根据查询主题从专家页面集合中选取与主题相关的子集也是在线运行的,这与前面提到的HITS算法一样会影响查询响应时间。随着专家页面集合的增大,算法的可伸缩性存在不足之处。
  分析:HITS算法的优点在于它能更好地描述互联网的组织特点,由于它只是对互联网中的很小的一个子集进行分析,所以它需要的迭代次数更少,收敛速度更快,减少了时间复杂度。
  但HITS算法也存在如下缺点:中心网页之间的相互引用以增加其网页评价,当一个网站上的多篇网页指向一个相同的链接,或者一个网页指向另一个网站上的多个文件时会引起评分的不正常增加,这会导致易受“垃圾链接”的影响;网页中存在自动生成的链接;
  主题漂移,在邻接图中经常包括一些和搜索主题无关的链接,如果这些链接自身也是中心网页或权威网页就会引起主题漂移:对于每个不同的查询算法都需要重新运行一次来获取结果。这使得它不可能用于实时系统,因为对于上千万次的并发查询这样的开销实在太大。
  第三种算法、Direct Hit 算法
  与前面的算法相比,Ask Jeeves公司的Direct Hit算法是一种注重信息的质量和用户反馈的排序方法。它的基本思想是,搜索引擎将查询的结果返回给用户,并跟踪用户在检索结果中的点击。如果返回结果中排名靠前的网页被用户点击后,浏览时间较短,用户又重新返回点击其它的检索结果,那么可以认为其相关度较差,系统将降低该网页的相关性。另一方面,如果网页被用户点击打开进行浏览,并且浏览的时间较长,那么该网页的受欢迎程度就高,相应地,系统将增加该网页的相关度。可以看出,在这种方法中,相关度在不停地变化,对于同一个词在不同的时间进行检索,得到结果集合的排序也有可能不同,它是一种动态排序。
  分析:该算法的优点是能够节省大量时间,因为用户阅读的是从搜索结果中筛选出来的更加符合要求的结果。同时,这种算法直接融入用户的反馈信息,能够保证页面的质量。
  然而,统计表明,Direct Hit算法只适合于检索关键词较少的情况,因为它实际上并没有进行排序,而是一种筛选和抽取,在检索数据库很大、关键词很多的时候,返回的搜索结果成千上万,用户不可能一一审阅。因此,这种方式也不能作为主要的排序算法来使用,而是一种很好的辅助排序算法,目前在许多搜索引擎当中仍然在使用。
  其实对于网页的搜索排名,都是多种算法综合作用的结果,简单分析上面的三种算法,Pagerank可以给网站上的所有网页给予一个重要性的排序,但是没有针对性、相关性,而且现在PR值作弊已经到了一个泛滥的地步,所以PR就网页排名的重要性已经大为下降;
  Hilltop算法的提出,对于广大站长做外部链接建设,将起到指导作用。在Hilltop算法中,每个领域都会有若干专家页面,如果搜索相关关键词,搜索引擎首先会从专家页面查找,如果匹配度不够,再从专家页面链接的下一级页面查找,以此类推。
  Direct Hit算法可以作为Hilltop和pagerank很好的补充,Direct Hit更多的是,考虑了用户体验的影响,对搜索结果的质量,进行实时的更新,一个最符合搜索用户要求的页面,应该是用户从搜索框中点击页面链接开始,用户浏览网站超过一定时间,则被认为结果页面,更符合用户搜索的要求,长期有效的点击,页面在搜索引擎中排名,就会有相应的提高。
  通过以上三种算法,就可以明白,无论是做外链还是网站内容建设,首先需要考虑的就是相关性,在外链建设中,要努力寻找主题相关中,权威度高的网站,软文、友情链接等,都可以看作是这些网站,对你的支持,同时,注意网站的跳出率和浏览时间,时刻反馈用户数据,对一些重点页面,用户点击量较高的页面,做好相关性推荐,引导用户点击更多的页面。