zoukankan      html  css  js  c++  java
  • 基于视觉信息的网页分块算法(VIPS)

    基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET

    于视觉信息的网页分块算法(VIPS)

    1233人阅读 评论(1) 收藏 举报

    VIPS: a Vision-based Page Segmentation Algorithm.pdf下载

               这篇论文的主要思想:

               从人类的角度来看,当一个用户观察web页面的时候,它总是会自然而然的把一个语义块作为一个单一对象来看待,而不会管web页面的内部结构是如何描述的。因此一些视觉因素,比如背景颜色、字体颜色和大小、边框、逻辑块和逻辑块之间的间距等等可用来分辨语义块,充分的利用web页面的视觉提示,并结合DOM树进行页面语义分块,可以达到更加理想的效果。VIPS算法的首先从DOM树中提取出所有的合适的页面块,然后根据这些页面块检测出它们之间的所有的分割条,包括水平和垂直方向。最后基于这些分割条,Web页面的语义结构将被重新构建。对于每一个语义块又可以使用VIPS算法继续分割为更小的语义块。

    vips算法流程

    vips算法流程图

               其中,节点分割依据有

               1、DOM结点本身的属性。比如当前DOM结点的标签,结点的背景色,当前结点所代表的页面块的大小,形状。

               2、当前DOM结点的孩子结点。比如孩子结点的标签,孩子结点所代表的区域的背景色,前景色,区域的大小以及不同类型的孩子的数目等等。

               节点的分割原则如下

               1、标签提示
               一些标签如<HR>通常用来从视觉上分隔不同主题的内容, 因此如果DOM结点中包含这些标签,该结点允许被继续分割;
               如果inline结点的孩子结点存在line-break结点,那么该结点 将被倾向于被分割;
               2、色彩提示
               如果当前结点的孩子结点中有一个结点的背景色与它的背 景色不同,分割该DOM结点。同时,具有不同背景色的节 点在本次循环中不再被分割。分割由下一次迭代完成
               3、文本提示
               如果当前结点的大部分孩子结点都是文本结点或者是虚拟 文本结点,不再继续分割该结点
               4、尺寸提示
               对不同的结点类型预定义一个门槛尺寸(结点的大小与整个 页面大小的比较),如果结点的相对尺寸小于门槛大小,那 么分割就停止

               分割条检测步骤如下:
               1、初始化分隔条列表。最早的分隔条列表中仅仅存在一个分隔条,起始和终止坐标为(Pbe,Pee),分别对应整个Web页面的起始坐标和终止坐标
               2、页面块被包含在分隔条中,此时,该分隔条将从页面块的边缘裂变为多个分隔条
               3、页面块与分隔条发生部分重合,那么根据页面块的边界重新调整分隔条的参数
               4、页面块跨越分隔条,那么此时移除该分隔条
               5、移除页面边缘的分隔条

               分割条检测步骤图

               语义块重构过程:
               从最小权重的分隔条开始,该分隔条两侧的页面块将合并在一起组成一个新的页面块。该合并过程不停的进行迭代,直到遇到权重最高的分隔条为止。对于每一个新的语义块,相应的DOC也被相应设置,参见下图:

    语义块重构

                另外,分隔条用于区别不同语义的页面块,因此基于给定分隔条两边的语义块的在视觉上的差异,设置分隔条的权重。如果分隔条的权重越重,该分隔条两侧的页面属于不同语义块的可能性就越大。分割块权重的设置有以下几个原则:

               1、分隔条两边的页面块的距离越远,该分隔条的权重 就越高
               2、如果某个分隔条是通过检测HTML标签获取的,比 如<HR>,那么该分隔条的权重就越高
               3、 如果分隔条两侧的页面块的背景色是不相同的,那 么该分隔条的权重将相应增高
               4、 对于水平分隔条而言,如果分隔条两侧的页面块的 字体属性,比如字体大小,字体重量是不同的,那 么该分隔条的权重将增加。而且如果分隔条上侧的 页面块的体小于分隔条下侧的页面块的字体,那 么分隔条的权重将增加
               5、对于水平分隔条而言,当分隔条两侧的页面块的结 构非常相似,比如文本,那么该分隔条的权重将递减

  • 相关阅读:
    时间函数的查询-thinkphp
    关于回退的解决
    get post的区别
    日期函数及其查询
    asp MVC的一些tip总结
    asp.net mvc中cookie的完整理解
    解决.net移除dll文件以后依旧报错
    ASP.net MVC redis完整示例(含集合,哈希,sortedset)
    JavaScript实现图的深度广度优先遍历
    JavaScript实现二叉查找树
  • 原文地址:https://www.cnblogs.com/lexus/p/3600106.html
Copyright © 2011-2022 走看看