`
tansitongba
  • 浏览: 503513 次
文章分类
社区版块
存档分类
最新评论

Google搜索引擎的奥秘

 
阅读更多

1、背景和问题

  • 据统计超过80%的用户靠搜索引擎获取信息
  • 网站排名是网络搜索引擎的核心
  • 目前Google数据库存储上百亿网页信息, 每天提供查询服务达到3亿多次

2、google查询过程示意图


3、Google搜索的核心算法

  • PageRank是 Google 用于评价一个网页的重要性的一种方法. 通过该方法, Google 将各个网站进行排名. 用户进行相关搜索时, Google 会将符合条件的网站按排名顺序输出.
  • PageRank 算法中使用的数学知识包括:正矩阵性质、特征值和特征向量、幂迭代算法、Gauss-Seidel迭代算法等.
  • PageRank 得分是介于 0 和 1 之间的一个数,得分越大表示网页越重要.

4、PageRank算法思想简介

1)、PageRank基于假设关系

“许多优质的网页中超链接的网页,必定是优质网页”,以此判定所有网页的重要性。

重要性由该网页被访问的概率大小来刻画。

  • 导入链接:单纯意义上的受欢迎度指标
  • 导入链接是否来自受欢迎程度高的:有根据的受欢迎指标
  • 导入链接源页面的导出链接:被选中的概率指标

2)、PageRank 是基于这样一个理论:

  • 若 B 网页上有连接到 A 网页的链接( 称 B 为 A 的导入链接), 说明 B 认为 A 有链接价值,是一个“重要”的网页. 当 B 网页级别 ( 重要性 ) 比较高时, 则A 网页可从 B 网页这个导入链接分得一定的级别 ( 重要性 ), 并平均分配给 A 网页上的所有导出链接.(导出链接就是网站或者页面中有指向别的网站的链接)
  • 在PageRank算法中, 一个网页的级别(重要性)大致由下面两个因素决定:该网页的导入链接的数量和这些导入链接的级别(重要性).

5、PageRank计算

1)、邻接矩阵

  • 互联网是一个有向图
  • 每一个网页是图的一个顶点
  • 网页间的每一个超链接是图的一个有向边
  • 用邻接矩阵G来表示有向图, 即,若网页j到网页i有超链接,则gij=1, 否则为gij=0.

邻接矩阵是一个十分庞大有相当稀疏的方阵(用黑色代表1, 用白色代表0)


  • 用邻接矩阵G来表示图, 即,若网页j到网页i有超链接,则gij=1, 否则为gij=0.
  • 定义矩阵G的列和行和


其中cj(列和) 是页面j的导出链接数目,

ri(行和) 是页面i的导入链接数目.


2)、转移概率矩阵

  • 假设我们在上网的时候浏览页面并选择下一个页面, 这个过程与过去浏览过哪些页面无关, 而仅依赖于当前所在的页面, 那么这一选择过程可以认为是一个有限状态、离散时间的随机过程, 其状态转移规律可用Markov链描述.
  • 定义转移概率矩阵

3)、85%与15%

  • 但还要考虑到用户虽然在许多场合都顺着当前页面中的链接前进, 但时常又会跳跃到完全无关的页面.
  • 经过统计, Google采用个15%来表示[时常], 即用户在85%的情况下沿着链接前进, 但有15%的情况下突然跳跃到无关的页面中去.
  • 从而修正状态转移矩阵


4)、网页的最终PageRank值.

  • 根据Markov链的基本性质,以上A' 是一个正则Markov链, 存在平稳分布x= (x1,x2,x3, ...,xm),满足


  • x表示在极限状态(转移次数趋于无限)下各网页被访问的概率分布.
  • x定义为网页的PageRank向量,xi表示第i个网页的PageRank值.显然概率越大, 其重要性越高是合理的.
  • 分量x应满足方程


  • 从另一角度看, 网页j将它的PageRank值xj分成cj份, 分别“投票”给它链出的网页.
  • 网页k的PageRank值xk就是所有页面投票给网页k的最终值.

5)、解的讨论

由Markov性质,A' 的最大特征值是1,即求特征值1对应的特征向量.

问:上述方程组的解是否唯一解?解是否有意义(即不会出现负数或大于1的数)?

答:上述方程组的解唯一且分量都大于0

理由:Perron-Frobnius 定理.

6、Perron-Frobnius 定理

1)、如果 A 是正的方阵(所有元素均大于0), 则

A的谱半径r(A)>0,其中l1,l2, ... ,lnA的特征值。

l=r(A) 是A的特征值, 且代数重数为 1, 即为单特征值。

存在唯一的x>0, 满足A x=x, 且

lA的特征值, 且l¹r(A),则|l| <r(A) .

2)、l= 1 是A的特征值(Ax=x)的简单证明


7、网页排名举例

例:用PageRank 算法计算下面的小型网络中各网页的排名, 其中取p=0.85.


解得

x= (0.2675, 0.2524, 0.1323, 0.1698, 0.0625, 0.1156)T


  • 网页1的重要性最高, 虽然2的导入链接数只有1, 但却是网页1唯一的外链, 所以其重要性也显著提高!
  • 网页3虽是网页2的外链, 但只能得到网页2一半的分数.

事实上, 问题还不是这么简单!

  • Google要面对上百亿的网页, 计算量特别大,
  • 尤其计算特征值Ax=x对计算能力要求特别高,需要关注计算的复杂度,这里用到许多数值计算工具。
  • 此外还要讨论网页的索引、查询等方法。

参考资料:google查询搜索图示过程

分享到:
评论

相关推荐

    L搜聚合搜索引擎.zip

    《L搜聚合搜索引擎:探索深度信息检索的奥秘》 在信息化时代,搜索引擎已经成为我们获取信息、解决问题的重要工具。L搜聚合搜索引擎作为一个独特的存在,它不仅整合了多种搜索技术,还具备了强大的信息聚合能力,...

    搜索狂飙搜索狂飙搜索狂飙搜索狂飙

    在IT行业中,"搜索狂飙"可能是指一种搜索引擎优化(Search Engine Optimization, SEO)或搜索引擎营销(Search Engine Marketing, SEM)的策略,旨在提升网站在搜索引擎结果中的排名,从而增加其可见性和流量。...

    这就是搜索引擎:核心技术详解

    ### 这就是搜索引擎:核心技术详解 #### 搜索引擎概述 搜索引擎是互联网上提供信息检索服务的一种工具或系统,用户可以通过输入关键词的方式查询所需的信息...希望本篇文章能帮助大家更深入地理解搜索引擎背后的奥秘!

    googlesearch 源码

    其中,Google搜索引擎以其高效、精准的搜索能力享誉全球。对于开发者而言,研究其源码不仅可以提升技术水平,还能对搜索引擎的工作原理有更深入的理解。本篇文章将聚焦于一款基于VB(Visual Basic)编写的桌面Google...

    Algorithm-googler.zip

    随着时间的发展,Google的算法不断进化,加入了更多的因素,如内容质量、关键词、用户行为模式等,形成了一个名为“Google搜索排名”的综合系统。 压缩包中的"googler-master"可能包含了Google算法的实现代码或相关...

    师范类通用--说课稿范例

    1. 搜索引擎介绍:讲解搜索引擎的作用,如Google、Bing、百度等主流引擎的特点和差异,让学生初步了解其工作原理。 2. 基本搜索技巧:通过实例演示,教会学生如何正确输入关键词,避免无效搜索。强调关键词的提炼与...

    比较经典的seo ppt 教程

    **SEO(搜索引擎优化)是互联网营销领域中的关键概念,它涉及如何提高网站在搜索引擎结果页面上的排名,从而吸引更多的自然流量。本教程基于一个PPT文件,名为"seo.ppt",将深入探讨SEO的基本原理、策略和技巧。** ...

    P2PSearch 搜索工具

    传统的搜索引擎如百度、谷歌等,已经为我们提供了丰富的网络资源检索服务。然而,随着区块链技术和分布式计算的发展,一种新型的搜索方式——P2PSearch(对等网络搜索)应运而生,它打破了传统的中心化搜索模式,为...

    曹鹏SEO视频教程-03.课程概述.rar

    【SEO视频教程】\n\n本教程由曹鹏主讲,深入浅出地解析SEO(Search Engine Optimization,搜索引擎优化)的奥秘。SEO是互联网营销领域的重要策略,它旨在通过优化网站内容、结构和外部链接,使网站在搜索引擎的自然...

    VB简易的网络搜索功能实现

    此外,大部分搜索引擎都有自己的API,如Google的Custom Search JSON API,通过调用这些API可以获取结构化的搜索结果,但通常需要API密钥,并且可能有使用限制。 学习VB的网络搜索功能不仅可以帮助开发者了解网络...

    PyPI 官网下载 | TracGoogleSearch-0.1.0.tar.gz

    开发者需要获取Google API密钥和搜索引擎ID,然后在Trac的配置中设置,这样Trac用户就能在项目界面内进行Google搜索了。 总结来说,TracGoogleSearch-0.1.0是一个增强Trac功能的Python库,它通过集成Google搜索,...

    趴站蹲点\WebRobot.zip

    1. **搜索引擎索引更新**:搜索引擎如百度、Google等,利用WebRobot定期抓取网页,更新索引库。 2. **市场分析**:企业可以利用WebRobot抓取竞争对手的产品信息、价格动态,进行市场分析。 3. **新闻监控**:自动...

    电脑资料大全210本

    可能会涉及到如何连接网络、设置路由器、网络安全防范、电子邮件的使用以及搜索引擎优化等内容。这部分知识对于日常生活和工作中的网络应用至关重要。 此外,办公软件的应用技巧也可能是资料的重点,例如Microsoft ...

    bios设置图解教程

    遇到困难时,不应立刻求助他人,而是要学会利用搜索引擎(如百度、Google)查找答案,了解问题背后的原因。这不仅能提升自我解决问题的能力,也有助于从菜鸟成长为高手。 总之,BIOS设置并非高深莫测,只需了解基本...

    教育技术WebQuest案例

    - **搜索引擎运用**:学生需掌握如何高效地使用搜索引擎来查找相关信息,如Google或百度等。 - **FrontPage的使用**:学生应学会使用Microsoft FrontPage来创建个人或小组的专题网站,展示研究成果。 - **Word文档...

    Stanford 大学--Analysis of Networks课程0-6-PPT.rar

    "03-pagerank.pdf"重点是Google的PageRank算法,这是搜索引擎排名的关键技术。该算法利用网络的链接结构来评估网页的重要性,它不仅在互联网搜索中发挥重要作用,也是网络分析中的一个经典案例。学生将学习PageRank...

    疯狂程序员

    文档可能会讨论如何利用搜索引擎、Stack Overflow等资源,以及如何运用调试技巧来定位和解决问题。 6. **行业趋势与未来**:随着科技的发展,程序员需要关注新兴技术,如人工智能、区块链、物联网等。文档可能会...

    AJax入门提高教程文档

    2. **SEO优化**:由于Ajax加载的内容对搜索引擎不友好,可以通过服务器端渲染或预渲染技术改善。 3. **回退机制**:考虑没有JavaScript的环境,可以使用隐藏的表单或链接作为备选方案。 总之,Ajax技术是现代Web...

    web_science:ITWS

    例如,PageRank算法是Google搜索引擎排名的核心,它通过考虑网页间的链接关系来评估网页的重要程度。此外,还有最短路径算法,如Dijkstra算法,用于找出网络中两个节点之间的最短路径,这对于网络路由和资源分配至关...

Global site tag (gtag.js) - Google Analytics