搜索引擎是如何抓取网页?

搜索引擎在抓取海量的原始网页时,会进行预处理,主要包括四个方面关键词的提取,“镜像网页”(网页的内容完全相同,未加任何修改)或“转载网页”(near-replicas,主题内容基本相同但可能有一些额外的编辑信息等,转载网页也称为“近似镜像网页”)的消除,链接分析和网页重要程度的计算。

1. 关键词的提取,取一篇网页的源文件(例如通过浏览器的“查看源文件”功能),我们可以看到其中的情况纷乱繁杂。从认识和实践来看,所含的关键词即为这种特征最好的代表。于是,作为预处理阶段的一个基本任务,就是要提取出网页源文件的内容部分所含的关键词。对于中文来说,就是要根据一个词典Σ,用一个所谓“切词软件”,从网页文字中切出Σ所含的词语来。在那之后,一篇网页主要就由一组词来近似代表了,p = {t1, t2, …, tn}。一般来讲,我们可能得到很多词,同一个词可能在一篇网页中多次出现。从效果(effectiveness)和效率(efficiency)考虑,不应该让所有的词都出现在网页的表示中,要去掉诸如“的”,“在”等没有内容指示意义的词,称为“停用词”(stop word)。这样,对一篇网页来说,有效的词语数量大约在200个左右。

2. 重复或转载网页的消除,与生俱来的数字化和网络化给网页的复制以及转载和修改再发表带来了便利,因此我们看到Web上的信息存在大量的重复现象。这种现象对于广大的网民来说是有正面意义的,因为有了更多的信息访问机会。但对于搜索引擎来说,则主要是负面的;它不仅在搜集网页时要消耗机器时间和网络带宽资源,而且如果在查询结果中出现,无意义地消耗了计算机显示屏资源,也会引来用户的抱怨,“这么多重复的,给我一个就够了”。因此,消除内容重复或主题内容重复的网页是搜索引擎抓取网页阶段的一个重要任务。

3、链接分析,大量的HTML标记既给网页的预处理造成了一些麻烦,也带来了一些新的机遇。从信息检索的角度讲,如果系统面对的仅仅是内容的文字,我们能依据的就是“共有词汇假设”(shared bag of words),即内容所包含的关键词集合,最多加上词频(term frequency 或tf、TF)和词在文档集合中出现的文档频率(document frequency 或df、DF)之类的统计量。而TF和DF这样的频率信息能在一定程度上指示词语在一篇文档中的相对重要性或者和某些内容的相关性,这是有意义的。有了HTML标记后,情况还可能进一步改善,例如在同一篇文档中,<H1>和</H1>之间的信息很可能就比在<H4>和</H4>之间的信息更重要。特别地,HTML文档中所含的指向其他文档的链接信息是人们近几年来特别关注的对象,认为它们不仅给出了网页之间的关系,而且还对判断网页的内容有很重要的作用。

4、网页重要程度的计算,搜索引擎实际上追求的是一种统计意义上的满意。人们认为Google目前比baidu好,还是baidu比google好,参照物取决于多数情况下前者返回的内容要更符合用户的需要,但并不是所有情况下都如此。如何对查询结果进行排序有很多因素需要考虑。如何讲一篇网页比另外一篇网页重要?人们参照科技文献重要性的评估方式,核心想法就是“被引用多的就是重要的”。“引用”这个概念恰好可以通过HTML超链在网页之间体现得非常好,作为Google创立核心技术的PageRank就是这种思路的成功体现。除此以外,人们还注意到网页和文献的不同特点,即一些网页主要是大量对外的链接,其本身基本没有一个明确的主题内容,而另外有些网页则被大量的其他网页链接。从某种意义上讲,这形成了一种对偶的关系,这种关系使得人们可以在网页上建立另外一种重要性指标。这些指标有的可以在抓取网页阶段计算,有的则要在查询阶段计算,但都是作为在查询服务阶段最终形成结果排序的部分参数。