浅析谷歌的HillTop算法的两个过程

专家页面的寻找和评分:搜索引擎根据用户查询日志发现热门关键词后,开始针对这些热门关键词寻找专家页面;对目标页评分:专家页对目标网页的评分

浅析谷歌的HillTop算法的两个过程

今天我们将介绍超链分析的颠峰之作:HillTop算法,作为现在Google现在最核心的排名算法之一,网上不乏大量介绍她的文献。本文侧重于原始算法的分析,不考虑过多复杂因素,让您更容易理解算法本质。

HillTop算法集PageRank,HITs、相关性算法大成于一身,由康柏系统研究中心的Krishna Bharat和多伦多大学的George A.Mihaila在2001年提出并申请了专利,后授权于Google,2003年12月Google算法更新,其成为Google核心排名算法之一。

HillTop是一种查询相关性链接分析算法,克服了的PageRank的查询无关性的缺点。简单的说HillTop算法是针对热门查询关键词来对搜索结果重新排序的一种算法。之所以针对热门关键词,这是因为HillTop算法运行效率较低的原因。算法主要分为两个过程

专家页面的寻找和评分

搜索引擎根据用户查询日志发现热门关键词后,开始针对这些热门关键词寻找专家页面,成为专家页的2个必要因素,1)必须拥有足够多而且不存在隶属关系的出链,2)至少存在一个短语包含该热门关键词的所有术语。确定专家页以后,在该页面上找出所有全部包含热门关键词中术语、或者差1到2两个术语的短语,将这些短语分为三个等级,分别为全部包含,差1个和差2个术语,分别对这个三等级计算等级分,等级是分对各个等级中所有短语得分的和,而短语得分取决于这个短语在页面中位置,分数从高到低依次标题、头部和锚文本等等,然后的综合计算这个三个等级得分就得到专家分。以下举个简单的以 “汽车消费”这个热门关键词为例,“中国汽车消费网”的首页和友情链接页就是这个关键词的专家页面,因为他具有足够多而且不隶属315che.com主机域名和同C类ip的出链,同时标题中的“中国汽车消费网”也包含“汽车”和“消费”这两个术语。接下来评分,先算第一等级(包含所有术语的短语)的得分,短语“中国汽车消费网”在标题中得到16分(假设),以及在锚文本中“中国汽车消费理财倾向大调查”得了1分,那么第一等级得分为17分,再算第二等级(差一个术语),第三等级(差两个术语)。这样再算三个等级得分的加权和,就是专家分,注意这三个等级权重相差非常大,在原算法的等级1到等级3的权重分别是2^32,2^16和1,因为HillTop更喜欢完全匹配。

对目标页评分

一个专家页对目标页的评分等于专家本身分值×专家页可区分的短语数量。取前N个指向目标页的专家页,对于多个同一隶属的专家页指向该目标页,取分值最高的专家页,然后这些专家页对目标网页的评分的和就得到,这个页面对应这个热门关键词的得分,有人称之为行业得分。

我们可以看到HillTop算法通过不同等级的评分确保了评价结果对关键词的相关性,通过不同位置的评分确保了主题(行业)的相关性,通过可区分短语数防止了关键词的堆砌。

总结:HillTop算法存在一种博弈的思想,在链接方面同行业的网站既需要竞争更需要合作,只有被同行“认可”的网站对热门关键关键词的查询才会被排在前面。HillTop基本毁灭了小网站对热门关键词的奢望,除非你对热门关键词有超强的预期能力,但是这种流量只会持续很短的时间。当然HillTop只是排名的一个重要因素,并不是全部。

来源:中国汽车消费网

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月7日 05:18:01
下一篇 2024年5月7日 05:20:09

