读《数学之美》
  • 读《数学之美》
  • 第 0 章 序言 前言
  • 第 1 章 文字和语言 vs 数字和信息
  • 第 2 章 自然语言规则——从规则到统计
  • 第 3 章 统计语言模型
  • 第 4 章 谈谈中文分词
  • 第 5 章 隐含马尔可夫模型
  • 第 6 章 信息的度量和作用
  • 第 7 章 贾里尼克和现代语言处理
  • 第8章 简单之美——布尔代数和搜索引擎的应用
  • 第 9 章 图论和网络爬虫
  • 第 10 章 PageRank——Google民主表决式网页排名技术
  • 第 11 章 如何确定网页和查询的相关性
  • 第 12 章 地图和本地搜索的最基本技术
  • 第 13 章 Google ak-47 的设计者
  • 第 14 章 余弦定理和新闻分类
  • 第 15 章 矩阵运算和文本处理中的两个分类问题
  • 第 16 章 信息指纹及其应用
  • 第 17 章 谈谈密码学的数学原理
  • 第 18 章 闪光的不一定是金子——谈谈搜索引擎
  • 第 19 章 谈谈数学模型的重要性
  • 第 20 章 谈谈最大熵模型
  • 第 21 章 拼音输入法的数学原理
  • 第 22 章 自然语言处理的教父马库斯和他的优秀弟子们
  • 第 23 章 布隆过滤器
  • 第 24 章 马尔科夫链的扩展——贝叶斯网络
  • 第 25 章 条件随机场和句法分析
  • 第 26 章 维特比和他的维特比算法
  • 第 27 章 再谈文本自动分类问题——期望最大化EM
  • 第 28 章 逻辑回归和搜索广告
  • 第 29 章 各个击破算法和Google云计算的基础
Powered by GitBook
On this page
  • PageRank算法核心思想
  • PageRank的计算方法
  • 小结

第 10 章 PageRank——Google民主表决式网页排名技术

Previous第 9 章 图论和网络爬虫Next第 11 章 如何确定网页和查询的相关性

Last updated 7 years ago

对于一个特定的查询,搜索结果取决于网页的质量信息,和这个查询与每个网页的相关性信息。

PageRank算法核心思想

如果一个网页被很多其他网页所链接,说明它受到普遍的承认和信赖。比如说,对于来自不同网页的链接区别对待,因为网页排名高的网页链接更可靠,于是要给这些链接以较大的权重。

计算结果的网页排名需要用到网页本身的排名。布林破解了这个怪圈,把这个问题变成了一个二维矩阵相乘的问题,并用迭代的方法解除了这个问题。先假设所有的网页排名是相同的,并根据这个初始值,算出各个网页的第一次迭代排名,然后根据第一次迭代排名算出第二代的排名。

代初始时每个网页的权重是一样的,然后通过计算更新每个网页的权重,规则如下:

  1. 当一个网页被越多的网页引用时,它的权重越大。

  2. 当一个网页的权重越大时,它引用的网页的权重也随之变大。

  3. 当一个网页引用的网页越多时,被它引用的网页获得的权重就越小。

如此反复迭代,算法最终会收敛到一个固定的排名。

网页排名的高明之处在于它把整个互联网系统当作一个整体对待。以前的信息检索把每个网页当做独立的个体对待,只注意到网页内容和查询语句的相关性,忽略了网页之间的关系。

PageRank的计算方法

假定向量为第一、第二...第个网站的网页排名。初始假设值为 。

矩阵为网页之间的链接数目,其中代表第个网页指向第个网页的链接数。 已知,未知。

假定是第次迭代结果,那么:

(10.1)

小结

在学术界,衡量网页质量的这个算法被公认为是文献检索中最大的贡献之一。

最终会收敛于,当与的结果差异非常小时,就可以停止迭代运算。(注:计算访问概率较小的网站时,需要做平滑处理)

网页的排名是一个一维向量,对它的平滑处理只能用一个小的常数。这时,公式(10.1)变成:

(10.2)

其中是互联网网页的数量, 是一个(较小的)常数,是单位矩阵。

B=\left[ b_1,\ b_2,\ \cdots ,\ b_n \right]
N
B_0=\left[ \frac{1}{N},\ \frac{1}{N},\ \cdots ,\ \frac{1}{N} \right]
A=\left[ \begin{matrix}
	a_{11}&		\cdots&		a_{1M}\\
	\cdots&		a_{mn}&		\cdots\\
	a_{M1}&		\cdots&		a_{MM}\\
\end{matrix} \right]
n
A
a_{mn}
m
i
B_i
B_i
N
B_{i-1}
\alpha
\alpha
B
B
B_i
I