标点符(钱魏 Way)

基于标签密度的自适应正文提取方法

一、标签密度和锚文本密度

HTML 网页源码中主要包括文本和标签两大元素,并且它们是混合共存的。根据标签的作用可以将H TML 标签分为容器型标签和描述型标签。通过每一对容器型标签中所包括的标签数与总文本数的比(标签密度) 和锚文本数与总文本数的比(锚文本密度) ,来说明网页中不同区域标签和锚文本的稠密度,其中TagDensity 为标签密度,AnchoDensity 为锚文本密度,TagNum 是标签中所包含的标签个数,All Text2Num 是标签中所包含的总文本个数,Ancho TextNum 是标签中的锚文本个数,则有TagDensity = TagNum / All TextNum , AnchoDensity = Ancho TextNum/ All TextNum。

二、自适应的正文信息提取

通过对中文网站正文型网页源码的观察,可以发现:

  1. 正文型网页正文部分的标签密度和锚文本密度比较稀疏;
  2. 正文型网页正文部分的不同区域标签密度和锚文本密度会有波动,但波动幅度不大;
  3. 正文型网页的非正文部分的标签密度和锚文本密度比较稠密. 以上现象与当前互联网中正文型网页的实际情况相符,同时也说明了本文算法的应用范围.

1、正文信息判别规则

标签密度法的核心是通过判断容器型标签中标签密度和锚文本密度来区别正文信息和非正文信息. 设T_ TagDensity 为万维网中正文网页中正文区域标签密度的统计平均值(此值是恒
定阈值) , T_AnchoDensity 为网页正文部分的锚文本密度的阈值. 根据二中的第①和第③现象,正文信息提取的判定条件如下.

  • 条件1 :在DOM 树中只对属于容器型的标签节点进行选取;
  • 条件2 :Node. TagDensity < T_ TagDensity ;
  • 条件3 :Node. AnchoDensity < T_AnchoDensity.

满足这些条件的节点大部分只包含正文信息.

2、自适应的正文信息判别

T_ TagDensity 是针对互联网中绝大部分网页的一个宏观统计值,其值并不能精确反映具体网页标签密度的分布情况,特别是在正文区中夹杂的噪音块,它可能会因满足条件2 而导致误判,因此动态地调节标签密度阈值,反映正文部分不同区域标签密度的变化趋势,从而去除正文区中的噪音块. 根据条件2 ,设T_ TagMinDensity 为正文部分不同区域的标签密度的变化值,通过学习前面正文区的TagDensity 来调整其值,另外它还必须在T_ TagDensity 约束之下,假设T_ TagDensity 和TagDensity 的
影响因子各为015. T_ TagMinDensity 变化公式为T_ TagMinDensity = ( TagDensity + T_ TagDensity) /2.由此可以得到满足自适应性的判别条件,即条件4 :Node. TagDensity < T_ TagMinDensity. 结合正文信息判别条件,就可以自适应性地对DOM 树节点进行选取,从而提取正文信息.

三、参数选取

算法中T_ TagDensity , T_AnchoDensity 和T_ TagMinD2ensity 是根据文中提到的现象得到反应正文型Web 网页特征的3 个参数,其值选取的好坏直接影响算法效果.
1) T_ TagDensity :分别从10 个主流中文网站随机抽取20个正文型网页,并对其正文区和非正文区中的标签密度进行统计,结果见图1. 可以看出,正文部分的标签密度值都没有超过0. 05 ,而非正文区的标签密度基本大于0. 15 ,为了保证不遗漏正文信息,所以一般阈值可以取: T_ TagDensity = 0106.

2) T_AnchoDensity :因为正文型网页正文部分的锚文本密度一定是小于整个网页的锚文本密度的,而非正文部分的锚文本密度是远远大于网页平均值,所以令: T_AnchoDensity =Root . AnchoDensity.

3) T_ TagMinDensity : 反映正文部分不同区域标签密度的变化趋势,因为它是在T_ TagDensity 约束之下的次约束条件,所以它的初始值与T_ TagDensity 相等.

文章作者:孙皓, 董守斌 (华南理工大学广东省计算机网络重点实验室 广州510640)

码字很辛苦,转载请注明来自标点符《基于标签密度的自适应正文提取方法》

评论