PageRank Algorithm

我们生活在计算机时代。互联网是我们日常生活的一部分,信息仅需点击即可。只需打开您喜欢的搜索引擎(例如Google,AltaVista,Yahoo),输入关键字,搜索引擎就会显示与您的搜索相关的页面。但是搜索引擎如何真正起作用?

乍一看,可以想象一下,搜索引擎的作用是保留所有网页的索引,并且当用户键入查询搜索时,引擎会浏览其索引并计算其中的关键词出现次数。每个网络文件。胜出的是关键词出现次数最多的页面。这些将显示给用户。

在90年代初,当第一批搜索引擎使用基于文本的排名系统来确定哪些页面与给定查询最相关时,这曾经是正确的画面。但是,这种方法存在许多问题。搜索诸如“ Internet”之类的通用术语是有问题的。一个早期的搜索引擎显示的第一页是用中文写的,重复出现了“互联网”一词,但没有包含有关互联网的其他信息。此外,假设我们想找到有关康奈尔的信息。我们输入单词“ Cornell”,并希望“ www.cornell.edu”将是与我们查询最相关的网站。但是,使用康奈尔世界的网站上可能有数百万个页面,而www.cornell.edu可能不是最经常使用它的页面。假设我们决定编写一个包含十亿次“ Cornell”一词的网站。那么,使我们的网站成为搜索引擎第一个显示的网站是否有意义?答案显然不是。但是,如果搜索引擎所做的只是计算查询中给定单词的出现次数,那么这就是可能发生的情况。

搜索引擎的有用性取决于它返回的结果集的相关性。当然,可能有数百万个包含特定单词或短语的网页。但是其中一些会比其他人更相关,更流行或更有权威。用户没有能力或耐心来浏览包含给定查询词的所有页面。人们希望相关页面显示在搜索引擎返回的前20至30页之内。

现代搜索引擎采用对结果进行排名的方法,以首先提供“最佳”结果,而不仅仅是纯文本排名。用于计算网页相关性的最著名和最有影响力的算法之一是Google搜索引擎使用的Page Rank算法。它是由斯坦福大学研究生Larry Page和Sergey Brin发明的,并于1998年成为Google的商标。Page Rank提出的想法是,可以通过查看网页来判断任何网页的重要性链接到它。如果我们创建网页i并包含指向网页j的超链接,则意味着我们认为j与我们的主题重要且相关。如果有很多页面链接到j,则意味着人们普遍认为页面j很重要。另一方面,如果j仅具有一个反向链接,但这来自权威站点k(例如www.google.com,www.cnn.com,www.cornell.edu),我们说k将其权限转移给j ;换句话说,k断言j很重要。无论我们是谈论流行度还是权威性,我们都可以根据指向每个网页的网页等级来迭代地为其分配等级。

为此,我们首先将Web网络描绘为有向图,节点由网页表示,边缘由链接之间表示。

我们将图片“转换”为带有4个节点的有向图,每个网站一个。 当网站i引用j时,我们在图中的节点i和节点j之间添加有向边。 为了计算其页面排名,我们忽略了所有导航链接,例如后退,下一步按钮,因为我们只关心不同网站之间的连接。 例如,Page1链接到所有其他页面,因此图中的节点1将具有到所有其他节点的传出边。 Page3只有一个链接指向第1页,因此节点3将有一个到节点1的出站边缘。分析完每个网页后,我们得到以下图形:
在这里插入图片描述

在我们的模型中,每个页面应将其重要性平均转移到其链接到的页面上。 节点1具有3个传出边缘,因此它将其重要性1/3传递给其他3个节点。 节点3仅具有一个输出边缘,因此它将其所有重要性传递给节点1。通常,如果节点具有k个输出边缘,则它将其重要性1/k传递给它链接到的每个节点。 让我们通过为每个边缘分配权重更好地可视化该过程。
在这里插入图片描述
在这里插入图片描述

