首页 >> 计算机科学 >> 文章

google炸弹,你玩过了么?Comments>>

发表于 2011-01-05 10:49 | Tags 标签:,

作者:flyheller(花栗鼠)

虽然也许你从没听过google炸弹这个词,但在使用搜索引擎的时候你极有可能已经感受过它的威力。2003年10月,一位名叫George Johnston的博主引爆了迄今为止最为著名的google炸弹,此次爆炸的回声在此后的4年里回响于整个网络。其结果就是如果你在google的搜索框中输入“miserable failure”进行搜索,返回的第一个链接将指向时任美国总统George W. Bush在白宫官方网站上的个人生平介绍(见来自Wikipedia的网页存照)。

其实早在1999年,微软便成了google bomb的“受害者”,当时Microsoft的主页“莫名奇妙”地成了关键词“more evil than Satan himself”(比撒旦更邪恶)所对应的搜索结果的第一个项。自那以后,随着一次次的爆炸,google炸弹逐渐为人所知。那么google炸弹的机理是什么,换句话说如何制作一颗google炸弹呢?为了回答这些问题,我们还要追本溯源,从头谈起。

话说1998年以前的互联网就像美国西部大开发时代,到处是未被开垦的处女地,宝藏深深的隐藏于这片信息的丛林。面对如此丰富却可望而不可及的信息,人们产生的了深深的无力感。Jorge Luis Borges在1941年创作的短篇小说“通天塔图书馆”("The Library of Babel")中对此种心境进行了如下描绘:

“当人们听说图书馆已经收集齐全所有的书籍时,首先得到的是一种奇特的幸福感。人们都觉得自己是一座完整无缺的秘密宝库的主人。任何个人或世界的问题都可以在某个六角形里找到有说服力的答案。...... 过分的指望自然会带来过分的沮丧。确信某个六角形里的某个书架上藏有珍本书籍,而那些书籍却不可企及的想法,是几乎难以忍受的。"

更确切的说,在互联网发展的初期,人们曾经天真的认为如果能做出网络上的所有内容的完整索引,就相当于获得了随时随意获取其中信息的能力。但事实却是网络上的信息量如此巨大,以至于人们面对搜索引擎所返回的成千上万的相关页面无所适从。为解决这一问题,就需要一种能够将与关键词相关网页进行排序的方法,使得真正有用的页面排在搜索结果的前列。一言以蔽之,就是要寻求一种方法来判定那个网页真正重要。这就是摆在google两位创始人Sergey Brin和Larry Page面前的问题。那么什么样的网页才重要?

其实类似的问题我们每个人在现实生活种都曾遇到过。比如,最近你在奔小康的康庄大道上又前进了一大步,在咬了5次牙,跺了十次脚后,毅然决然的入手了一辆宝马60系,看这爱车趴在你面前,你决定要给与“她”最好的呵护——买车险,在做出这个决定的一瞬间之后,你就犯了难,现在车险种类繁多,选择那种才合适呢?就在你犹豫不觉,精神恍惚之际,话匣子里传出了你所热爱的,著名影视歌全能艺人嘹亮而富有磁性的声音:“喂!我是优优啊,哦,电话车险?选中平泰!品牌大,理赔快,身边好多人都在用……”,于是妥了,一方面是优优一句顶一万句的号召力,另一方面不是“身边好多人都在用”,那咱也用它吧。

以上事件揭示了在面临众多选择时影响我们判断的因素:专家,名人说好的就应该比较靠谱,如果大家都说好,那就真的靠谱了。而Sergey Brin和Larry Page正是应用这一朴素的观察来解决网页排序问题的。他们所提出的判定方法一言以蔽之即:

被重要网页所引用的网页就是重要的。

这句读起来颇具“鸡生蛋,蛋生鸡”的意味的话可以翻译为以下表示:假设网络上共有n个网页,网页T1...Tn指向网页A,令C(X)表示网页X上的链出的超链接总数,那么网页X的重要程度PR(X)即为:


PR(A) = (1-d)/n + d(PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)),


其中d的意义将在下文中阐明。

其实以上这个似乎略有些复杂的公式说白了就是我们平时上网的简化写照。虽然我们每个人都有自己独特的上网习惯,但有一点我想大致每个人都一样。我们都要打开某个网页,然后看看其内容是否有趣,在这个过程中,我们可能点击页面上的某个连接进而跳到下一个网页,也可能关掉此页面,重新进入一个新的页面。如果假设每次打开新页面时,我们都在所有页面中随机的进行选择,同样的每次我们决定要点击链接时也随机的从当前页面上的所有链接中选择。

