网页噪声去除可以看作是一个分类问题:把一个网页片断分为”有用信息“和”噪声“。在有大量训练样本的情况下可以使用SVM进行分类。
一种直接的想法把HTML转换成DOM树,对每个节点计算链接文字比率,如果高于一定的阈值,就认为它不是正文,而是页眉、页脚、广告等其他信息。
图1.两个网页的DOM结构
图2.合并之后的网站风格树
在网站风格树(Site Style Tree,SST)中定义两类节点:风格节点和元素节点。
风格节点由2部分组成(ES,n)
ES是风格节点中所包含的元素节点的序列。图2中虚线框里的都是风格节点。
n代表拥有该风格的网页数量。对于风格节点TABLE-IMG-TABLE其n=2,对于风格节点P-IMG-P-A其n=1。
元素节点E由3部分组成(TAG,Attr,Ss)
TAG是标签名,例如TABLE和P。
Attr是TAG的CSS属性。
Ss是E下面的一套风格节点(这一由风格节点组成的链表)。
噪声节点的定义基于以一假设:
通过结合呈现重要性和内容重要性给出元素节点的重要性。
利用熵来衡量呈现风格的重要性。
对于某元素节点E,设m是包含E的网页数量,l是E的子风格节点数量。则E的节点重要度为
pi是出现第i个风格节点的可能性。注意到m==1时,NodeImp(E)=0。
综合重要性即综合考虑节点及其子节点的重要性。由于非叶子节点没有子节点,所以综合重要性的计算方法对于叶子节点和内部节点是不一样的。
先来年内部节点综合重要度的计算方法:
r是衰老因子,设置为0.9。当l较大时,它增加了NodeImp(E)的权重。这意味着,一个元素节点拥有的子风格节点越多,其自身的节点重要度越关键;拥有的风格节点越少,其子代的综合重要度越关键。
CompImp(si)是E下第i个风格节点的综合重要度,其定义为:
可以看到(2)(3)构成了递归计算,在实际计算中需要从树的最底层往上计算节点重要度。那最底层的叶子节点的综合重要度怎么计算呢?
所谓的叶子节点即没有html标签,只有实际内容(文字、图片、链接等)。上图中P有3个风格节点:IMG、E和TABLE,其中E来自于3个网页,这3个网页的内容还各不相同。
可以对文本分词后来提取特征。E中的特征有4个:来源、新华网、人民网、CCTV。先计算这些特征的熵(即一个特征来自于哪个网页的不确定度):
m是网页的数量,上例中m=3,pi是特征来自第i个网页的概率。"来源”来自于哪个网页是完全不确定的,其熵为1。而“新华网”、“人民网”、“CCTV”来自于哪个网页是完全确定的,其熵为0。注意到m=1时熵都为0。
然后计算叶子节点E的综合重要度:
如果一个元素节点及它所有后代的综合重要度都小于一个阈值,则它是噪声节点。
遍历SST,只要元素节点E有一个后代不是噪声节点,那E就不是噪声节点。
评论加载中...
|
Copyright@ 2011-2017 版权所有:大连仟亿科技有限公司 辽ICP备11013762-1号 google网站地图 百度网站地图 网站地图
公司地址:大连市沙河口区中山路692号辰熙星海国际2215 客服电话:0411-39943997 QQ:2088827823 42286563
法律声明:未经许可,任何模仿本站模板、转载本站内容等行为者,本站保留追究其法律责任的权利! 隐私权政策声明