搜索引擎原理上一节的《3.2、搜集信息的预处理--网页净化和消重》我们知道搜索引擎第一步要做的是网页分析,网页分析中又包括正文提取以及分词,中文分词技术已经在之前的课程中讲解过,就不再重复,本节主要是讲搜索引擎是如何进行正文提取的。

一般来说,搜索引擎都会用网页“两步走”的方法来识别网页的正文内容,并且进行提取。

1、建立HTML标签树。

建立HTML标签树

有一定编程功底的朋友都知道,每个网页都是由HTML标签组成的,而这些标签是如上图所示的树状结构组成的,搜索引擎为了更好的分析网页,首先是先将HTML标签建立标签树,以分析哪些标签包括的内容才是有效的内容。

2、通过投票方法识别正文文本块,并按照深度优先遍历的规则组织为正文。

有了标签树,搜索引擎就可以根据一定的算法来给各个标签打分,以确定哪些标签才是有效的。我们不妨定制以下的规则:

  • 1、如果文本块文本长度少于10个字,0分。介于10~50个字得5分。介于50~250个字,得8分。超过250个字,得10分。
  • 2、文本块文本位置在右侧,得0分。在顶部,得3分。在左侧,得5分。在中部,得10分。

通过投票方法识别正文文本块,并按照深度优先遍历的规则组织为正文

那么将算法套用在上图中,我们发现包含正文的标签都被打了9~10分,而广告部分得了0分,接着我们只要把分数高的标签内容拼凑起来就可以得到正文了。这样既完成了正文提取的工作,又可以有效的过滤HTML代码以及广告的干扰。

小结

本节讲解了搜索引擎原理中正文提取的一些技术,搜索引擎必须知道每个页面的主题,才能给每个网页更相关的排名。下一节我们探讨搜索引擎是如何实现网页消重的:《3.2.2、搜集信息的预处理--网页消重》