相关推荐

  • c语言实现dfa,C语言实现DFA算法

    C语言怎么实现任意两个数的四则运算? 产生100为模的两个数字,记录下来;生成一个以4为模的数字,1对应+,2对应-。。计算。 tt=1;if inp[i]=-tt=2;if inp[i]=*tt=3 if inp[i]=/tt=4;} if tt=1 {将符号两边的数进行加法运算 } ………后面的自己写 不过这种好像不算好。 接下来,输入第二第三个,程序再…

    2024年5月19日
    4000
  • 电梯调度算法c语言版,电梯调度算法实验总结

    C语言一道编程题,关于电梯调度运行的。 1、/*建立一座两层楼,一部电梯的模拟程序。为简化起见,每部电梯限乘一人,电梯每天在一楼关门等待 模拟程序包括一个时钟,每天从零开始。 2、两道C++题..急用..谢了.. 50 题目一问题描述:要求设计一仿真程序实现N部电梯的有效调度运行。该实例是一个电梯载客问题,问题的描述如下:–某贸易中心共L层,设有载客电梯N部…

    2024年5月19日
    4900
  • javalist排序算法的简单介绍

    用Java中ArrayList类实现一个冒泡排序 1、super T void sort(ListT list)根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。 2、将数字从大到小排序的方法:例如简一点的冒泡排序,将第一个数字和后面的数字逐个比较大小,如果小于,则互换位置,大于则不动。此时,第一个数为数组…

    2024年5月18日
    3300
  • c语言深度优先算法,深度优先算法的多种结果

    C语言编写深度优先搜索(DFS)是否需要回溯 1、我就是从pascal转到c多年的,这些算法和语言无关的,只是一种思想。 2、深度优先是沿着一条路走到底,走不通了或到头了,再回溯,再搜索。 3、根据深度优先遍历的概念:沿着这树的某一分支向下遍历到不能再深入为止,之后进行回溯再选定新的分支。 4、(1)针对所给问题,定义问题的解空间;(2)确定易于搜索的解空间…

    2024年5月18日
    4200
  • java排序时间复杂度,java排序算法时间复杂度

    java十大算法 1、/*快速排序的算法思想:选定一个枢纽元素,对待排序序列进行分割,分割之后的序列一个部分小于枢纽元素,一个部分大于枢纽元素,再对这两个分割好的子序列进行上述的过程。 2、java中的算法,常见的有:递归、迭代、查找、排序(包含冒泡排序、选择排序、插入排序、快速排序四种) 等,算法有很多,一般数据结构中涉及到的都可以用java语言实现。 3…

    2024年5月18日
    4300
  • 学java算法不好,java学不好怎么办

    Java开发为什么学不好? 最适合你的可能是昌平北大青鸟Java培训的零基础就业班,在这里老师手把手的教学辅导,而且最重要的是,这些入门知识体系足以像教小孩过马路那样,引导你学习那些令人头疼的变量和条件语句,以及初级编程语法。 其实这是很正常的,在学Java编程的时候,总是会有点摇摆不定。好比爬山,你在山脚下纠结该从哪条路上去,而实际上,每一条都能通往山顶,…

    2024年5月18日
    4000
  • 如何用excel计算日期差,excel计算两个日期差

    excel中怎么计算时间差? 1、首先打开Excel表格,并在表格单元格中输入好信息。鼠标选中【C2】单元格,并输入公式:=TEXT(B2-A2,h小时m分钟s秒),按回车键。 2、可以使用公式:=(结束时间-开始时间)*1440;计算两个时间之间的间隔秒数,可以使用公式:=(结束时间-开始时间)*24*60*60。 3、首先在A列中输入初始时间,在B列中输…

    2024年5月18日
    4400
  • java中两个字符串如何排序,java两个字符串连接程序

    java两个字符串进行排序*** 类似于快排的思想,从两头同时开始遍历字符。具体做法是正序遍历下标为p,倒序为q,正序遍历时遇到大写字母停住,开始反序遍历,反序走到遇到小写字母的时候停住,如果这时候pq了则排序已完成。希望能帮到你。 答案:java中所有类的排序是根据该类中的toString方法来排序的,你可以通过查看String类的底层代码找到其toStr…

    2024年5月18日
    3600
  • 一个excel表格分成两个,一个excel表格分成两个表

    excel中如何把一个单元格拆分成两个单元格 1、打开excle,点击需要拆分的单元格。点击开始-取消单元格合并。成功将一个单元格拆分成两个单元格。excel的主要功能 数据管理和分析 Excel的主要功能之一是数据管理和分析。 2、打开excel文件,在excel中输入不同的内容例如一些名字和分数成绩,中间用空格键隔开。 选中数据-点击数据选项-选择分列。…

    2024年5月18日
    4100
  • c语言交换算法,c语言数据交换的算法

    C语言编写一个带flag冒泡排序算法并打印输出比较次数和交换次数?_百度… 1、C语言实现Bubblesort:void bubblesort(int a[], int m) { int i,j; int tmp; int flag = 0; //设定标志,如果第一次循环比较时没有发生交换,则说明数组是升序排序,不用排序,提前结束循环。 2、冒泡…

    2024年5月18日
    3700

发表回复

登录后才能评论



关注微信