通过对由超过 50,000 万个变量和 20 亿个词汇组成的方程进行计算,PageRank 能够对网页的重要性做出客观的评价。PageRank 并不计算直接链接的数量,而是将从网页 A 指向网页 B 的链接解释为由网页 A 对网页 B 所投的一票。这样,PageRank 会根据网页 B 所收到的投票数量来评估该页的重要性。
此外,PageRank 还会评估每个投票网页的重要性,因为某些网页的投票被认为具有较高的价值,这样,它所链接的网页就能获得较高的价值。重要网页获得的 PageRank(网页排名)较高,从而显示在搜索结果的顶部。Google 技术使用网上反馈的综合信息来确定某个网页的重要性。搜索结果没有人工干预或操纵,这也是为什么 Google 会成为一个广受用户信赖、不受付费排名影响且公正客观的信息来源。
其实简单说就是民主表决。打个比方,假如我们要找李开复博士,有一百个人举手说自己是李开复。那么谁是真的呢?也许有好几个真的,但即使如此谁又是大家真正想找的呢?:-) 如果大家都说在 Google 公司的那个是真的,那么他就是真的。
在互联网上,如果一个网页被很多其它网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高。这就是 Page Rank 的核心思想。 当然 Google 的 Page Rank 算法实际上要复杂得多。比如说,对来自不同网页的链接对待不同,本身网页排名高的链接更可靠,于是给这些链接予较大的权重。Page Rank 考虑了这个因素,可是现在问题又来了,计算搜索结果的网页排名过程中需要用到网页本身的排名,这不成了先有鸡还是先有蛋的问题了吗?
Google 的两个创始人拉里•佩奇 (Larry Page )和谢尔盖•布林 (Sergey Brin) 把这个问题变成了一个二维矩阵相乘的问题,并且用迭代的方法解决了这个问题。他们先假定所有网页的排名是相同的,并且根据这个初始值,算出各个网页的第一次迭代排名,然后再根据第一次迭代排名算出第二次的排名。他们两人从理论上证明了不论初始值如何选取,这种算法都保证了网页排名的估计值能收敛到他们的真实值。值得一提的事,这种算法是完全没有任何人工干预的。
理论问题解决了,又遇到实际问题。因为互联网上网页的数量是巨大的,上面提到的二维矩阵从理论上讲有网页数目平方之多个元素。如果我们假定有十亿个网页,那么这个矩阵 就有一百亿亿个元素。这样大的矩阵相乘,计算量是非常大的。拉里和谢尔盖两人利用稀疏矩阵计算的技巧,大大的简化了计算量,并实现了这个网页排名算法。今天 Google 的工程师把这个算法移植到并行的计算机中,进一步缩短了计算时间,使网页更新的周期比以前短了许多。
我来 Google 后,拉里 (Larry) 在和我们几个新员工座谈时,讲起他当年和谢尔盖(Sergey) 是怎么想到网页排名算法的。他说:"当时我们觉得整个互联网就像一张大的图 (Graph),每个网站就像一个节点,而每个网页的链接就像一个弧。我想,互联网可以用一个图或者矩阵描述,我也许可以用这个发现做个博士论文。" 他和谢尔盖就这样发明了 Page Rank 的算法。
网页排名的高明之处在于它把整个互联网当作了一个整体对待。它无意识中符合了系统论的观点。相比之下,以前的信息检索大多把每一个网页当作独立的个体对待,很多人当初只注意了网页内容和查询语句的相关性,忽略了网页之间的关系。
今天,Google 搜索引擎比最初复杂、完善了许多。但是网页排名在 Google 所有算法中依然是至关重要的。在学术界, 这个算法被公认为是文献检索中最大的贡献之一,并且被很多大学引入了信息检索课程 (Information Retrieval) 的教程。
分享到:
- 2007-06-28 16:08
- 浏览 1955
- 评论(1)
- 论坛回复 / 浏览 (1 / 3959)
- 查看更多
相关推荐
PageRank 是一种由 Google 创始人 Larry Page 发明的链接分析算法,它在搜索引擎的信息检索和网页排名中起着核心作用。PageRank 的主要思想是通过模拟互联网用户随机浏览网页的行为来评估网页的重要性。重要性是根据...
在PageRank的解释方法一中,首先提出了公式(1),它表示一个网页的PageRank值等于所有指向它的网页PageRank值之和。然而,这个公式存在一个问题,即一个网页的链接权重没有被平均分配。为了解决这个问题,引入了公式...
提供的资源包括一个名为`pageRank算法.doc`的文档,很可能是对PageRank算法的详细原理分析,包括算法的背景、公式解释和实际应用等。另一个是`pageRank.py`,这是一个实际的Python代码文件,用于演示如何实现...
以下是对Pagerank算法的主要步骤的详细解释: 1. 初始化PageRank值:所有网页的PageRank值均初始化为1/N,其中N是网页总数。这是因为假设每个网页都有相等的初始重要性。 2. 计算新PageRank:对于每个网页i,其新...
总结来说,《PageRank背后的数学》这篇博文会详细解释如何利用矩阵理论和随机过程来理解PageRank算法,以及它如何在实际的网络环境中评估网页的重要性。无论是对搜索引擎优化还是对信息检索的理论研究,这篇博文都能...
以下是对PageRank算法的详细解释以及如何用Java实现的简要介绍。 PageRank的基本思想是:一个网页被其他网页链接的数量和质量决定了它的PageRank值。如果一个高PageRank的网页链接到另一个网页,那么被链接的网页也...
2. 算法实现细节:解释如何使用Python代码实现PageRank,可能包括矩阵运算、迭代过程以及停止条件。 3. 数据处理:描述如何读取和解析"web-google.txt"数据,将其转化为可被算法处理的形式。 4. 分布式计算:如果...
而数据算法则是指用于分析、处理和解释大量数据的技术和方法。 对于PageRank算法来说,当需要处理海量的网页数据时,单个计算机或单一进程可能无法在合理的时间内完成计算。通过并行计算,可以将网页集分割为较小的...
随机浏览模型进一步解释了PageRank算法的内在逻辑。在这个模型中,假设有一个网络用户随机地浏览网页,每次选择一个链接点击进入下一个网页。用户的这种行为模式可以用来模拟网页的重要程度。 - **模型细节**:用户...
为了深入理解这个项目,我们需要查看这些文件的具体内容,包括算法的实现细节、数据预处理步骤、实验设计以及结果解释等方面。通过对这些内容的分析,我们可以更全面地了解PageRank在脆弱线路辨识中的具体应用及其...
这个公式的直观解释是,页面A的PageRank值不仅取决于直接指向它的页面的PageRank值,还受到这些页面指向其他页面的多少的影响。这意味着一个高PageRank值的页面,如果它指向的其他页面数量很少,那么它对每个被指向...
首先,我们来详细解释一下Pagerank算法的基本原理。在互联网中,每个网页可以看作是一个节点,而链接则构成了这些节点之间的边。Pagerank算法通过迭代计算每个网页的PageRank值,该值表示网页的重要性。初始时,所有...
pagerank算法是Google创始人拉里·佩奇和谢尔盖·布林提出的一种评估网页重要性的数学模型,它在搜索引擎优化(SEO)...同时,了解如何对算法结果进行解释和应用,对于提升网页排名分析或网络数据分析的能力大有裨益。
#### 图例解释 以图示为例,假设存在三个网页A、B和C: - 网页A和B都链接到了网页C,因此A和B都是C的后向链接(backlink)。 - 对于C而言,它有两个前向链接(outlink)分别指向A和B。 在这种情况下,C的PageRank值受...
以下是PageRank算法的详细解释: 1. **入链对页面级别的影响**: 入链(Inbound Links)指的是其他网页指向当前网页的链接。PageRank算法认为,一个网页被越多的高质量网页链接,其重要性越高。当形成回路时,入链...
4. **README**:这是一个说明文档,会详细解释如何运行这个示例,包括输入数据格式、运行步骤、预期输出等。 5. **extensive.sql, heirarchical.sql, simple_data.sql, looping.sql**:这些可能是数据库脚本文件,...
在`PageRank.doc`文档中,可能包含了详细的算法解释和程序设计思路。而在`PageRank`文件中,很可能是C++源代码实现。源代码通常会包含如上所述的步骤,如读取网页链接数据、初始化PageRank值、迭代更新PageRank、...
下面是对PageRank算法的详细解释。 一、PageRank的定义 PageRank是一个函数,对Web中的每个网页赋予一个实数值,表示该网页的重要性。它的思想是:“被越多优质的网页所指的网页,它是优质的概率就越大”。 二、...
本文的目标是解释谷歌计算网页排名的核心思想之一,这实际上是对标准线性代数的一次愉快应用。 搜索引擎,如谷歌,必须完成三个基本任务: 1. **爬取网络并定位所有具有公共访问权限的网页**:搜索引擎需要自动地...