那么若将1-d视为我们关掉网页重新打开新页面的几率,PR(A)理解为我们访问网页A的几率,由于访问A有两种方式,一种是在新打开网页时,我们偶然的选择了A,由于重新打开网页的几率为1-d,而在茫茫网页中点到A的几率为1/n,则通过此种方式访问A的几率为(1-d)/n;第二种方式则是通过点击某个网页上的链接溜达到A,由于我们知道只有T1...Tn有指向A的链接,而T1页面共有C(T1)个链接,则要通过T1页面访问到A,必须满足如下三个先决条件:到达 A(几率为PR(T1)),决定点击链接(几率为d),从C(T1)个链接种选择到指向A的链接(几率为1/C(T1)),所以通过访问T1到达页面A的几率为PR(T1)*d *1/C(T1) = d*PR(T1)/C(T1),对于其它页面我们有同样的结果,于是通过访问其它网页访问到A的几率为d(PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)),则抵达A的几率PR(A)既为(1-d)/n + d(PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))。

可是说了这么多,我们得到的还是一个“鸡生蛋,蛋生鸡”的等式,那么到底如何计算PR(A)呢?说白了,也没有任何奇妙的,甚至可以说是有些野蛮的方式,那就是迭代法。只需要假设一开始所有网页都是平等的,既对于任意页面X有PR_(0)(X) = 1/n,而后将这些数值代入上述等式右边,得到PR_(1)(A)=(1-d)/n +d(PR_(0)(T1)/C(T1) + ... + PR_(0)(Tn)/C(Tn)),而后依法炮制,将PR_(1)(X)代入等式右侧,得到PR_(2),如此这般,再这般如此,经过多次跌代,既可得到真实值的一个近似。这些数值就决定了被返回的搜索网页的顺序。google依据这些PR值,将网页归为十一个等级,并赋予0到10之间的一个数值。任何人都可以通过google toolbar及一些第三方工具,来查询自己正在访问的网页属于那个级别,比如在写作本文时:baidu.com为9,bing.com为 8,google.com.hk为7,而google.com则毫无悬念被打了10分。

以上就是google决定某个网页重要性的基本想法。凭借这一技术,及卓越的商业嗅觉,Sergey Brin和Larry Page将google这家他们在1998年一手创立的公司打造成了这个时代的商业典范。而他们也凭借此成就入选了2004年人物杂志全球最炙手可热的钻石王老五50强。当然,时至今日,世界上只有极少人知道google页面排序的具体实现方式,但其本质想法依然是以上的第22条军规,也就是“被重要网页引用的网页就是重要的”。

既然网页的重要程度取决于广大劳动人民的选择,自然就可以通过增加指向某一网页的链接数来人为地干预,影响排序的结果,这也就是google炸弹的原理。所以只要在网络上制造足够多以同一关键词指向目标网页的链接,就可以提升该页面相对于某关键词的搜索排名,甚至使这个页面成为这一关键词搜索结果返回的第一个结果。具体来说有就是首先选择一个目标网页,如https://songshuhui.net,其次是关键词,如:最好的科普网站,最后就是广发英雄帖,号召大家将链接: < a href="https://songshuhui.net")">最好的科普网站 播撒到网络上,如果足够多的人参与其中,也许不久后,当你搜索“最好的科普网站”时,https://songshuhui.net就会赫然成为第一个返回结果。当然,大多数网页排名还是整个网络自己进化产生的结果,比如若你用google搜索“click here”,结果的第一名是Adobe Reader的下载页面。究其原因无非是网络上有很多类似”要阅读PDF文件,请点击这里“的链接。

起初google对于google炸弹的态度是不提倡,不干预,并认为防范google炸弹并非其第一要务。但在2007年,由于担心广大网民将 google炸弹制作者的观点误认为是google的官方态度,google改进了它的排序算法。这次的算法升级,导致了“miserable failure”炸弹及其它许多炸弹的失效。但是在同年3月,“miserable failure”曾经短暂复活了,后来发现,原来是白宫的工作人员大意的在网页中写入了“failure”一词。据此人们推测,google防止 google炸弹的方式可能是判断目标网页中是否含有链入链接所包含的关键字。此外,如果在短期内监测到大量包含同样关键词的链接链向某一网页,google的排序算法就会判断此网页受到google炸弹攻击,继而将在计算网页PR
数值的时候忽略这些链接的影响。但这并不能阻止人们借轰炸google表达自己意见及主张的热情。就在今年9月,一群法国网友就将炸弹投向了他们的总统,并成功的将“trou du cul du web” (网络屁眼)链接到了萨科齐facebook主页。但这是一颗短命的炸弹,原因是在此行为曝光不久,萨科齐的facebook主页即被关闭,同时 google内部也有消息传出说google使用专门程序成功排除了这颗炸弹。 可见引爆google炸弹渐渐的也成了比较有科技含量的活计了。

