谷歌网络搜索的核心算法探密.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谷歌网络核心算法包括谷歌在内,多数搜索引擎都是不断地运行计算机程序群,来检索网络上的网页、搜索每份文件中的词语并且将相关信息以高效的形式进行存储。每当用户检索一个短语,例如“搜索引擎”,搜索引擎就将找出所有含有被检索短语的网页。(或许,类似“搜索”与“引擎”之间的距离这样的额外信息都被会考虑在内。) 但问题是,谷歌现在需要检索250亿个页面,而这些页面上大约95%的文本仅由大约一万个单词组成。也就是说,对于大多数搜索而言,将会有超级多的网页含有搜索短语中的单词。我们所需要的其实是这样一种办法(或称算法),它能够将这些符合搜索条件的网页按照重要程度进行排序,这样才能够将最重要的页面排在最上面。 本文将介绍谷歌的网页排序算法(PageRank Algorithm),以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果。它的匹配效果如此之好,以至于“谷歌”(google)今天已经成为一个被广泛使用的动词了。 如何辨别谁重要 如果你曾建立过一个网页,你应该会列入一些你感兴趣的链接,它们很容易使你点击到其它含有重要、可靠信息的网页。这样就相当于你肯定了你所链接页面的重要性。谷歌的网页排序算法每月在所有网页中进行一次受欢迎程度的评估,以确定哪些网页最重要。网页排序算法的提出者,谢尔盖?布林(Sergey Brin)和拉里?佩奇(Lawrence Page)的基本想法是:一个网页的重要性是由链接到它的其他网页的数量及其重要性来决定。 我们对任意一个网页P,以I(P)来表述其重要性,并称之为网页的网页排序。在很多网站,你可以找到一个近似的网页排序值。(例如,美国数学会的首页目前的网页排序值为8,最高分是10。你可以试试找到一个网页排序值为10的网页吗?)这个网页排序值仅是一个近似值,因为谷歌拒绝提供真实的网页排序值,以阻止那些试图干扰排序的行为。 网页排序是这样确定的。假定网页Pj有lj个链接。如果这些链接中的一个链接到网页Pi,那么网页Pj将会将其重要性的1/lj赋给Pi。网页Pi的重要性就是所有指向这个网页的其他网页所贡献的重要性的加和。换言之,如果我们记链接到网页Pi的网页集合为Bi,那么 这或许让你想起“先有鸡还是先有蛋”的问题:为了确定一个网页的重要性,我们首先得知道所有指向它的其他网页的重要性。然而,我们可将这个问题改写为一个更数学化的问题。 首先建立一个矩阵,称为超链矩阵(hyperlink matrix),H=[Hij],其中第i行第j列的元素为 注意到H有一些特殊的性质。首先,它所有的元都是非负的。其次,除非对应这一列的网页没有任何链接,它的每一列的和为1。所有元均非负且列和为1的矩阵称为随机矩阵,随机矩阵将在下述内容中起到重要作用。 我们还需要定义向量I=[I(Pi)],它的元素为所有网页的网页排序——重要性的排序值。前面定义的网页排序可以表述为 换言之,向量I是矩阵H对应特征值1的特征向量。我们也称之为矩阵H的平稳向量(stationary vector)。 让我们来看一个例子。下图所示为一个网页集合(8个),箭头表示链接。 其相应的矩阵为 这说明网页8的受欢迎程度最高。下图是阴影化的图,其中网页排序值越高的网页阴影越浅。 计算平稳向量 有很多方法可以找到一个方阵的特征向量。然而,我们面对的是一个特殊的挑战,因为矩阵H是一个这样的方阵,它的每一列都对应谷歌检索到的一个网页。也就是说,H大约有n=250亿行和列。不过其中大多数的元都是0;事实上,研究表明每个网页平均约有10个链接,换言之,平均而言,每一列中除了10个元外全是0。我们将选择被称为幂法(power method)的方法来找到矩阵H的平稳向量 I。 幂法如何实现呢?首先选择 I 的备选向量I0,进而按下式产生向量序列 Ik 这个方法是建立在如下的一般原理上: 一般原理:序列Ik将收敛到平稳向量I。 我们首先用个例子验证上面的结论。 一个自然的问题是,这些数字有什么含义。当然,关于一个网页的重要性,可能没有绝对的度量,而仅有比较两个网页的重要性的比例度量,如“网页A的重要性是网页B的两倍。”基于这一原因,我们可以用一个固定量去同乘以所有的重要性排序值,这并不会影响我们能获得的信息。这样,我们总是假定所有受欢迎程度值(popularity)的和为1,原因稍后解释。 三个重要的问题 自然而然产生的三个问题是: 序列Ik总是收敛吗?(即运算多次后,Ik和Ik+1几乎是一样的) 收敛后的平稳向量是否和初始向量I0的选取没有关系? 重要性排序值是否包含了我们想要的信息? 对目前的方法而言,上述三个的答案都是否定的!下面,我们将看看如何改进我们的方法,使得改进后的算法满足上述三个要求。先看个非常简单的例子。考虑如下包含两个网页的小网络,其中一个链接到另一个: 下例

文档评论(0)

Jermain2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档