浅识网页正文提取算法

优采云 发布时间: 2020-08-25 20:39

  浅识网页正文提取算法

  

  

  这种算法须要对网站HTML构建DOM树,然后对之进行遍历递归,去除相应的噪声信息然后再从剩余的节点中进行选择。由于要构建DOM树,算法的时间/空间复杂度均较高。

  基于标签的算法都潜在默认了这样的一个信息:即网站的网页生成,制作都遵守了一定的标签使用规范。不过现今的互联网网页五花八门,很难都按常理出牌,所以这在一定程度上减少了算法的准确性和通用性。

  2.基于内容

  网页根据内容方式分类大约分为:主题型,图片型和目录型。

  对于主体型的网页,例如新闻类,博客类等,主要特征是文字内容比较多。基于这一点,另外一种正文提取思路是基于正文本身的特性。在一定程度上,正文的文字数目要比其他部份多。这在一定程度上有助于产生了区域的区分度。文字数目的飙升和飙升在一定程度上可以作为正文开始和介绍的判读点。

  这类算法在本质上没有多大的差别,只是选择测度文字密度的方法不同而已。有的是基于块,有的是基于行,有的是基于转化函数。算法都很容易理解,也相对比较容易实现。下面的几篇文章就是基于网页内容的算法。

  《基于行块分布函数的通用网页正文抽取》陈鑫

  《基于网页分块的正文信息提取方式》黄玲,陈龙

  博文《我为开源作贡献,网页正文提取--HtmlArticle2》

  3. 基于视觉

  想对于上面两种思路,这类算法的思路有一种"高大上"的觉得。这里不得不提及这类算法的基础:VIPS(Vision-based Page Segementation)算法。

  VIPS算法:利用背景颜色,字体颜色和大小,边框,逻辑块和逻辑块之间的宽度等视觉特点,制定相应的规则把页面分割成各个视觉块!(视觉疗效真的是千变万化,如何制订规则集仍然是个复杂的问题)

  VIPS算法充分利用了Web页面的布局特点。它首先从DOM 树中提取出所有合适的页面块,然后按照这种页面块测量出它们之间所有的分割条,包括水平和垂直方向;最后基于这种分割条.重新建立Web页面的语义结构。对于每一个语义块又可以使用VIPS算法继续分割为更小的语义块。该算法分为页面块提取、分隔条提取和语义块构建3部分,并且是递归调用的过程,直到条件不满足为止.

  相关文献:

  《基于视觉特点的网页正文提取方式研究》安增文,徐杰锋

  《A vision—based page segmentation algorithm》

  4. 基于数据挖掘/机器学习

  看到好多作者对这一思路的普遍评价是"杀鸡焉用牛刀"。

  基本思路是使用一定数目的网页作为训练集,通过训练得到网页正文的一些特征,然后将这种特点作为网页片断是否符合网页正文的判定根据。对于数据挖掘/机器学习算法来讲,训练样本的采集很重要,然而现实是互联网中网页方式千变万化,不太可能取太多数目作为训练样本。这样这些算法的准确性和通用性就遭到了阻碍,同时这类算法前期工作也比较复杂。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线