[论文简读] Web Content Extraction Using Clustering

《Web Content Extraction Using Clustering with Web Structure》
引用 Huang X, Gao Y, Huang L, et al. Web Content Extraction Using Clustering with Web Structure[C]// International Symposium on Neural Networks. Springer, Cham, 2017:95-103.
华中科技大学 2017年 ISNN会议论文

简介

该文章中文简称为基于WEB结构的聚类Web内容提取,我在通读全文后发现,做者给聚类这件事的笔墨并很少,占文章篇幅更多的是如何比较网页之间的类似性,聚类只是以后处理的一种手段。
该文章提出了一种内容提取算法,以下算法

  1. 从不一样网站中收集网页进行聚类编程

    • 将网页解析成DOM树
    • 根据节点的位置和相同深度的节点数量以及DOM树的深度分配权重
    • 根据给定的公式计算两个页面之间的类似度
  2. 从聚类获得的同一组页面中,删除相同的页面部分,剩余的即是WEB内容。

聚类算法

K-means 须要在一开始时便分配聚簇数量,所以不适用
Canopy 聚类算法(一个快速,简单,但没有那么精确的算法,算法简介参考这篇文章dom

做者最终选择了Canopy算法,由于该算法逻辑简单,易于收敛,不过做者没有给出Canopy算法中的T1和T2是如何取的,应该也知道这一块会被编辑诟病吧。性能

网页结构类似度量方法

这一块就是全文的重点了,聚类只是用来得到与目标页面类似的一些页面,便于第二步删除类似部分(如顶栏/侧栏/广告)。网站

clipboard.png

首先来看一下最简单的一个分配权重和比较类似度的方法:spa

  1. 假设整个DOM树的权重为1,深度为1的节点数量为N,所以,每一个节点获得的权重为1 / N;
  2. 将节点得到的权重平均分配给他的子节点。
  3. 迭代地分配权重到达叶节点。
  4. 对于叶节点x和y,若是x等于y,则x和y的类似度是它们获得的权重,不然,类似性为0.对于非叶节点x和y,若是x等于y,类似度是其子节点类似度的总和,若是不类似,则类似度为0。
    定义:对于非叶节点x和y,若是标记名,元素集值和两个节点的子节点数相同,则 x = y
  5. 两个DOM树的类似性等于其根节点的类似性。

这个算法会遇到一种状况,就是在两个比较的dom树中,当b和c分支都被断定相同,而a分支被断定不一样(也就是说两个网页除了顶部栏以外其余都同样),两个网页的类似度就会足够的大,而被断定为类似的页面(嗯?难道不是吗?).net

因而,做者提出了基于权重动态规划的结构类似性测量方法(SMDPW)3d

做者发现静态区域始终位于页面的顶部和底部,而内容区域始终位于中心。换句话说,区域越靠近页面的末端,它就越多是静态区域。所以,权重经过动态编程分配,越接近区域所在页面的末端,权重越大。此分布策略仅适用于深度为1的节点。其余节点得到的权重是经过平均分配其父节点的权重来计算的。(蛤?这不合理吧,那a的权重不就偏大了,你把b的权重调大我都能接受啊)blog

clipboard.png

clipboard.png

clipboard.png

提取内容

emmm,做者只用了一小段文字描述,反正就是在找到类似的页面的基础上,沿着DOM树进行对比,删除相同的或者类似度高的内容,剩下的就是data了。ip

实验结果

实验数据集

数据集都是新闻类网页,从五个中文新闻网站中收集一百个页面(???这最多也就五类吧,并且也就五百个,好像有点少了吧)
结果与验证

性能指标

clipboard.png

what? 这?这?这? 比较文本长度就OK了? 那不是只要包含新闻正文不就行了。

算法对比

clipboard.png

clipboard.png

说好的中文网页呢……难道是CNN中文网?

总结

实在有好多槽点想吐一吐,算了,人家毕竟是985发表的ISNN会议文章,尊重做者吧。

相关文章
相关标签/搜索