我们生活在计算机时代。互联网是我们日常生活的一部分,信息仅需点击即可。只需打开您喜欢的搜索引擎(例如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! 那与我之前说的不符,所以某处出了点问题!

例子

PageRank Algorithm相关推荐

  1. 谷歌的网页排序算法(PageRank Algorithm)

    本文将介绍谷歌的网页排序算法(PageRank Algorithm),以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果.它的匹配效果如此之好,以至于"谷歌"(google) ...

  2. PageRank算法简介及Map-Reduce实现

    PageRank对网页排名的算法,曾是Google发家致富的法宝.以前虽然有实验过,但理解还是不透彻,这几天又看了一下,这里总结一下PageRank算法的基本原理. 一.什么是pagerank Pag ...

  3. PageRank算法原理与实现

    正文共835个字,8张图,预计阅读时间6分钟. 1.PageRank 1.1.简介 PageRank,又称网页排名.谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要 ...

  4. 翻译: 网页排名PageRank算法的来龙去脉 以及 Python实现

    PageRank ( PR ) 是Google 搜索用来在其搜索引擎结果中对网页进行排名的算法.它以"网页"一词和联合创始人拉里佩奇的名字命名.PageRank 是衡量网站页面重要 ...

  5. networkx pagerank

    本来觉得是不想写这篇博客的,因为网上关于pagerank的介绍很多很多了,而且入门pagerank本来也不难,不过在networkx中实现的pagerank和网上大多数资料介绍的pagerank是不一 ...

  6. 无需训练RNN或生成模型,我写了一个AI来讲故事

    作者 | Andre Ye 译者 | 弯月 出品 | AI科技大本营(ID:rgznai100) 这段日子里,我们都被隔离了,就特别想听故事.然而,我们并非对所有故事都感兴趣,有些人喜欢浪漫的故事,他 ...

  7. 层次聚类算法 算法_聚类算法简介

    层次聚类算法 算法 Take a look at the image below. It's a collection of bugs and creepy-crawlies of different ...

  8. 知识力量_网络分析的力量

    知识力量 The most common way to store data is in what we call relational form. Most systems get analyzed ...

  9. 技术沙龙 | 图神经网络(GNN)最新研究进展分享

    由于深度学习在可推理和可解释性方面的局限性,结合图计算与深度学习的图神经网络 ( GNN ) 成为近期学术界和工业界研究的热点新方向之一,并在社交网络.推荐系统等领域得到了广泛的应用. 本次技术沙龙, ...

最新文章

  1. 部署微软lync uc服务器,lync server xxxx企业版前端服务器部署资料.docx
  2. 二十六、事务的隔离级别
  3. 玩游戏4g计算机的内存不足,windows8.1玩游戏经常提示内存不足
  4. python 细枝末节
  5. Hive学习之路 (一)Hive初识
  6. Python多进程使用队列共享数据协同判断素数
  7. Netscape 重构软件倒闭了,但我仍坚定地站重写!
  8. requirejs 入门【链接】
  9. linux 最常用的指令- [readelf][objdump] 读取elf 文件系列
  10. c语言程序中文复制到word变乱码,怎么复制C程序代码到Word不会有乱码,不会有乱字等情况...
  11. Tkinter全网最全笔记
  12. 高薪职业,英年早秃?关于程序员,多的是你不知道的事……
  13. QT 中怎样实现延时 stop
  14. java练习题---前五章
  15. 2022Q3消费级AR眼镜市场季度分析:国产品牌纷纷发力,市场全面启航
  16. 二进制、八进制、十进制、十六进制之间的互相转化
  17. 计算机高中学校在哪,瑞金职业高中计算机UI学校在哪里
  18. studio one机架效果包
  19. 读秀更新到V4.0了,会自动提醒验证码输入,支持包库全文下载
  20. 您如何在没有“经验”的情况下开始在其他领域的职业-这些技巧为我提供了工作机会…...

热门文章

  1. python 年月日转标准日期格式
  2. centos7挂载U盘,查看U盘文件
  3. bootstrap抽样
  4. Artisan、文件上传、缓存使用、错误和日志
  5. 知识表示学习(五):RotatE
  6. web 垂直对齐方式 vertical-align属性
  7. java分词标注工具_分词工具比较(转)
  8. Java 编写飞鸽传书系统 窗体程序 完整源码
  9. Task01 数据加载及探索性数据分析
  10. 视频处理之视频抽帧的python脚本