|
|
发表于 3 小时前
|
查看: 7 |
回复: 0
搜索引擎的前世今生
1991年,一个普通的工程师坐在日内瓦粒子物理研究所的机房里,对着屏幕发呆。他面前有几十台电脑,每一台都存着不同的文件,没有人知道那些文件里有什么。你想找一份报告,要先问同事,同事说也许在3号机上,也许在7号机上。
蒂姆·伯纳斯-李后来说道,他建立万维网的最初动机之一,就是因为研究所的信息管理太混乱,他自己都找不到东西。
一个信息爆炸的时代来临之前,人类首先要经历的,是信息的彻底失控。
在万维网诞生之前,互联网上已经有了大量的文件。它们存在于FTP服务器上,分散在全球各个大学和研究机构的计算机里。如果你知道某个文件的确切地址,你可以下载它。但如果你不知道呢?没有办法。1990年,麦吉尔大学的学生艾伦·恩帕奇用了几个月时间,写出了一个叫做"Archie"的程序。Archie会自动登录各个FTP服务器,把文件名抓取下来,建成一个可以检索的列表。这是人类第一个搜索引擎的雏形。它不读文件内容,只认识文件名。你要搜索一份关于量子力学的论文,得先猜这份论文的文件名里可能含有哪个单词。
[ FTP服务器A ] [ FTP服务器B ] [ FTP服务器C ]
file001.txt data_qm.txt report_v2.txt
result_exp.doc notes.txt final.pdf
↓ ↓ ↓
[ Archie 索引 ]
文件名列表 → 可检索
(内容?不知道)
Archie是一种笨拙但诚实的发明。它的逻辑很简单,它把所有东西的名字抄下来,然后让你查名字。这个逻辑在文件数量较少的时候勉强可行,但互联网的增长速度很快就让这个方案显得幼稚。1991年,文字图形界面系统Gopher出现了,它比FTP更友好,能以目录树的形式展示信息,但同样面临内容难以检索的困境。同一年,WAIS(广域信息服务器)项目尝试真正对文档内容建立索引,这是一个更大胆的尝试,但系统的复杂性也让普通用户望而却步。
历史的走向在1991年到1993年之间发生了一个关键的转折。蒂姆·伯纳斯-李的HTTP协议和HTML语言开始被广泛采用,网页开始以超链接相互连接。互联网从一堆孤立的文件柜,变成了一张网。这张网的出现,从根本上改变了信息组织的方式,也从根本上创造了一个新的问题。当一切都相互连接,你怎么在这张无边无际的网里找到你想要的那个节点?
1994年,斯坦福大学的两个研究生杰里·杨和大卫·费罗,选择了最直觉的人工整理目录方式。他们把互联网上的网站分门别类,建成一个层级式的目录,就像图书馆的分类系统一样。这个项目最初叫做"杰里和大卫的万维网指南",后来改名为Yahoo。
Yahoo模式在早期非常成功,因为它符合人类对信息的直觉理解。我们习惯于分类,习惯于目录,习惯于在书架上找书。但它忽略了互联网的增长速度远超人工编辑的速度。到1990年代中期,互联网上每天新增的页面数以万计,而Yahoo的编辑团队是有限的。
与此同时,真正的爬虫技术开始成熟。1994年,第一个叫做WebCrawler的全文搜索引擎上线,它会自动访问网页,读取内容,建立索引。1995年,Lycos、AltaVista相继出现,尤其是AltaVista,一度被视为那个年代最强大的搜索引擎。它的索引规模庞大,响应速度快,支持复杂的布尔逻辑搜索。用过那个时代互联网的人,大概都记得AltaVista那个简洁的页面,和那个巨大的输入框。
互联网上的网页(数以亿计)
↓
[ 爬虫 Crawler ]
自动访问 → 读取内容 → 跟随链接 → 继续访问
↓
[ 索引器 Indexer ]
建立词汇表:哪个词出现在哪个页面
↓
[ 搜索接口 ]
用户输入关键词 → 返回包含该词的页面列表
但AltaVista很快暴露了关键词搜索的缺陷。搜索引擎能找到包含某个词的所有页面,却无法判断哪些页面是真正有价值的。如果你搜索"苹果",你会得到关于水果苹果、苹果公司、苹果酒、苹果树、苹果派的数百万个结果。排在前面的是什么?不知道。这个问题没有答案,直到排名算法被重新思考之前,没有答案。
更糟糕的是,人们很快发现了如何"欺骗"搜索引擎。只需在页面的隐藏区域或者元数据里大量堆砌关键词,搜索引擎就会认为这个页面与某个词高度相关。垃圾内容网站开始泛滥,关键词的时代正在走向自我毁灭。
1996年,斯坦福大学。两个名字后来改变了整个互联网格局的年轻人开始了一个研究项目。拉里·佩奇最初的想法是研究超链接的结构。他想知道,互联网这张网里,链接是如何分布的,哪些页面被链接最多,这种链接结构能告诉我们什么。他把这个项目叫做"BackRub",因为它分析的是指向某个页面的"反向链接"。谢尔盖·布林加入之后,他们开始意识到,这个链接分析方法可以用来评估网页的重要性。
他们的核心观点是,如果一个页面被很多其他页面链接,那么它可能是重要的;如果链接它的页面本身也是重要的,那么它就更重要。
这个想法来自学术界的引用分析。一篇论文被引用的次数越多,说明它越有影响力;被顶级期刊引用,比被默默无闻的小文章引用更有价值。佩奇和布林把这个逻辑移植到了网页世界,发展出了PageRank算法。
页面A ←──── 页面C(重要页面)
页面A ←──── 页面D(重要页面)
页面A ←──── 页面E(普通页面)
页面B ←──── 页面F(普通页面)
PageRank(A) >> PageRank(B)
因为:A被重要页面链接,B只被普通页面链接
链接 = 投票
来自重要来源的投票 = 权重更高的投票
PageRank的计算是迭代的,初始时给每个页面赋予相同的分数,然后根据链接关系反复重新计算,直到所有页面的分数趋于稳定。这是一种数学上的不动点迭代,背后是线性代数中的特征向量计算。但对用户来说,它的效果极为直观,因为搜索结果突然变得有意义了。
1998年,佩奇和布林在一篇论文里描述了这个系统,并且把它命名为Google。同年,他们在朋友的车库里注册了公司。
Google上线之后,用过的人几乎没有回头的。搜索结果的质量是压倒性的优势。AltaVista、Lycos、Excite这些曾经的巨头,开始感受到寒意。Yahoo在2000年做了一个日后被反复引用为经典错误案例的决定,他们把Google的搜索技术引入自己的平台。Yahoo以为自己购买的是一项服务,却不知道自己正在为竞争对手培养用户习惯。
搜索引擎的工作原理,到了这个阶段已经形成了一个完整的三段式结构:爬取(Crawling)、索引(Indexing)、排名(Ranking)。
爬虫是整个系统的起点。它从一批已知的网址出发,下载页面,提取页面中的所有链接,然后访问这些新链接,再提取更多链接,如此循环,像蜘蛛织网一样蔓延整个互联网。一个现代的搜索引擎爬虫,每天要访问数十亿个页面,消耗的带宽和计算资源相当于一个中等规模国家的互联网流量总和。
索引是把爬取到的内容变成可查询的数据库的过程。每一个词、每一个词出现的页面、出现的位置、出现的频率,都被记录下来,存入一个倒排索引(Inverted Index),这是一个以词为键、以页面列表为值的巨大哈希表。
倒排索引示意:
词 → 包含该词的页面
────────────────────────────
"量子" → [页面2, 页面7, 页面15, ...]
"计算" → [页面1, 页面2, 页面9, ...]
"算法" → [页面3, 页面9, 页面22, ...]
查询"量子计算"
→ 取"量子"列表 ∩ "计算"列表
→ 交集 = [页面2, 页面9, ...]
→ 按PageRank排序
→ 返回结果
排名则是这三段中最复杂、最不透明,也是商业价值最高的环节。PageRank只是排名算法中的一个信号,现代搜索引擎会综合考量数百个因素。页面内容的相关性、页面加载速度、用户的点击行为、搜索词的语义理解、用户的地理位置、历史搜索记录,乃至当前时间……同一个词在不同时间点可能对应完全不同的需求。
Google的崛起在互联网史上是一个有些另类的故事。它没有沿用任何既有巨头的商业路径,而是在很长一段时间里坚持一个看起来有些偏执的理念。它把最好的搜索结果给用户,其他的事情之后再说。
搜索引擎的价值不是它自身,而是它对用户注意力的掌控。只要用户把Google当作进入互联网的入口,Google就可以在这个入口旁边放置广告,精准地对应用户的即时需求。2000年,Google推出了AdWords,这个广告系统最终成为了人类商业史上最有利可图的发明之一。
与此同时,整个搜索生态开始衍生出一个庞大的寄生产业。搜索引擎优化,即SEO。网站运营者、内容创作者、营销人员,开始系统地研究如何让自己的页面在搜索结果里排在更前面。这是一场永无止境的猫鼠游戏。Google改变算法,SEO从业者研究新规则,找到新漏洞;Google再次改变算法,循环往复。
为了排名而生产的内容,农场式内容(Content Farm)开始在互联网上大量扩散。大批雇用廉价写手批量生产关键词密集的文章,在2000年代末成为一个严重的问题。2011年,Google的Panda算法更新,以此打击低质量内容,这次更新让数百个依赖流量收入的网站一夜之间崩溃。
2023年之后,搜索引擎开始与大型语言模型深度结合。Bing接入了GPT-4,Google推出了Gemini整合的搜索体验,AI生成答案直接出现在搜索结果页面的顶部,有时甚至不再需要用户点击任何链接。
这是一个微妙的历史转折。搜索引擎最初的价值,是帮你找到互联网上已有内容的位置。而现在,它开始直接"生成"答案,内容生产和内容检索的边界正在模糊。互联网的流量生态因此遭受新一轮冲击。如果用户的问题直接被AI回答,那些靠页面点击为生的内容创作者、媒体机构、知识网站,还有多少存在的空间?
这个问题还没有答案。就像1993年没有人能预料到PageRank,就像2000年没有人能预料到AdWords会创造多少财富。技术的走向总是在某一刻突然变得清晰,但那一刻往往在事后。
有一件事是确定的,人类需要在信息中导航的能力,不会消失。从Archie那个只认识文件名的笨拙程序,到今天能够理解模糊语义、预测意图、实时更新的搜索系统,这条演化的路线走了三十年,但它解决的始终是同一个最原始的问题,在一个比任何人都要大得多的信息空间里,找到你需要的那一点。 |
|