读书笔记三

发布时间 2024-01-04 22:04:18作者: 唐青云

这就是搜索引擎 -- 读书笔记三

相信搜索引擎对于每一个爱好算法甚至爱好技术的IT人员都具有强烈的好奇心吧,因为搜索引擎在互联网中的地位实在是不可撼动。想象如果互联网没有了搜索引擎,那么我们平常技术上出现瓶颈了怎么办?甚至连普通的生活都离不开搜索,大学生的你订餐了吗?

搜索引擎已经发展为每个人上网都离不开的重要工具,其技术发展历程是怎样的呢?其基本目标是什么?核心技术问题又是什么呢?在接下来的一系列博文中,我会根据读书和自己的总结用平乏的语言来表达出来,希望对朋友们有所帮助。另外,博友们如果有好的相关资源,也感谢留言。

今天,我给大家讲解一下搜索引擎及其技术架构的基础知识,让我们对搜索引擎有一个大致的了解。

商业搜索引擎公司的发展

在信息量快速增长的情况下,如何能够找到满足用户需求的网页内容就日益成为越来越重要的问题。信息增长速度越快,用户需求越迫切,相应的搜索结果就越要准确。大的搜索引擎公司就是在这个用户需求背景下,从建立到逐步壮大,乃至发展到今天搜索引擎成为最重要的互联网的应用。

早期时候,随着互联网的进一步的快速发展,信息的爆炸性增长,已有的搜索引擎服务提供商所提供的搜索服务质量并无大的改善。Google于1998年成立,以PageRank链接分析等新技术大幅度提高了搜索质量,之后高速发展并抢占了绝大多数的搜索引擎市场,成为目前最重要的互联网之一。想想为什么搜索引擎公司这么看重搜索技术?就拿大学生订餐这一事情来说,够实际吧,如果你订餐时查询到的前3页搜索结果都是已经售完了的饭菜品,那么此时饥饿的你感受如何?相信你连揍死店家的冲动都有。在另外一家外卖店的首页上,搜索第一条就是很新鲜的菜品,你会选择哪一家外卖店呢?

搜索引擎技术发展史

从搜索引擎所采取的技术来说,可以将搜索引擎技术的发展划分为4个阶段:分类目录、文本检索、链接分析和用户中心。

史前时代:分类目录的一代

这个时代可以称为“导航时代”,Yahoo和国内hao123是这个时代的代表。通过人工收集整理,把属于各个类别的高质量网站或者网页分门别类罗列,用户可以根据分级目录来查找高质量的网站。这种方式是纯人工、最原始的方式,并未采取什么高深的技术手段。

第一代:文本检索的一代

文本检索的一代采用经典的信息检索模型,比如布尔模型、向量空间模型或者概率模型,来计算用户查询关键词和网页文本内容的相关程度。网页之间有丰富的链接关系,而这一代搜索引擎并未使用这些信息。早期的很多搜索引擎比如AltaVista、Excite等大都采取这种模式。

第二代:链接分析的一代

这一代的搜索引擎充分利用了网页之间的链接关系,并深入挖掘和利用了网页链接所代表的含义。通常而言,网页链接代表了一种推荐关系,所以通过链接分析可以在海量内容中找出重要的网页。这种重要性本质上是对网页流行程度的一种衡量,因为被推荐次数多的网页其实代表了其具有流行性。搜索引擎通过结合网页流行性和内容相似性来改善搜索质量。

我们都知道Google率先提出并使用PageRank链接分析技术,并大获成功,这同时引起了学术界和其他商业搜索引擎的关注。后来学术界陆续提出了很多改进的链接分析算法。目前几乎所有的商业搜索引擎都采用了链接分析技术。

采用链接分析能够有效改善搜索结果质量,但是这种搜索引擎并未考虑用户的个性化要求,所以只要输入的查询请求相同,所有用户都会获得相同的搜索结果。另外,很多网站拥有者为了获得更高的搜索排名,针对链接分析算法提出了不少链接作弊方案,这样导致了搜索结果质量变差。

第三代:用户中心的一代

目前的搜索引擎大都可以归入第三代,即以理解用户需求为核心。不同用户即使输入同一个查询关键词,但其目的也有可能不一样。比如同样输入“苹果”作为查询词,一个追捧IPhone的时尚青年和一个果农的目的会有相当大的差距。而目前搜索引擎大部分致力于解决如下问题:如何能够理解用户发出的某个很短小的查询词背后包含的真正需求,所以这一代搜索引擎称之为以用户为中心的一代。