今天,人们对于google炸弹可谓仁者见仁,智者见智。有人认为它增加了网络上的噪音,降低了网页排名的准确性。有人则认为它无非是网民表达意见的一种方式。但我想对于geek或nerd来说,既然它存在,那么尝试一下再说才是最要紧的吧?

0
为您推荐

54 Responses to “google炸弹,你玩过了么?”

  1. 莲花朵朵说道:

    想起了关于中国足球的那个搜索。。。

  2. ???说道:

    以Google炸弹为例子的Page Rank科普贴啊~

    • ???说道:

      另外,这个:肯定是写错了。

      • ???说道:

        疏忽了,是这个:
        < a href="https://songshuhui.net")">

        • 游识猷说道:

          啊,我特地用了 【code 】来让大家看到的啊,应该没错吧。。。

          • ???说道:

            后半个截止标签丢了,还有那个小括号以及后面的双引号明显是多出来的。
            <a href="https://songshuhui.net">最好的科普网站</a>
            大于号小于号什么的,是不能直接打在html中的^_^

    • 铁锤说道:

      好像有传言说google要放弃pr哎,不知道是真的还是假的。

  3. 大蔥说道:

    搜索引擎原来就是数学

  4. 抱鱼睡的猫说道:

    哦~~原来果然是远离高树啊!!

  5. Mine说道:

    不错,挺有意思~

  6. 隔岸观火说道:

    哦,浮云,整个世界都是数学

  7. diesirae说道:

    有些搜索引擎的算法比goo更符合普遍的价值观:钱比重要的网页更重要……

    • laoma说道:

      钱对网站重要,对我不重要。只有在google被屏蔽时才用百度。

  8. 大浆糊说道:

    好!! 用google bomb的方式进行介绍pagerank的好文! 这个科普效果好! 搜索引擎也没那么神秘, 不过国内对搜索引擎rank方法也有过于简单化的误区, 认为钱可以决定所有排名.

  9. error 404说道:

    啧啧,曾经误以为百度的sb→google是炸弹呢……不过当年google.cn的sb→baidu好像是炸弹……

  10. flyheller说道:

    应该是最好的科普网站,不知道大家有没有兴趣实验一下?

  11. mamo说道:

    baidu的那个已经素过时很久了

  12. Reed说道:

    中国足球!哈哈!

  13. laoma说道:

    恭喜flyheller

  14. ET民工[源自火星]说道:

    好文章,通俗易懂,但是有几个疑惑,恳请解答:

    1) 如果表示概率,PR(X)写成Pr(x)更常用

    2) “假设网络上共有n个网页,网页T1…Tn指向网页A,”——这个n,是网络全部的数量?还是仅含有指向A的数量?应该是后者吧?如果后者,表达方法应该是“假设网络上含有指向网页A的网页共有n个”比较好

    3)“那么网页X的重要程度PR(X)即为:”词句话下面给出的公式却是“PR(A) = ……”,一个是X一个是A,建议修改前一句,改为A吧

    4) “那么到底如何计算PR(A)呢?”——如何确定d的取值呢?

  15. 罗槑槑说道:

    为什么是pr不是rp呢?

  16. flyheller说道:

    问题回答:
    1) 如果表示概率,PR(X)写成Pr(x)更常用
    同意。

    2) “假设网络上共有n个网页,网页T1…Tn指向网页A,”——这个n,是网络全部的数量?还是仅含有指向A的数量?应该是后者吧?如果后者,表达方法应该是“假设网络上含有指向网页A的网页共有n个”比较好

    此处是我处理不当,n是网络上全部网页的数量,"T1....Tn“中改为"T1.....Tm"就可以了。

    3)“那么网页X的重要程度PR(X)即为:”词句话下面给出的公式却是“PR(A) = ……”,一个是X一个是A,建议修改前一句,改为A吧

    此处我的想法是这样,在前一段对C(X)给出定义是对一般网页“X"来说,说PR(X)也是指一般网页而言”X",公式是对特定网页“A"给出。

    4) “那么到底如何计算PR(A)呢?”——如何确定d的取值呢?
    具体做法我不知道,但是d的取值我想要经过试验,看那个值的排序效果好,据网上流传说法,一般取为0.85

    • ET民工[源自火星]说道:

      感谢解答!

      “n是网络上全部网页的数量,”T1….Tn“中改为”T1…..Tm”就可以了。”——如此说来,文中的公式也要修正了,后面部分的求和项,应该从1到m

    • ET民工[源自火星]说道:

      还有个问题,假设进入A网页的概率可以分为两部分:

      一部分是从含有指向A的网页(称此集合为B,包括B1,B2,...Bm这些页面)进入,此概率为Pr(AB);

      另一部分是网上随机进入,此概率为Pr(Ab)。这种写法其实不妥,但因为没法在B字母上划横线或者上标c,就用小写字母b表示B的补集吧。

      二者求和,有 Pr(A) = Pr(AB) + Pr(Ab)。

      第一部分的概率 Pr(AB)可以展开为 Pr(AB) = Sum[Pr(A|Bi)Pr(Bi)],这里的 Pr(A|Bi) = 1/C(Bi),Sum表示对i从1到m求和

      第二部分的概率 Pr(Ab)可以展开为 Pr(Ab) = Pr(A|b)Pr(b),这里的 Pr(A|b) = 1/n,Pr(b)=(1-d)

      将展开式代入,有 Pr(A)= Sum[Pr(A|Bi)Pr(Bi)] + (1-d)/n

      如果推导没有问题,那么和文中的公式相比,缺了一个d,这是怎么回事?

      另外,如果推导正确,可以得到 d = 1 - Sum[Pr(Bi)],从而得到:

      Pr(A)= Sum[Pr(A|Bi)Pr(Bi)] + (1 - Sum[Pr(Bi)])/n,这样消除了d,是不是形式上更好看些?

  17. seeeeeeee说道:

    google的算法不人性化,如果A的链接为一个裸nv照,那么我的点击这个链接的几率为100%

    • 秋凯叶绿说道:

      你这么说是不是太片面了?我点击这个链接的几率为0%。
      要是这么说,给谷歌一個個人喜好設置?

  18. Alexlmc说道:

    「……面对搜索引擒所返回……」错别字

  19. Silasman说道:

    太神了,太神了,太神了!

  20. 社稷说道:

    太专业了,我一看到这种数学公式就头疼,不过非常感兴趣,虽然没算明白,但是让我知道了这之间有规律可寻就和很多事情一样,国内也有很多未被开发的处女地,科学松鼠会肯定很明白,你们所做的工作非常有意义,很好的文章,谢谢!

  21. yangtze说道:

    传说度娘用的是人工排序?

    • qwerdssa说道:

      咦,度娘不是用把给钱的网页的名单存入Excel按钱数降序排列的皋科技方法么?

  22. chickweed说道:

    则要通过T1页面访问到A,必须满足如下三个先决条件:到达 A(几率为PR(T1)),决定点击链接(几率为d),从C(T1)个链接种选择到指向A的链接(几率为1/C(T1))

    第一个到达A,应该是到达T1吧

  23. Sunday说道:

    Click Here 进行google中文搜索,第二个结果是 签证申请表下载!
    妈的这么多人出国?!!!!

  24. 我晕说道:

    看晕了……不懂!

  25. zhry077说道:

    貌似以前还见过一个投给教育局的?

  26. 易经4.1.2说道:

    我还是没弄懂怎么做炸弹……

  27. lzc说道:

    Microsoft is "more evil than Satan himself"
    Submitted by ContentFromOldTotSP on Wed, 12/31/1997 - 20:05
    Tagged: Business
    Excerpt from the CNN story: Could Microsoft be "more evil than Satan himself"? Even Judge Thomas Penfield Jackson would not make that ruling. But the jury may still be out at popular search engines. Try running the query "more evil than Satan himself" at the Google search site. According to the folks at Google, the URL for damnation is Microsoft.com. Sound odd? It gets weirder...."Search engines gang up on Microsoft" story at CNN Google search engine.

    Login or register to post comments 这是原文

  28. 初来乍到说道:

    这不就是提高你的网站的搜索排名吗?搞web开发的应该都了解,想提高网站的知名度这个必做啊!

  29. 成军说道:

    不错!!!

  30. 肖俊说道:

    比较详细的说明了。

  31. 王小锐说道:

    牛X

  32. Knight说道:

    好难理解啊。。。

  33. Wholesale说道:

    原来这个就是GOOGLE炸弹啊。。原来是这样子

  34. [...] google炸弹,你玩过了么? [...]

  35. [...] google炸弹,你玩过了么? [...]

Leave a Reply