在处理网页问题是我们可以分为以下几种情况:
动态系统的情况
假设最初重要性在4个节点之间均匀分布,每个节点的¼。 用v表示初始秩向量,所有项等于1/4。 每个传入链接都增加了网页的重要性,因此在步骤1中,我们通过将传入链接的重要性添加到当前值来更新每个页面的排名。 这与将矩阵A乘以v相同。 在步骤1,新的重要性向量为v1 = Av。 我们可以迭代该过程,因此在步骤2中,更新的重要性向量为v2 = A(Av)= A2v。 数值计算得出:
在这里插入图片描述
对于最终的红色结果我们称之为网页排名的的向量

线性代数情况:

让我们用x1,x2,x3和x4表示这四个页面的重要性。 分析每个节点的情况,我们可以获得系统:
在这里插入图片描述

定义

我已开始在本文中使用一些技术术语和速记。 现在是定义我将使用的所有术语的最佳时机:

PR

PageRank的简写:由Google计算的每个页面的实际,真实页面排名。 正如我们稍后将看到的,范围从0.15到十亿。

ToolbarPR:

浏览器的Google工具栏中显示的PageRank。 取值范围是0到10。

Backlink:

如果页面A链接到页面B,则页面B被称为具有页面A的“反向链接”。

那么什么是PageRank?

简而言之,PageRank是Web上所有其他页面对页面的重要性的“投票”。指向页面的链接算作支持票。如果没有链接,则没有任何支持(但这是对页面的弃权,而不是反对)。

引用Google的原始论文,PageRank的定义如下:

我们假定页面A具有指向页面T1 … Tn(即引文)。参数d是阻尼因子,可以在0到1之间设置。我们通常将d设置为0.85。下一部分将提供有关d的更多详细信息。 C(A)也定义为离开页面A的链接数。页面A的PageRank给出如下:

PR(A)=(1-d)+ d(PR(T1)/ C(T1)+ … + PR(Tn)/ C(Tn))

请注意,PageRanks在网页上形成概率分布,因此所有网页的PageRanks之和为1。

  1. PR(Tn)-每个页面都有其自身重要性的概念。从网页的第一页一直到“ PR(T1)”,到最后一页一直到“ PR(Tn)”

  2. C(Tn)-每个页面在所有外向链接中平均分配其投票。第1页的传出链接计数或数量为“ C(T1)”,第n页为“ C(Tn)”,以此类推。

  3. PR(Tn)/ C(Tn)-因此,如果我们的页面(页面A)具有从页面“ n”的反向链接,则投票页面A所占的份额为“ PR(Tn)/ C(Tn)”

  4. d(…-所有这些投票分数相加在一起,但是,为了阻止其他页面产生太大影响,可以通过将总投票数乘以0.85(“ d”因子)来“降低总投票数”

  5. (1-d)-开头的(1-d)位是数学概率的魔法,因此“所有网页的PageRanks之和为1”:它加上d(… …这也意味着,即使一个页面也没有链接(没有反向链接),它仍然会获得0.15的小PR(即1 – 0.85)。但它们表示“归一化总和”,也就是您和我的“平均值”。

另外几个例子:
在这里插入图片描述
我们可以设置大约需要20次迭代!

不过请看一下D页-即使没有人投票,它的PR也只有0.15(也就是说,它没有传入链接)! 这是正确的吗?

PR公式的第一部分,即“term”,是专门做的:

PR(A)=(1-d)+ d(PR(T1)/ C(T1)+ … + PR(Tn)/ C(Tn))

因此,对于第D页,没有反向链接意味着方程式如下所示:

PR(A)

=(1-d)+ d *(0)
= 0.15

不管发生了什么或执行了多少次。

例子:
在这里插入图片描述
首页具有最高的PR –毕竟,它具有最多的传入链接! 但是平均发生了什么? 只有0.378! 那与我之前说的不符,所以某处出了点问题!

例子
在这里插入图片描述
在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读