一. 引言
在如今这个互联网时代, 有一家公司家喻户晓它自 1998 年问世以来, 在极短的时间内就声誉鹊起, 不仅超越了所有竞争对手, 而且彻底改观了整个互联网的生态。 这家公司就是当今互联网上的第一搜索引擎: 谷歌 (Google)。
在这样一家显赫的公司背后, 自然有许许多多商战故事, 也有许许多多成功因素。 但与普通商战故事不同的是, 在谷歌的成功背后起着最关键作用的却是一个数学因素。
本文要谈的就是这个数学因素。
谷歌作为一个搜索引擎, 它的核心功能顾名思义, 就是网页搜索。 说到搜索, 我们都不陌生, 因为那是凡地球人都会的技能企业官网建设。 我们在字典里查个生字, 在图书馆里找本图书, 甚至在商店里寻一种商品, 等等, 都是搜索。 只要稍稍推究一下, 我们就会发现那些搜索之所以可能, 并且人人都会, 在很大程度上得益于以下三条:
1、搜索对象的数量较小比如一本字典收录的字通常只有一两万个, 一家图书馆收录的不重复图书通常不超过几十万种, 一家商店的商品通常不超过几万种, 等等。
2、搜索对象具有良好的分类或排序比如字典里的字按拼音排序, 图书馆里的图书按主题分类, 商店里的商品按品种或用途分类, 等等。
3、搜索结果的重复度较低比如字典里的同音字通常不超过几十个, 图书馆里的同名图书和商店里的同种商品通常也不超过几十种, 等等。
但互联网的鲜明特点却是以上三条无一满足。 事实上, 即便在谷歌问世之前, 互联网上的网页总数就已超过了诸如图书馆藏书数量之类传统搜索对象的数目。 而且这还只是冰山一角, 因为与搜索图书时单纯的书名搜索不同, 互联网上的搜索往往是对网页内容的直接搜索, 这相当于将图书里的每一个字都变成了搜索对象, 由此导致的数量才是真正惊人的, 它不仅直接破坏了上述第一条, 而且连带破坏了二、 三两条。 在互联网发展的早期, 象雅虎 (Yahoo) 那样的门户网站曾试图为网页建立分类系统, 但随着网页数量的激增, 这种做法很快就 挂一漏万 了。 而搜索结果的重复度更是以快得不能再快的速度走向失控。 这其实是可以预料的, 因为几乎所有网页都离不开几千个常用词, 因此除非搜索生僻词, 否则出现几十万、 几百万、 甚至几千万条搜索结果都是不足为奇的。
互联网的这些 不良特点 给搜索引擎的设计带来了极大的挑战。 而在这些挑战之中, 相对来说, 对一、 二两条的破坏是比较容易解决的, 因为那主要是对搜索引擎的存储空间和计算能力提出了较高要求, 只要有足够多的钱来买 装备, 这些都还能算是容易解决的套用电视连续剧《蜗居》中某贪官的台词来说, 能用钱解决的问题就不是大问题。 但对第三条的破坏却要了命了, 因为无论搜索引擎的硬件如何强大, 速度如何快捷, 要是搜索结果有几百万条, 那么任何用户想从其中 海选 出自漳州网站建设公司己真正想要的东西都是几乎不可能的。 这一点对早期搜索引擎来说可谓是致命伤, 而且它不是用钱就能解决的问题。
这致命伤该如何治疗呢? 药方其实很简单, 那就是对搜索结果进行排序, 把用户最有可能需要的网页排在最前面, 以确保用户能很方便地找到它们。 但问题是: 网页的水平千差万别, 用户的喜好更是万别千差, 互联网上有一句流行语叫做: 在互联网上, 没人知道你是一条狗 (On the Internet, nobody knows you're a dog)。 连用户是人是狗都 没人知道, 搜索引擎又怎能知道哪些搜索结果是用户最有可能需要的, 并对它们进行排序呢?
在谷歌主导互联网搜索之前, 多数搜索引擎采用的排序方法, 是以被搜索词语在网页中的出现次数来决定排序出现次数越多的网页排在越前面。 这个判据不能说毫无道理, 因为用户搜索一个词语, 通常表明对该词语感兴趣。 既然如此, 那该词语在网页中的出现次数越多, 就越有可能表示该网页是用户所需要的。 可惜的是, 这个貌似合理的方法实际上却行不大通。 因为按照这种方法, 任何一个象祥林嫂一样翻来复去倒腾某些关键词的网页, 无论水平多烂, 一旦被搜索到, 都立刻会 金榜题名, 这简直就是广告及垃圾网页制造者的天堂。 事实上, 当时几乎没有一个搜索引擎不被 祥林嫂 们所困扰, 其中最具讽刺意味的是: 在谷歌诞生之前的 1997 年 11 月, 堪称早期互联网巨子的当时四大搜索引擎在搜索自己公司的名字时, 居然只有一个能使之出现在搜索结果的前十名内, 其余全被 祥林嫂 们挤跑了。
二. 基本思路
正是在这种情况下, 1996 年初, 谷歌公司的创始人, 当时还是美国斯坦福大学 (Stanford University) 研究生的佩奇 (Larry Page) 和布林 (Sergey Brin) 开始了对网页排序问题的研究政府网站建设标准。 这两位小伙子之所以研究网页排序问题, 一来是导师的建议 (佩奇后来称陕西网站建设公司该建议为 我有生以来得到过的最好建议), 二来则是因为他们对这一问题背后的数学产生了兴趣。
网页排序问题的背后有什么样的数学呢? 这得从佩奇和布林看待这一问题的思路说起。
在佩奇和布林看来, 网页的排序是不能靠每个网页自己来标榜的, 无论把关键词重复多少次, 垃圾网页依然是垃圾网页。 那么, 究竟什么才是网页排序的可靠依据呢? 出生于书香门第的佩奇和布林 (两人的父亲都是大学教授) 想到了学术界评判学术论文重要性的通用方法, 那就是看论文的引用次数。 在互联网上, 与论文的引用相类似的是显然是网页的链接。 因此, 佩奇和布林萌生了一个网页排序的思路, 那就是通过研究网页间的相互链接来确定排序。 具体地说, 一个网页被其它网页链接得越多, 它的排序就应该越靠前。 不仅如此, 佩奇和布林还进一步提出, 一个网页越是被排序靠前的网页所链接, 它的排序就也应该越靠前。 这一条的意义也是不言而喻的, 就好比一篇论文被诺贝尔奖得主所引用, 显然要比被普通研究者所引用更说明其价值。 依照这个思路, 网页排序问题就跟整个互联网的链接结构产生了关系, 正是这一关系使它成为了一个不折不扣的数学问题。
思路虽然有了, 具体计算却并非易事, 因为按照这种思路, 想要知道一个网页 Wi 的排序, 不仅要知道有多少网页链接了它, 而且还得知道那些网页各自的排序因为来自排序靠前网页的链接更有分量。 但作为互联网大家庭的一员, Wi 本身对其它网页的排序也是有贡献的, 而且基于来自排序靠前网页的链接更有分量的原则, 这种贡献与 Wi 本身的排序也有关。 这样一来, 我们就陷入了一个 先有鸡还是先有蛋 的循环: 要想知道 Wi 的排序, 就得知道与它链接的其它网页的排序, 而要想知道那些网页的排序, 却又首先得知道 Wi 的排序。
为了打破这个循环, 佩奇和布林采用了一个很巧妙的思路, 即分析一个虚拟用户在互联网上的漫游过程。 他们假定: 虚拟用户一旦访问了一个网页后, 下一步将有相同的几率访问被该网页所链接的任何一个其它网页。 换句话说, 如果网页 Wi 有 Ni 个对外链接, 则虚拟用户在访问了 Wi 之后, 下一步点击那些链接当中的任何一个的几率均为 1/Ni。 初看起来, 这一假设并不合理, 因为任何用户都有偏好, 怎么可能以相同的几率访问一个网页的所有链接呢? 但如果我们考虑到佩奇和布林的虚拟用户实际上是对互联网上全体用户的一种平均意义上的代表, 这条假设就不象初看起来那么不合理了。 那么网页的排序由什么来决定呢? 是由该用户在漫游了很长时间理论上为无穷长时间后访问各网页的几率分布来决定, 访问几率越大的网页排序就越靠前。
为了将这一分析数学化, 我们用 pi(n) 表示虚拟用户在进行第 n 次浏览时访问网页 Wi 的几率。 显然, 上述假设可以表述为 (请读者自行证明):
pi(n+1) = Σj pj(n)pji/Nj
这里 pji 是一个描述互联网链接结构的指标函数 (indicator function), 其定义是: 如果网页 Wj 有链接指向网页 Wi, 则 pji 取值为 1, 反之则为 0。 显然, 这条假设所体现的正是前面提到的佩奇和布林的排序原则, 因为右端求和式的存在表明与 Wi 有链接的所有网页 Wj 都对 Wi 的排名有贡献, 而求和式中的每一项都正比于 pj, 则表明来自那些网页的贡献与它们的自身排序有关, 自身排序越靠前 (即 pj 越大), 贡献就越大。
为符号简洁起见, 我们将虚拟用户第 n 次浏览时访问各网页的几率合并为一个列向量 pn, 它的第 i 个分量为 pi(n), 并引进一个只与互联网结构有关的矩阵 H, 它的第 i 行 j 列的矩阵元为 Hij = pji/Nj, 则上述公式可以改写为:
pn+1 = Hpn
这就是计算网页排序的公式。
熟悉随机过程理论的读者想必看出来了, 上述公式描述的是一种马尔可夫过程 (Markov process), 而且是其中最简单的一类, 即所谓的平稳马尔可夫过程 (stationary Markov process), 而 H 则是描述马尔可夫过程中的转移概率分布的所谓转移矩阵 (transition matrix)。 不过普通马尔可夫过程中的转移矩阵通常是随机矩阵 (stochastic matrix), 即每一列的矩阵元之和都为 1 的矩阵 (请读者想一想, 这一特点的 物理意义 是什么?)。 而我们的矩阵 H 却可能有一些列是零向量, 从而矩阵元之和为 0, 它们对应于那些没有对外链接的网页, 即所谓的 悬挂网页 (dangling page)。
上述公式的求解是简单得不能再简单的事情, 即:
pn = Hnp0
其中 p0 为虚拟读者初次浏览时访问各网页的几率分布 (在佩奇和布林的原始论文中, 这一几率分布被假定为是均匀分布)。
南京牧狼文化传媒有限公司简介:
牧狼传媒,牧者之心,狼者之性,以牧之谦卑宽容之心待人,以狼之团结无畏之性做事!
公司注册资金100万,主营众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放以及电商营销推广全案等相关业务,致力于为客户提供更有价值的服务,创造让用户满意的效果!
为百度官方及其大客户、苏宁易购、金山WPS秀堂、美的、创维家电、新东方在线、伊莱克斯、宝丽莱等国内国外知名品牌服务过,服务经验丰富!同时,公司也是南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位,可以为您提供更好的服务!
主营项目:众筹全案服务、网站营销全案服务、网站建设、微信小程序开发、电商网店设计、H5页面设计、腾讯社交广告投放、竞价托管、网站优化、电商代运营等
合作客户:百度、苏宁易购、饿了么、美的、创维家电、新东方在线、宝丽莱、金山WPS秀堂、伊莱克斯
资质荣誉:百度商业服务市场2017年度最佳图片服务商、南京电子商务协会会员单位、猪八戒网官方认证签约服务商、江苏八戒服务网联盟、南京浦口文化产业联合会会员单位、八戒通TOP服务商、"易拍即合杯"H5创意大赛"三等奖"。