VIPS: a Vision-based Page Segmentation Algorithm.pdf下载
这篇论文的主要思想:
从人类的角度来看,当一个用户观察web页面的时候,它总是会自然而然的把一个语义块作为一个单一对象来看待,而不会管web页面的内部结构是如何描述的。因此一些视觉因素,比如背景颜色、字体颜色和大小、边框、逻辑块和逻辑块之间的间距等等可用来分辨语义块,充分的利用web页面的视觉提示,并结合DOM树进行页面语义分块,可以达到更加理想的效果。VIPS算法的首先从DOM树中提取出所有的合适的页面块,然后根据这些页面块检测出它们之间的所有的分割条,包括水平和垂直方向。最后基于这些分割条,Web页面的语义结构将被重新构建。对于每一个语义块又可以使用VIPS算法继续分割为更小的语义块。
vips算法流程图
其中,节点分割依据有:
1、DOM结点本身的属性。比如当前DOM结点的标签,结点的背景色,当前结点所代表的页面块的大小,形状。
2、当前DOM结点的孩子结点。比如孩子结点的标签,孩子结点所代表的区域的背景色,前景色,区域的大小以及不同类型的孩子的数目等等。
节点的分割原则如下:
1、标签提示
一些标签如
分割条检测步骤如下:
1、初始化分隔条列表。最早的分隔条列表中仅仅存在一个分隔条,起始和终止坐标为(Pbe,Pee),分别对应整个Web页面的起始坐标和终止坐标
2、页面块被包含在分隔条中,此时,该分隔条将从页面块的边缘裂变为多个分隔条
3、页面块与分隔条发生部分重合,那么根据页面块的边界重新调整分隔条的参数
4、页面块跨越分隔条,那么此时移除该分隔条
5、移除页面边缘的分隔条
分割条检测步骤图
语义块重构过程:
从最小权重的分隔条开始,该分隔条两侧的页面块将合并在一起组成一个新的页面块。该合并过程不停的进行迭代,直到遇到权重最高的分隔条为止。对于每一个新的语义块,相应的DOC也被相应设置,参见下图:
另外,分隔条用于区别不同语义的页面块,因此基于给定分隔条两边的语义块的在视觉上的差异,设置分隔条的权重。如果分隔条的权重越重,该分隔条两侧的页面属于不同语义块的可能性就越大。分割块权重的设置有以下几个原则:
1、分隔条两边的页面块的距离越远,该分隔条的权重 就越高
2、如果某个分隔条是通过检测HTML标签获取的,比 如