“预处理”是搜索引擎加工浩瀚网页的一个重要工序,犹如厨师掌勺前的切配菜工作,许多朋友总是在问,为什么我的新站还没被搜索收录,其实,搜索早已发现了你,只是在预处理阶段而已,因此你一定要有耐心。下文我们就来谈谈在此阶段,搜索做了哪些繁重而又必须的工作。
第一步:去除源文件中的广告,划分清模板,取出能够代表它的内容的一些关键词
任意取一篇网页的源文件,可以看到其代码非常复杂。除了我们从ie中能够正常看到的文字内容外,还有大量的HTML标记。根统计,网页文档源文件的大小(字节量)通常大约是其核心内容大小的4倍。由于HTML文档产生来源的多样性,许多网页在内容上比较随意,不仅文字不讲究规范、完整,而且还可能包含许多和主要内容无关的信息(例如广告,导航条,版权说明等)。这些情况既给有效的信息查询带来了挑战。搜索必须要从网页源文件中提取出能够代表它的内容的一些特征。从人们现在的认识和实践来看,所含的关键词即为这种特征最好的代表。于是,作为预处理阶段的一个基本任务,就是要提取出网页源文件的内容部分所含的关键词。对于中文来说,就是要根据一个词典Σ,用一个所谓“切词软件”,从网页文字中切出Σ所含的词语来。在那之后,一篇网页主要就由一组词来近似代表了,p = {t1, t2, …, tn}。一般来讲,搜索可能得到很多词,同一个词可能在一篇网页中多次出现。从效果(effectiveness)和效率(efficiency)考虑,不应该让所有的词都出现在网页的表示中,要去掉诸如“的”,“在”等没有内容指示意义的词,称为“停用词”(stop word)。这样,对一篇网页来说,有效的词语数量大约在200个左右。
第二步、重复或转载网页的消除
与生俱来的数字化和网络化给网页的复制以及转载和修改再发表带来了便利,因此我们看到Web上的信息存在大量的重复现象,比如小弟的中铁快运网(www.gx-banjia.com),就曾经遭人复制,结果是他被收录,而我却没有。在2009年的一次大规模统计分析表明,网页的重复率平均大约为8。也就是说,当你在网上看到一篇网页的时候,平均还有另外7个不同的网页也给出相同或者基本相似的内容。这种现象对于广大的网民来说是有正面意义的,因为有了更多的信息访问机会。但对于搜索引擎来说,则主要是负面的;它不仅在搜集网页时要消耗机器时间和网络带宽资源,而且如果在查询结果中出现,无意义地消耗了计算机显示屏资源,也会引来用户的抱怨,“这么多重复的,给我一个就够了”。因此,消除内容重复或主题内容重复的网页是预处理阶段的一个重要任务。
第三步、链接分析
前面提到,大量的HTML标记既给网页的预处理造成了一些麻烦,也带来了一些新的机遇。从信息检索的角度讲,如果系统面对的仅仅是内容的文字,即内容所包含的关键词集合,最多加上词频和词在文档集合中出现的文档频率之类的统计量。而TF和DF这样的频率信息能在一定程度上指示词语在一篇文档中的相对重要性或者和某些内容的相关性,这是有意义的。有了HTML标记后,情况还可能进一步改善,例如在同一篇文档中,<H1>和</H1>之间的信息很可能就比在<H4>和</H4>之间的信息更重要。特别地,HTML文档中所含的指向其他文档的链接信息是人们近几年来特别关注的对象,认为它们不仅给出了网页之间的关系,而且还对判断网页的内容有很重要的作用。
第四部、网页重要程度的计算
搜索引擎返回给用户的,是一个和用户查询相关的结果列表。列表中条目的顺序是很重要的一个问题。由于面对各种各样的用户,加之查询的自然语言风格,对同样的搜索请求,返回相同的列表肯定是不能使所有提交搜索请求的用户都满意的(或者都达到最高的满意度)。因此搜索引擎实际上追求的是一种统计意义上的满意。
这里只是概要解释在预处理阶段可能形成的所谓“重要性”因素。顾名思义,既然是在预处理阶段形成的,就是和用户查询无关的。如何讲一篇网页比另外一篇网页重要?人们参照科技文献重要性的评估方式,核心想法就是“被引用多的就是重要的”。“引用”这个概念恰好可以通过HTML超链在网页之间体现得非常好。除此以外,人们还注意到网页和文献的不同特点,即一些网页主要是大量对外的链接,其本身基本没有一个明确的主题内容,而另外有些网页则被大量的其他网页链接。从某种意义上讲,这形成了一种对偶的关系,这种关系使得人们可以在网页上建立另外一种重要性指标。这些指标有的可以在预处理阶段计算,有的则要在查询阶段计算,但都是作为在查询服务阶段最终形成结果排序的部分参数。